ตกลง นี่คือคำตอบจากฝ่ายสนับสนุนของ AWS หวังว่าพวกเขาจะเพิ่มคำตอบนั้นลงในเอกสาร
กำหนดตัวจัดการไฟล์ CloudHSM สำหรับคีย์ส่วนตัวและคีย์สาธารณะ (คุณสามารถทำได้โดยการทิ้งโมดูลัสจากใบรับรองและใช้เครื่องมือ hsm เพื่อค้นหาคีย์ อย่างไรก็ตาม ฉันรายงานเกี่ยวกับการจัดการก่อนที่จะสร้าง CSR ของฉัน และหลังจากนั้นฉันจึงสามารถเพิ่มได้ ไปยังเอกสารที่ปลอดภัยของฉัน - ดังนั้นฉันจึงไม่จำเป็นต้องทำเช่นนั้น
สร้างคอนเทนเนอร์ KSP
C:\Program Files\Amazon\CloudHSM>import_key.exe -จาก HSM
-privateKeyHandle <การจัดการคีย์ส่วนตัว> -publicKeyHandle <การจัดการคีย์สาธารณะ>
สิ่งนี้ควรแสดงผลบางอย่างที่คล้ายกับ:
"แสดง 1 คู่คีย์ใน Cavium Key Storage Provider"
หากคุณได้รับข้อความแสดงข้อผิดพลาด "n3fips_password is not set" ตรวจสอบให้แน่ใจว่าได้ตั้งค่าข้อมูลรับรองการเข้าสู่ระบบสำหรับ HSM ในระบบของคุณตามรายละเอียดใน [4] ด้านล่าง
- รันคำสั่งต่อไปนี้เพื่อตรวจสอบว่าคอนเทนเนอร์คีย์ใหม่อยู่ในผู้ให้บริการที่เก็บคีย์ของคุณ:
C:\Program Files\Amazon\CloudHSM>certutil -key -csp "ผู้ให้บริการที่เก็บคีย์ Cavium"
"ผู้ให้บริการพื้นที่จัดเก็บคีย์ Cavius" อาจไม่ใช่ชื่อที่กำหนดให้กับที่เก็บคีย์ของคุณ ชื่อนี้ได้รับจากเอาต์พุตที่สร้างจากขั้นตอนแรก
หากสร้างคอนเทนเนอร์สำเร็จ ผลลัพธ์ควรคล้ายกับต่อไปนี้:
ผู้ให้บริการพื้นที่จัดเก็บ Cavium Key:
<ชื่อคอนเทนเนอร์คีย์>
อาร์.เอส.เอ
CertUtil: คำสั่ง -key เสร็จสมบูรณ์
- สร้าง repair.txt เพื่อให้เราสามารถอัปเดตที่เก็บใบรับรองเพื่อใช้คอนเทนเนอร์
[คุณสมบัติ]
11 = "" ; เพิ่มคุณสมบัติของชื่อที่จำง่าย
2 = "{ข้อความ}" ; เพิ่มคุณสมบัติข้อมูลผู้ให้บริการหลัก
_continue_="Container=<ชื่อคอนเทนเนอร์หลัก>&"
_continue_="Provider=ผู้ให้บริการที่เก็บคีย์ Cavium&"
_continue_="ธง=0&"
_continue_="KeySpec=2"
- ตรวจสอบให้แน่ใจว่า CloudHSM Client daemon ยังคงทำงานอยู่ และใช้
certutil กริยา -repairstore
เพื่ออัปเดตหมายเลขซีเรียลของใบรับรอง คำสั่งนี้จะมีลักษณะคล้ายกับต่อไปนี้:
certutil -repairstore <หมายเลขซีเรียลใบรับรอง> repair.txt ของฉัน
- หลังจากซ่อมแซมที่เก็บใบรับรองแล้ว โปรดเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าใบรับรองเชื่อมโยงกับคอนเทนเนอร์คีย์ใหม่อย่างถูกต้องแล้ว:
ใบรับรอง - จัดเก็บไฟล์
คุณจะคาดหวังสิ่งนี้
================ ใบรับรอง 0 ================
หมายเลขซีเรียล: <หมายเลขซีเรียลใบรับรอง>
ผู้ออก: CN=MYRootCA
ก่อน: 2/5/2563 13:38 น
NotAfter: 2/5/2564 13:48 น
เรื่อง: CN=www.mydomain.com, OU=การจัดการใบรับรอง, O=เทคโนโลยีสารสนเทศ, L=ฮุสตัน, S=เท็กซัส, C=US
ใบรับรองที่ไม่ใช่รูท
ใบรับรอง Hash(sha1): 5a...24
คีย์คอนเทนเนอร์ = CNGRSAPriv-...ง
ผู้ให้บริการ = ผู้ให้บริการที่เก็บคีย์ Cavium
รหัสส่วนตัวไม่สามารถส่งออกได้
ผ่านการทดสอบการเข้ารหัส
CertUtil: คำสั่ง -store เสร็จสมบูรณ์
ถ้า คีย์คอนเทนเนอร์ = CNGRSAPriv-...ง
แสดงคอนเทนเนอร์ที่เหมาะสม จากนั้นคุณจะรู้ว่าความสัมพันธ์ของใบรับรอง KSP นั้นดี
ถ้าคุณเห็น รหัสส่วนตัวไม่สามารถส่งออกได้
และ ผ่านการทดสอบการเข้ารหัส
คุณรู้ว่าคุณกำลังใช้ตัวจัดการไฟล์ที่ถูกต้อง
หากคุณใช้ signtool คุณจะต้องเพิ่ม /เอสเอ็ม
เพื่อบังคับให้ใช้ที่จัดเก็บเครื่องและไม่ใช่ที่จัดเก็บของผู้ใช้เนื่องจากกระบวนการข้างต้นสร้างคอนเทนเนอร์ที่เชื่อมโยงกับที่เก็บเครื่อง ไม่มีตัวเลือกเกี่ยวกับสิ่งนั้น