Cách tự động hóa việc ký mã EV bằng SignTool.exe hoặc Certutil.exe bằng eSigner CKA (Cloud Key Adapter)

Nội dung liên quan

Bạn muốn tiếp tục học hỏi?

Đăng ký nhận bản tin của SSL.com, luôn cập nhật thông tin và bảo mật.

Hướng dẫn này chỉ cách cài đặt eSigner CKA và sử dụng nó để ký mã tự động và thủ công trên SignTool. 

eSigner CKA (Bộ điều hợp phím đám mây) là một ứng dụng dựa trên Windows sử dụng giao diện CNG (Nhà cung cấp dịch vụ khóa KSP) để cho phép các công cụ như certutil.exe và signtool.exe sử dụng API tương thích với eSigner Cloud Signature Consortium (CSC) cho các hoạt động ký mã doanh nghiệp. Nó hoạt động như một mã thông báo USB ảo và tải các chứng chỉ ký mã vào kho lưu trữ chứng chỉ.

eSigner CKA cho phép các tùy chọn linh hoạt để tự động ký trong các quy trình CI/CD không tồn tại với mã thông báo USB vật lý. Để được hướng dẫn về cách sử dụng eSigner CKA để ký mã tự động trong các công cụ CI/CD bao gồm CircleCI, GitHub Actions, Gitlab CI và Travis CI, vui lòng truy cập trang này: Cách tích hợp eSigner CKA với Công cụ CI/CD để ký mã tự động.

LƯU Ý 

Tài liệu hướng dẫn này yêu cầu những điều sau: 

  1. Đã cấp chứng chỉ EV Code Signing. 
  2. Chứng chỉ ký mã EV hiện phải được đăng ký trên eSigner. Nếu đây không phải là trường hợp, vui lòng tham khảo điều này bài viết hướng dẫn
  3. Một ứng dụng trình xác thực đã cài đặt trên điện thoại di động của bạn như ứng dụng trình xác thực Google.

 

Người dùng có thể ký mã bằng khả năng Ký mã xác thực mở rộng của eSigner. Nhấp vào để có được thêm nhiều thông tin hơn.

TÌM HIỂU THÊM

Hình thành dòng lệnh

Các thành phần của dòng lệnh

Đối với cả ký mã thủ công và tự động, bạn sẽ cần nhập dòng lệnh trên trình soạn thảo văn bản của mình, chẳng hạn như Command Prompt. Dòng lệnh chứa:

  1. Vị trí của SignTool (công cụ dòng lệnh chịu trách nhiệm ký điện tử một tệp và xác minh chữ ký), được đặt trong dấu ngoặc kép: “C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.22000.0 \ x86 \ signtool.exe ”
  2. Sản phẩm / fd sha256 tùy chọn chỉ định Thuật toán băm
  3. Sản phẩm / tr http://ts.ssl.com tùy chọn chỉ định địa chỉ máy chủ dấu thời gian
  4. / td sha256 tùy chọn chỉ định thuật toán thông báo dấu thời gian
  5. Sản phẩm / sha1 tùy chọn chỉ định dấu ngón tay cái mà SignTool sử dụng để tìm chứng chỉ ký mã thích hợp từ kho khóa
  6. Dấu hiệu thu nhỏ chứng chỉ thực tế
  7. Đường dẫn của tệp sẽ được ký, được đặt trong dấu ngoặc kép: “ĐƯỜNG DẪN TỆP SIGNABLE”

Trên tất cả các dòng lệnh sẽ giống như sau: 

“C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” ký /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 dấu vân tay chứng chỉ “ ĐƯỜNG DẪN TẬP TIN CÓ THỂ ĐĂNG KÝ”

Lưu ý: Theo mặc định, SSL.com hỗ trợ dấu thời gian từ khóa ECDSA.

Nếu bạn gặp phải lỗi này: The timestamp certificate does not meet a minimum public key length requirement, bạn nên liên hệ với nhà cung cấp phần mềm của mình để cho phép dấu thời gian từ khóa ECDSA.

Nếu không có cách nào để nhà cung cấp phần mềm của bạn cho phép sử dụng điểm cuối thông thường, thì bạn có thể sử dụng điểm cuối cũ này http://ts.ssl.com/legacy để lấy dấu thời gian từ Đơn vị dấu thời gian RSA.

Định vị Dấu tay chứng chỉ của bạn

Sau đó, khi cài đặt eSigner CKA và thêm chứng chỉ Ký mã EV của bạn vào Cửa hàng chứng chỉ người dùng, bạn sẽ có thể kiểm tra dấu vân tay chứng chỉ EV Code Signing của mình bằng cách nhấn Phím Windows + R và sau đó gõ vào certmgr.msc để truy cập cửa hàng Chứng chỉ Người dùng. Khi cửa sổ trình quản lý chứng chỉ bật lên, hãy nhấp vào Cá nhân thư mục trên bảng điều khiển bên trái và sau đó chọn Giấy chứng nhận thư mục con ở bên phải để xác định chứng chỉ EV Code Signing của bạn.

Nhấp đúp vào chứng chỉ. Chọn chi tiết và sau đó cuộn xuống để hiển thị Dấu tay nhỏ. Sao chép Thumbprint và đưa nó vào dòng lệnh của bạn khi bạn đang ký mã.

Ký mã thủ công

Cài đặt eSigner CKA

Khi chọn Chế độ cài đặt, hãy chọn Ký mã thủ công và sau đó nhấp vào nút OK.

Đăng nhập vào chương trình eSigner CKA

Sau khi cài đặt eSigner CKA, hãy mở chương trình và đăng nhập bằng tên người dùng và mật khẩu tài khoản SSL.com của bạn.

Sau khi đăng nhập thành công, bạn sẽ có thể thấy tên của tổ chức mà chứng chỉ ký mã EV đã được cấp, số sê-ri, ngày hết hạn và EVCS (Extended Validation Code Signing) từ viết tắt.

Viết dòng lệnh trên trình soạn thảo văn bản

Để nhớ lại, dòng lệnh để ký mã trông giống như sau: 

“C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe” ký /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 dấu vân tay chứng chỉ “ ĐƯỜNG DẪN TẬP TIN CÓ THỂ ĐĂNG KÝ”

Khi viết dòng lệnh trên trình soạn thảo văn bản của bạn và nhấn đăng ký hạng mục thi, bạn sẽ thấy thông báo Đã hoàn tất việc thêm cửa hàng bổ sung. Sau đó, một cửa sổ sẽ bật lên yêu cầu bạn đặt tên người dùng và mật khẩu tài khoản SSL.com của mình.

Nhập mật khẩu dùng một lần (OTP) 

Mật khẩu dùng một lần (OTP) cho Chứng chỉ ký mã EV đã đăng ký eSigner của bạn sẽ được gửi đến ứng dụng Authenticator của bạn. Sau khi nhập thành công, Command Prompt sẽ cho biết rằng tệp của bạn đã được ký thành công.

Kiểm tra chữ ký điện tử trên tệp

Sau khi ký mã thành công, bây giờ bạn có thể kiểm tra thông tin chi tiết của chữ ký số trên hồ sơ. Bấm chuột phải vào tệp đã ký, bấm Bất động sản, tiếp theo là Chữ ký số Chuyển hướng. Tại đây, bạn sẽ thấy tên của Người ký, thuật toán thông báo được sử dụng và dấu thời gian của chữ ký. Nhấn vào Chi tiết để biết thêm thông tin về mã đã ký.

Khi nhấp vào Chi tiết, bạn sẽ có thể đọc thông tin nêu rõ Chữ ký điện tử này được. Tiến hành nhấp vào Xem Giấy chứng nhận .

Sau khi nhấp vào Xem Giấy chứng nhận , bạn sẽ đọc thông tin cho biết rằng Chứng chỉ số được cấp cho tệp đã ký đảm bảo rằng nó đến từ nhà xuất bản và bảo vệ nó khỏi sự thay đổi sau khi xuất bản.

Ký mã tự động

Cài đặt eSigner CKA

Khi chọn Chế độ cài đặt, hãy chọn Ký mã tự động và sau đó nhấp vào nút OK.

Lưu tệp khóa chính

Một ghi chú sẽ hiển thị giải thích tầm quan trọng của việc bảo mật Tệp Khoá Chính. Vui lòng đọc nó và sau đó nhấp vào nút OK.

Sau đó, một cửa sổ sẽ bật lên cho phép bạn chọn nơi bạn sẽ lưu tệp Master Key.

Nhập tên người dùng và mật khẩu tài khoản SSL.com của bạn

Nhập tên người dùng và mật khẩu tài khoản SSL.com của bạn.

Nhập eSigner của bạn Mật khẩu một lần dựa trên thời gian (TOTP)

Sau đó, đặt Mật khẩu dùng một lần dựa trên thời gian (TOTP) của bạn. Bạn có thể tìm thấy TOTP của mình được bao gồm trong chi tiết đơn đặt hàng chứng chỉ EV Code Signing trên tài khoản SSL.com của bạn. Nhập mã PIN 4 chữ số mà bạn đã đặt trước đó khi đăng ký đơn hàng cho eSigner và sau đó nhấp vào Hiển thị mã QR để hiển thị TOTP.

TOTP của bạn sẽ được hiển thị trên một hộp có nhãn mã bí mật. Sao chép TOTP, dán vào Bí mật TOTP trường của cửa sổ eSigner CKA và sau đó nhấp vào OK nút để lưu nó. 

Sau khi nhập thông tin đăng nhập tài khoản SSL.com và TOTP, bạn sẽ có thể xem chi tiết chứng chỉ EV Code Signing của mình. Trong trường hợp bạn quyết định cập nhật TOTP của mình, hãy dán TOTP mới vào trường được phân bổ và sau đó nhấp vào Lưu.

Viết dòng lệnh trên trình soạn thảo văn bản

Để nhớ lại, dòng lệnh để ký mã trông giống như sau: 

C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.22000.0 \ x86 \ signtool.exe ”sign / fd sha256 / tr http://ts.ssl.com / td sha256 / sha1 certificate thumbprint“ SIGNABLE ĐƯỜNG DẪN TẬP TIN"

Mở Command Prompt đặt dòng lệnh. Sau khi nhấn enter, bạn sẽ thấy thông báo cho biết Đã hoàn tất việc thêm cửa hàng bổ sung.

Sau một vài giây, bạn sẽ thấy thông báo Đã ký thành công. Điều này cho thấy rằng tệp của bạn đã được ký theo cách tự động mà không cần thêm OTP. 

Kiểm tra sự hiện diện của chữ ký điện tử trên tệp của bạn

Mở vị trí thư mục của tệp đã ký của bạn. Bấm chuột phải vào nó và sau đó bấm Bất động sản. Bấm vào tab Chữ ký số và ở đây bạn sẽ thấy thuật toán băm an toàn được sử dụng có 256 bit. Nhấp vào khoảng trống ngay lập tức hiển thị tên của người ký, thuật toán thông báo và Dấu thời gian. Sau khi nó được đánh dấu, hãy tiếp tục nhấp vào Chi tiết .

Sau đó, một cửa sổ bật lên sẽ hiển thị thông báo rằng chữ ký điện tử trên tệp là hợp lệ cũng như cho biết thời gian cụ thể khi nó được ký. Nhấn vào Xem Giấy chứng nhận để xem thêm thông tin về chứng chỉ số EV Code Signing đã được cấp. 

Bạn sẽ thấy thông tin về chứng chỉ EV Code Signing cho biết rằng chứng chỉ này xác nhận bạn là người tạo ra tệp thực thi và bảo vệ tệp của bạn không bị giả mạo. 

Cách kiểm tra eSigner CKA bằng tài khoản hộp cát của bạn

Cài đặt eSigner CKA

Chọn có cài đặt nó vào không Hướng dẫn sử dụng or Tự động chế độ

**** Lưu ý rằng nếu bạn đã chọn một chế độ, bạn phải cài đặt lại chương trình trước khi có thể kiểm tra nó ở chế độ khác. *****

Mở thư mục con Chuyển vùng của Appdata

 Để kiểm tra eSigner CKA bằng tài khoản hộp cát SSL.com của bạn, bạn phải sửa đổi cài đặt của ứng dụng trên thư mục con Chuyển vùng của thư mục AppData. đi vào %Dữ liệu chương trình% trên thanh tìm kiếm của Windows để đưa bạn trực tiếp đến thư mục con chuyển vùng của AppData.

Mở eSigner Tập tin dữ liệu với trình soạn thảo văn bản của bạn

Mở Người ký điện tửCKA thư mục, định vị tệp esignerapp.data, nhấp chuột phải vào nó và chọn tùy chọn để chỉnh sửa tệp bằng trình chỉnh sửa văn bản của bạn, trong trường hợp này Notepad + +

Khi mở trình soạn thảo văn bản, bạn sẽ thấy các bộ giá trị bên dưới.

Bạn có thể tách các bộ giá trị thành các hàng kế tiếp để có thể chỉnh sửa chúng dễ dàng hơn. 

Ký kiểm tra chế độ thủ công

Để kiểm tra ký ở chế độ Thủ công, các giá trị sau phải có:

  1. ID khách hàng phải là: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Thêm -cố gắng trên api_url
    Trước: “api_url”: ”https: //cs.ssl.com / csc / v0 /
    Sau: “api_url”: ”https://cs-thử.ssl.com / csc / v0 /"
  3. Thay thế đăng nhập với oauth-sandbox trên auth_url
    Trước: “auth_url”: ”https: //đăng nhập.ssl.com / oauth2 / mã thông báo ”
    Sau: “auth_url”: ”https: //oauth-sandbox.ssl.com / oauth2 / mã thông báo ”
  4. “Cred_mode”: 0
  5. “Master_key”: null

Ký kiểm tra chế độ tự động

Để kiểm tra đăng nhập ở chế độ Tự động, các giá trị sau phải có:

  1. ID khách hàng phải là: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Thêm -cố gắng trên api_url
    Trước: “api_url”: ”https: //cs.ssl.com / csc / v0 /
    Sau: “api_url”: ”https://cs-thử.ssl.com / csc / v0 /"
  3. Thay thế đăng nhập với oauth-sandbox trên auth_url
    Trước: “auth_url”: ”https: //đăng nhập.ssl.com / oauth2 / mã thông báo ”
    Sau: “auth_url”: ”https: //oauth-sandbox.ssl.com / oauth2 / mã thông báo ”
  4. “Cred_mode”: 1
  5. Thay thế vô giá trị trên master_key với đường dẫn tệp chính xác của khóa chủ tập tin.
    Khi cài đặt eSigner CKA ở chế độ tự động nhằm mục đích thử nghiệm, bạn phải cung cấp thông tin đăng nhập tài khoản sandbox của mình. Lý do là vì trong ký mã tự động, thông tin đăng nhập được mã hóa bằng Master key. Nếu bạn nhập thông tin đăng nhập sản xuất khi cài đặt và sau đó thay đổi các giá trị trên tệp esignerapp.data theo định dạng kiểm tra tự động, bạn sẽ không thể tiến hành kiểm tra vì tên người dùng và mật khẩu bạn đã cung cấp không có trong môi trường kiểm tra hộp cát.

Đăng nhập vào eSigner CKA bằng thông tin đăng nhập tài khoản hộp cát SSL.com của bạn

Sau khi thay đổi các giá trị trên esignerapp.data, bây giờ bạn có thể kiểm tra chứng chỉ ký mã EV từ hộp cát của mình theo các bước tương tự đã nêu trước đó để có chứng chỉ trực tiếp.

Cách ký tệp Bộ thí nghiệm phần cứng (HLK) bằng eSigner CKA và HLKSigntool

Hardware Lab Kit là một công cụ để kiểm tra và chuẩn bị trình điều khiển chế độ hạt nhân để đệ trình cho Microsoft. Hiện tại eSigner CKA cũng yêu cầu cài đặt HLKSigntool để sử dụng trong phần mềm HLK của Microsoft 

eSigner CKA trước tiên phải được cài đặt và định cấu hình (người dùng đã đăng nhập và bộ bí mật TOTP) trước khi chạy HLKSignTool.exe. 

Bước 1. Cài đặt và cấu hình eSigner CKA

Bước 2. Sử dụng HLKSignTool với dòng lệnh bên dưới

Dòng lệnh
Chứng chỉ HLKSignTool.exe_serial “path_to_file”

Ví dụ:

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

Cách ký Macro VBA bằng eSigner CKA

Tải xuống và cài đặt bằng liên kết này Gói giao diện chủ đề Microsoft Office dành cho các dự án VBA ký điện tử bằng liên kết này: https://www.microsoft.com/en-us/download/details.aspx?id=56617

Lưu ý: Một số người dùng có thể gặp phải lỗi khi đăng nhập vì VBA cung cấp hàm băm SHA1 của mã để gửi tới eSigner nhưng eSigner yêu cầu SHA256 trở lên. Để giải quyết điều này. microsoft khuyến nghị những điều sau:

Bạn có thể thêm một DWORD khóa-giá trị đăng ký V1HashTăng cường để chọn một thuật toán băm khác, bên dưới HKCU\PHẦN MỀM\Microsoft\VBA\Security với các quy tắc thuật toán giá trị (1 đến SHA1, 2 đến SHA256, 3 đến SHA384, 4 đến SHA512).

Sau khi cài đặt, hãy thực hiện các bước sau:

  1. Mở dấu nhắc lệnh của quản trị viên và gõ thông tin sau, đường dẫn sẽ là nơi bạn vừa cài đặt các tệp:

    regsvr32.exe

    regsvr32.exe

    Để biết thêm thông tin về cách đăng ký điều khiển OLE, hãy truy cập Trang web của Microsoft.

    Nếu thành công, bạn sẽ thấy thông báo: “DIIRegister Server in đã thành công.”

  2. Cài đặt như sau: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Cài đặt eSigner CKA
  4. Chạy lệnh SignTool để ký macro: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Cách ký các tệp .app bằng eSigner CKA

  1. Tải về Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Lưu ý: Nếu bạn cố gắng ký một .ứng dụng tập tin bằng eSigner CKA mà không cần cài đặt Microsoft trước Ứng dụng Dynamics 365 Business Central, bạn sẽ gặp lỗi SignTool này: Định dạng tệp này không thể được ký vì nó không được nhận dạng.
  2. Mở Dynamics.365.BC.55195.US.DVD.zip và trích xuất nội dung đến vị trí ưa thích của bạn.
  3. Mở setup.exe cho microsoft Dynamics 365 Business Central và nhấp vào Tiếp theo> .
  4. Đọc Điều khoản cấp phép phần mềm của Microsoft và sau đó nhấp vào Tôi chấp nhận > .
  5. Chọn Tùy chọn cài đặt nâng cao
  6. Nhấp chuột Chọn một tùy chọn cài đặt.
  7. Chọn của chúng tôi tùy chọn cài đặt.
  8. Nhấn vào Đăng Nhập nút.
  9. Đợi quá trình cài đặt hoàn tất. Sau khi cài đặt thành công, nhấp vào Đóng .
  10. Ký tệp .app của bạn trên SignTool: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Cách ký file vsix bằng eSigner CKA

  1. Tải xuống SDK lõi Dotnet: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Cài đặt OpenVsixSignTool
    dotnet tool install -g OpenVsixSignTool
  3. Sử dụng lệnh ký hiệu này:
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

Cách sử dụng Quét phần mềm độc hại trên eSigner CKA

hướng dẫn:

  1. Đăng nhập vào tài khoản SSL.com của bạn. Nhấp vào tab đơn đặt hàng theo sau là tải về liên kết chứng chỉ của bạn để hiển thị chi tiết của nó. Cuộn xuống CHỨNG NHẬN KÝ và tìm phần hiển thị thông tin xác thực chứng chỉ eSigner của bạn. Đảm bảo rằng các nút radio có nội dung đã bật thông tin đăng nhập và đã bật trình chặn phần mềm độc hại được chọn.
  2. Cài đặt Bộ điều hợp khóa đám mây eSigner.
  3. Cài đặt eSigner CodeSignTool. Nhấp chuột tại đây để tải xuống eSigner CodeSignTool.
  4. Quét mã trên CodeSignTool bằng lệnh sau: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Sử dụng Sign Tool để ký mã bằng eSigner CKA bằng lệnh sau: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

Tham số:

  • -input_file_path=<PATH>: Đường dẫn của đối tượng mã cần ký.
  • -username=<USERNAME>SSL.com tài khoản người dùng
  • -password=<PASSWORD>SSL.com mật khẩu tài khoản.
  • -program_name=<PROGRAM_NAME>: Tên chương trình
  • -credential_id=<CREDENTIAL_ID>: ID thông tin xác thực để ký chứng chỉ. ID thông tin xác thực eSigner của bạn nằm trong SSL.com trang đặt hàng chứng chỉ.

Luôn cập nhật thông tin và bảo mật

SSL.com là công ty hàng đầu thế giới về an ninh mạng, PKI và chứng chỉ số. Đăng ký để nhận tin tức, thủ thuật và thông báo sản phẩm mới nhất trong ngành từ SSL.com.

Chúng tôi rất mong nhận được phản hồi của bạn

Hãy tham gia cuộc khảo sát của chúng tôi và cho chúng tôi biết suy nghĩ của bạn về lần mua hàng gần đây của bạn.