← Cloudflare SSL/TLS / ssl / keyless-ssl / hardware-security-modules
AWS CloudHSM
Než začnete
Ujistěte se, že máte:
- Vystaven Klastr AWS CloudHSM ↗ .
- Nainstalováno vhodná softwarová knihovna pro PKCS#11 ↗.
1. Import veřejného a soukromého klíče do HSM
Než veřejný klíč importujete, extrahujte ho z certifikátu, který vám poskytla vaše CA. Obsah svého privátního klíče umístěte do privkey.pem a poté spusťte následující (certificate.pem nahraďte svým skutečným certifikátem), abyste naplnili pubkey.pm.
keyserver$ openssl x509 -pubkey -noout -in certificate.pem > pubkey.pemPřihlaste se do CloudHSM pomocí dříve vytvořeného crypto user ↗ (CU) a vygenerovat klíč pro šifrování klíče, který se použije k importu vašeho privátního klíče.
keyserver$ /opt/cloudhsm/bin/key_mgmt_util
Command: loginHSM -u CU -s patrick -p donahue
Command: genSymKey -t 31 -s 16 -sess -l import-wrapping-key
...
Symmetric Key Created. Key Handle: 658
...S využitím handle klíče vráceného výše naimportujte privátní a veřejný klíč a poté se odhlaste z HSM:
Command: importPrivateKey -f privkey.pem -l mykey -id 1 -w 658
...
Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS
Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS
Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS
...
Private Key Unwrapped. Key Handle: 658
Command: importPubKey -f pubkey.pem -l mykey -id 1
Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS
...
Public Key Handle: 941
Command: logoutHSM
Command: exit2. Úprava konfiguračního souboru gokeyless a restart služby
Jakmile jsou klíče na místě, musíme upravit konfigurační soubor, který server klíčů načte při spuštění. Změňte object=mykey a pin-value=username:password hodnoty tak, aby odpovídaly zadanému štítku klíče a vámi vytvořenému uživateli CU.
Otevřete /etc/keyless/gokeyless.yaml a bezprostředně poté:
private_key_stores:
- dir: /etc/keyless/keyspřidat:
- uri: pkcs11:token=cavium;object=mykey?module-path=/opt/cloudhsm/lib/libcloudhsm_pkcs11_standard.so&pin-value=patrick:donahue&max-sessions=1Po uložení konfiguračního souboru restartujte gokeyless a ověřte, že se úspěšně spustil.
sudo systemctl restart gokeyless.service
sudo systemctl status gokeyless.service -l