日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

在密碼機(jī)HSM之間復(fù)制密鑰

更新時(shí)間:

當(dāng)您需要將一個(gè)密碼機(jī)中的密鑰復(fù)制到另一個(gè)密碼機(jī)時(shí),可以在原密碼機(jī)中將密鑰導(dǎo)出,然后導(dǎo)入到另外一個(gè)密碼機(jī)中。本文介紹如何在兩臺(tái)密碼機(jī)之間復(fù)制密鑰。

適用的密碼機(jī)類(lèi)型

通用密碼機(jī)(FIPS)

適用場(chǎng)景

兩臺(tái)密碼機(jī)不在同一集群,密鑰無(wú)法自動(dòng)同步的場(chǎng)景。

說(shuō)明

兩臺(tái)密碼機(jī)屬于同一集群時(shí),集群中的密碼機(jī)信息會(huì)自動(dòng)同步,您無(wú)需復(fù)制密鑰。

前提條件

已啟動(dòng)HSM客戶(hù)端代理(hsm_proxy)。具體操作,請(qǐng)參見(jiàn)啟動(dòng)HSM客戶(hù)端(hsm_proxy)

使用的工具

key_mgmt_tool命令行工具。詳細(xì)介紹,請(qǐng)參見(jiàn)key_mgmt_tool

執(zhí)行本文檔操作前,請(qǐng)通過(guò)key_mgmt_tool(密碼機(jī)密鑰管理工具)并使用CU用戶(hù)登錄,命令如下。

說(shuō)明
  • 請(qǐng)將/opt/hsm/bin/key_mgmt_tool替換為真實(shí)路徑。

  • 請(qǐng)將<yourCuUserName><yourCuUserPassword>替換真實(shí)CU用戶(hù)名、密碼。

$/opt/hsm/bin/key_mgmt_tool 
Command: loginHSM -u CU -s <yourCuUserName> -p <yourCuUserPassword>

復(fù)制對(duì)稱(chēng)密鑰

以將密碼機(jī)A中的對(duì)稱(chēng)密鑰,復(fù)制到密碼機(jī)B中為例介紹。其中:

  • 被復(fù)制的密鑰為AES 256位密鑰。

  • 封裝密鑰采用RSA 2048位密鑰,公鑰指數(shù)使用65537。

  • 導(dǎo)出復(fù)制的密鑰時(shí),使用RSA_OAEP(SHA256)封裝和解封裝方法。

  1. 在密碼機(jī)B中,生成并導(dǎo)出封裝密鑰。

    1. 執(zhí)行genRSAKeyPair命令,生成一個(gè)RSA密鑰作為封裝密鑰。

      Command:  genRSAKeyPair -m 2048 -e 65537 -l rsa_wrapping_key

      參數(shù)

      說(shuō)明

      -m

      密鑰長(zhǎng)度。

      -e

      公鑰指數(shù)。取值在65537~2^31-1之間,且為奇數(shù)。

      -l

      密鑰標(biāo)簽。

      預(yù)期輸出:

      	Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS
        Cfm3GenerateKeyPair:    public key handle: 33    private key handle: 32
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    2. 執(zhí)行exportPubKey命令,導(dǎo)出RSA公鑰。

      Command:  exportPubKey -k 33 -out rsa_wrapping_key.pub 

      參數(shù)

      說(shuō)明

      -k

      公鑰的標(biāo)識(shí)。

      -out

      導(dǎo)出后的公鑰文件名。

      預(yù)期輸出:

      	PEM formatted public key is written to rsa_wrapping_key.pub
      	Cfm3ExportPubKey returned: 0x00 : HSM Return: SUCCESS
  2. 在密碼機(jī)A中,使用密碼機(jī)B中導(dǎo)出的RSA公鑰,封裝要復(fù)制的對(duì)稱(chēng)密鑰。

    1. 執(zhí)行genSymKey命令,生成對(duì)稱(chēng)密鑰。如果您已有對(duì)稱(chēng)密鑰,請(qǐng)?zhí)^(guò)本步驟。

      Command:  genSymKey -t 31 -s 32 -l mySymmetricKey

      參數(shù)

      說(shuō)明

      -t

      密鑰類(lèi)型。取值:

      • 16:GENERIC_SECRET

      • 21:3DES

      • 31:AES

      -s

      密鑰長(zhǎng)度。單位為字節(jié)。

      • AES類(lèi)型的密鑰:取值為16、 24或32。

      • 3DES類(lèi)型的密鑰:取值為24。

      • GENERIC_SECRET類(lèi)型的密鑰:取值<= 800。

      -l

      密鑰標(biāo)簽。

      預(yù)期輸出:

      Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS
      	Symmetric Key Created.  Key Handle: 29
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    2. 執(zhí)行importPubKey命令,導(dǎo)入從密碼機(jī)B獲取的RSA公鑰。

      Command:  importPubKey -sess -l rsa_pub_key -f rsa_wrapping_key.pub

      參數(shù)

      說(shuō)明

      -sess

      密鑰用于會(huì)話。表示它是臨時(shí)使用,而非長(zhǎng)期存儲(chǔ)。

      -l

      密鑰標(biāo)簽。

      -f

      公鑰的文件名。

      預(yù)期輸出:

      	Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS
        Public Key Handle: 28 
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    3. 執(zhí)行wrapKey命令,使用上述RSA公鑰進(jìn)行對(duì)稱(chēng)密鑰的封裝并保存到文件。

      Command:  wrapKey -k 29 -w 28 -m 8 -t 3 -out symmetric_key_wrapped_with_rsa.wrap

      參數(shù)

      說(shuō)明

      -k

      待封裝的密鑰的標(biāo)識(shí)。

      -w

      封裝密鑰的標(biāo)識(shí)。

      -m

      封裝方法。取值:

      • 0:AES_CBC_PAD (如果設(shè)置了-noheader,則必須提供 IV)

      • 1:AES_CBC (如果設(shè)置了-noheader,則必須提供 IV)

      • 4:CLOUDHSM_AES_KEY_WRAP

      • 5:NIST_AES_WRAP_NO_PAD (密鑰長(zhǎng)度必須是 8 字節(jié)的倍數(shù))

      • 6(默認(rèn)值):NIST_AES_WRAP_PAD

      • 7:RSA_AES

      • 8:RSA_OAEP (密鑰長(zhǎng)度必須 <= (Mod_len-2*Hash_len-2) 字節(jié))

      • 9:NIST_TDEA_WRAP (密鑰長(zhǎng)度必須是 4 字節(jié)的倍數(shù))

      • 10:AES_GCM

      • 11:CLOUDHSM_AES_GCM

      • 12:RSA_PKCS (密鑰長(zhǎng)度必須 <= (Mod_len-11) 字節(jié))

      -t

      哈希類(lèi)型。封裝方法為RSA_AES(7)、RSA_OAEP(8)時(shí),需要設(shè)置。取值:

      • 2(默認(rèn)值):SHA1

      • 3:SHA256

      • 4:SHA384

      • 5:SHA512

      • 6:SHA224

      -out

      密鑰封裝后,保存的文件名稱(chēng)。

      預(yù)期輸出:

      	Cfm2WrapKey5 returned: 0x00 : HSM Return: SUCCESS
      	Key Wrapped.
      	Wrapped Key written to file "symmetric_key_wrapped_with_rsa.wrap" length 525
  3. 在密碼機(jī)B中,執(zhí)行unWrapKey命令,使用RSA私鑰對(duì)已封裝的對(duì)稱(chēng)密鑰進(jìn)行解封裝并存入密碼機(jī)。

    Command:  unWrapKey  -f symmetric_key_wrapped_with_rsa.wrap -w 32 -m 8 -t 3 

    參數(shù)

    說(shuō)明

    -f

    封裝后的密鑰文件名稱(chēng)。

    -w

    封裝密鑰的標(biāo)識(shí)。

    -m

    封裝方法。取值:

    • 0:AES_CBC_PAD (如果設(shè)置了-noheader,則必須提供 IV)

    • 1:AES_CBC (如果設(shè)置了-noheader,則必須提供 IV)

    • 4:CLOUDHSM_AES_KEY_WRAP

    • 5:NIST_AES_WRAP_NO_PAD

    • 6(默認(rèn)值):NIST_AES_WRAP_PAD

    • 7:RSA_AES

    • 8:RSA_OAEP

    • 9:NIST_TDEA_WRAP

    • 10:AES_GCM

    • 11:CLOUDHSM_AES_GCM

    • 12:RSA_PKCS

    -t

    哈希類(lèi)型。封裝方法為RSA_AES(7)、RSA_OAEP(8)時(shí),需要設(shè)置。取值:

    • 2(默認(rèn)值):SHA1

    • 3:SHA256

    • 4:SHA384

    • 5:SHA512

    • 6:SHA224

    	Cfm2UnWrapKey5 returned: 0x00 : HSM Return: SUCCESS
    	Key Unwrapped.  Key Handle: 31 
    	Cluster Status:
    	Node id 0 status: 0x00000000 : HSM Return: SUCCESS

復(fù)制非對(duì)稱(chēng)密鑰

以將密碼機(jī)A中的非對(duì)稱(chēng)密鑰,復(fù)制到密碼機(jī)B中為例介紹。其中:

  • 被復(fù)制的密鑰為EC secp256k1密鑰。

  • 封裝密鑰采用RSA 2048位密鑰,公鑰指數(shù)使用65537。

  • 導(dǎo)出復(fù)制的密鑰時(shí),使用RSA_OAEP(SHA256)封裝和解封裝方法。

  1. 在密碼機(jī)B中,生成并導(dǎo)出封裝密鑰。

    1. 執(zhí)行genRSAKeyPair命令,生成一個(gè)RSA密鑰作為封裝密鑰。

      Command:  genRSAKeyPair -m 2048 -e 65537 -l rsa_wrapping_key

      參數(shù)

      說(shuō)明

      -m

      密鑰長(zhǎng)度。

      -e

      公鑰指數(shù)。取值在65537~2^31-1之間,且為奇數(shù)。

      -l

      密鑰標(biāo)簽。

      預(yù)期輸出:

      	Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS
        Cfm3GenerateKeyPair:    public key handle: 33    private key handle: 32
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    2. 執(zhí)行exportPubKey命令,導(dǎo)出RSA公鑰。

      Command:  exportPubKey -k 33 -out rsa_wrapping_key.pub 

      參數(shù)

      說(shuō)明

      -k

      公鑰的標(biāo)識(shí)。

      -out

      導(dǎo)出后的公鑰文件名。

      預(yù)期輸出:

      	PEM formatted public key is written to rsa_wrapping_key.pub
      	Cfm3ExportPubKey returned: 0x00 : HSM Return: SUCCESS
  2. 在密碼機(jī)A中,使用密碼機(jī)B中導(dǎo)出的RSA公鑰,封裝要復(fù)制的非對(duì)稱(chēng)密鑰。

    1. 執(zhí)行genECCKeyPair命令,生成非對(duì)稱(chēng)密鑰。如果您已有非對(duì)稱(chēng)密鑰,請(qǐng)?zhí)^(guò)本步驟。

      Command:   genECCKeyPair -i 16 -l  secp256k1_key

      參數(shù)

      說(shuō)明

      -i

      ECC曲線。取值:1~16。

      -l

      密鑰標(biāo)簽。

      預(yù)期輸出:

      	Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS
      	Cfm3GenerateKeyPair:    public key handle: 29    private key handle: 28
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    2. 執(zhí)行importPubKey命令,導(dǎo)入從密碼機(jī)B獲取的RSA公鑰。

      Command:  importPubKey -sess -l rsa_pub_key -f rsa_wrapping_key.pub

      參數(shù)

      說(shuō)明

      -sess

      密鑰用于會(huì)話。表示它是臨時(shí)使用,而非長(zhǎng)期存儲(chǔ)。

      -l

      密鑰標(biāo)簽。

      -f

      公鑰的文件名。

      預(yù)期輸出:

      	Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS
        Public Key Handle: 31 
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    3. 執(zhí)行wrapKey命令,使用導(dǎo)入的RSA公鑰,對(duì)非對(duì)稱(chēng)密鑰的私鑰進(jìn)行封裝。

      Command:  wrapKey -k 28 -w 31 -m 8 -t 3 -out secp256k1_key_wrapped_with_rsa.wrap

      參數(shù)

      說(shuō)明

      -k

      待封裝的密鑰的標(biāo)識(shí)。

      -w

      封裝密鑰的標(biāo)識(shí)。

      -m

      封裝方法。取值:

      • 0:AES_CBC_PAD (如果設(shè)置了-noheader,則必須提供 IV)

      • 1:AES_CBC (如果設(shè)置了-noheader,則必須提供 IV)

      • 4:CLOUDHSM_AES_KEY_WRAP

      • 5:NIST_AES_WRAP_NO_PAD (密鑰長(zhǎng)度必須是 8 字節(jié)的倍數(shù))

      • 6(默認(rèn)值):NIST_AES_WRAP_PAD

      • 7:RSA_AES

      • 8:RSA_OAEP (密鑰長(zhǎng)度必須 <= (Mod_len-2*Hash_len-2) 字節(jié))

      • 9:NIST_TDEA_WRAP (密鑰長(zhǎng)度必須是 4 字節(jié)的倍數(shù))

      • 10:AES_GCM

      • 11:CLOUDHSM_AES_GCM

      • 12:RSA_PKCS (密鑰長(zhǎng)度必須 <= (Mod_len-11) 字節(jié))

      -t

      哈希類(lèi)型。封裝方法為RSA_AES(7)、RSA_OAEP(8)時(shí),需要設(shè)置。取值:

      • 2(默認(rèn)值):SHA1

      • 3:SHA256

      • 4:SHA384

      • 5:SHA512

      • 6:SHA224

      -out

      密鑰封裝后,保存的文件名稱(chēng)。

      預(yù)期輸出:

      	Cfm2WrapKey5 returned: 0x00 : HSM Return: SUCCESS
      	Key Wrapped.
      	Wrapped Key written to file "secp256k1_key_wrapped_with_rsa.wrap" length 515
    4. 執(zhí)行exportPubKey命令,導(dǎo)出非對(duì)稱(chēng)密鑰的公鑰。

      Command:  exportPubKey -k 29 -out secp256k1_key.pub 

      參數(shù)

      說(shuō)明

      -k

      公鑰的標(biāo)識(shí)。

      -out

      導(dǎo)出后的公鑰文件名。

      預(yù)期輸出:

      	PEM formatted public key is written to secp256k1_key.pub
      	Cfm3ExportPubKey returned: 0x00 : HSM Return: SUCCESS
  3. 在密碼機(jī)B中,解封裝非對(duì)稱(chēng)密鑰的私鑰,并導(dǎo)入非對(duì)稱(chēng)密鑰的公鑰。

    1. 執(zhí)行unWrapKey命令,使用RSA私鑰,對(duì)已封裝的非對(duì)稱(chēng)密鑰的私鑰,進(jìn)行解封裝。

      Command:  unWrapKey  -f secp256k1_key_wrapped_with_rsa.wrap -w 32 -m 8 -t 3

      參數(shù)

      說(shuō)明

      -f

      封裝后的密鑰文件名稱(chēng)。

      -w

      封裝密鑰的標(biāo)識(shí)。

      -m

      封裝方法。取值:

      • 0:AES_CBC_PAD (如果設(shè)置了-noheader,則必須提供 IV)

      • 1:AES_CBC (如果設(shè)置了-noheader,則必須提供 IV)

      • 4:CLOUDHSM_AES_KEY_WRAP

      • 5:NIST_AES_WRAP_NO_PAD

      • 6(默認(rèn)值):NIST_AES_WRAP_PAD

      • 7:RSA_AES

      • 8:RSA_OAEP

      • 9:NIST_TDEA_WRAP

      • 10:AES_GCM

      • 11:CLOUDHSM_AES_GCM

      • 12:RSA_PKCS

      -t

      哈希類(lèi)型。封裝方法為RSA_AES(7)、RSA_OAEP(8)時(shí),需要設(shè)置。取值:

      • 2(默認(rèn)值):SHA1

      • 3:SHA256

      • 4:SHA384

      • 5:SHA512

      • 6:SHA224

      預(yù)期輸出:

      	Cfm2UnWrapKey5 returned: 0x00 : HSM Return: SUCCESS
      	Key Unwrapped.  Key Handle: 27 
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS
    2. 執(zhí)行importPubKey命令,導(dǎo)入非對(duì)稱(chēng)密鑰的公鑰。

      Command:  importPubKey -l secp256k1_key_pub_imported -f secp256k1_key.pub

      預(yù)期輸出:

      參數(shù)

      說(shuō)明

      -sess

      密鑰用于會(huì)話。表示它是臨時(shí)使用,而非長(zhǎng)期存儲(chǔ)。

      -l

      密鑰標(biāo)簽。

      -f

      公鑰的文件名。

      	Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS
      Public Key Handle: 26 
      	Cluster Status:
      	Node id 0 status: 0x00000000 : HSM Return: SUCCESS