Được rồi, đây là câu trả lời từ bộ phận hỗ trợ AWS - hy vọng họ sẽ thêm câu trả lời đó vào tài liệu của họ
Xác định các phần xử lý tệp CloudHSM cho khóa riêng tư và khóa chung (bạn có thể thực hiện việc này bằng cách kết xuất mô-đun từ chứng chỉ và sử dụng các công cụ hsm để tìm kiếm khóa. Tuy nhiên, tôi đã báo cáo về các phần xử lý trước khi tạo CSR của mình và sau đó để tôi có thể thêm chúng vào tài liệu bảo mật của tôi - vì vậy tôi không cần phải làm điều đó
Tạo vùng chứa KSP
C:\Program Files\Amazon\CloudHSM>import_key.exe -từ HSM
-privateKeyHandle <xử lý khóa riêng> -publicKeyHandle <xử lý khóa chung>
Điều này sẽ xuất ra một cái gì đó tương tự như:
"Đã đại diện cho 1 cặp khóa trong Nhà cung cấp dịch vụ lưu trữ khóa Cavium."
Nếu bạn nhận được thông báo lỗi "n3fips_password chưa được đặt", hãy đảm bảo rằng bạn đã đặt thông tin xác thực đăng nhập cho HSM trên hệ thống của mình như được trình bày chi tiết trong [4] bên dưới.
- Chạy lệnh sau để xác minh bộ chứa khóa mới có trong nhà cung cấp dịch vụ lưu trữ khóa của bạn:
C:\Program Files\Amazon\CloudHSM>certutil -key -csp "Nhà cung cấp dịch vụ lưu trữ khóa Cavium"
"Nhà cung cấp dịch vụ lưu trữ khóa Cavius" có thể không phải là tên được đặt cho vùng chứa khóa của bạn. Tên này được lấy từ đầu ra được tạo từ bước đầu tiên.
Nếu vùng chứa được tạo thành công, đầu ra sẽ tương tự như sau:
Nhà cung cấp dịch vụ lưu trữ khóa Cavium:
<tên vùng chứa khóa>
RSA
CertUtil: lệnh -key hoàn tất thành công.
- Tạo một repair.txt để chúng tôi có thể cập nhật kho chứng chỉ để sử dụng vùng chứa
[Tính chất]
11 = "" ; Thêm thuộc tính tên thân thiện
2 = "{văn bản}" ; Thêm thuộc tính Thông tin nhà cung cấp chính
_tiếp_="Vùng chứa=<tên vùng chứa khóa>&"
_tiếp_="Nhà cung cấp=Nhà cung cấp dịch vụ lưu trữ khóa Cavium&"
_tiếp_="Cờ=0&"
_tiếp tục_="KeySpec=2"
- Đảm bảo rằng daemon Máy khách CloudHSM vẫn đang chạy và sử dụng
động từ certutil -repairstore
để cập nhật số sê-ri chứng chỉ. Lệnh này sẽ trông giống như sau:
certutil -repairstore <số sê-ri chứng chỉ> repair.txt của tôi
- Sau khi sửa chữa kho lưu trữ chứng chỉ, vui lòng chạy lệnh sau để xác minh rằng chứng chỉ đã được liên kết đúng với vùng chứa khóa mới thành công:
certutil -lưu trữ của tôi
Bạn sẽ mong đợi một cái gì đó như thế này
================ Chứng chỉ 0 ================
Số sê-ri: <số sê-ri chứng chỉ>
Nhà phát hành: CN=MYRootCA
Không Trước: 2/5/2020 13:38
Không phải sau: 2/5/2021 13:48
Chủ đề: CN=www.mydomain.com, OU=Quản lý chứng chỉ, O=Công nghệ thông tin, L=Houston, S=Texas, C=US
Chứng chỉ không root
Băm chứng chỉ (sha1): 5a...24
Bộ chứa khóa = CNRGSAPriv-...d
Nhà cung cấp = Nhà cung cấp lưu trữ khóa Cavium
Khóa riêng KHÔNG thể xuất được
Kiểm tra mã hóa đã qua
CertUtil: lệnh -store đã hoàn tất thành công.
Nếu Bộ chứa khóa = CNRGSAPriv-...d
hiển thị vùng chứa thích hợp, thì bạn biết mối quan hệ chứng chỉ KSP là tốt
Nếu bạn thấy Khóa riêng KHÔNG thể xuất được
và Kiểm tra mã hóa đã qua
bạn biết rằng bạn đang sử dụng các trình điều khiển tệp chính xác.
Nếu bạn sử dụng signtool, bạn sẽ cần thêm /sm
để buộc nó sử dụng cửa hàng máy móc chứ không phải cửa hàng người dùng vì quá trình trên tạo vùng chứa gắn với cửa hàng máy. Không có lựa chọn xung quanh đó.