加密密钥材料

<p>使用获取到的加密公钥对密钥材料进行加密操作。本示例中采用OpenSSL方式加密密钥材料。</p> <p><strong><span style="font-size:18px">背景信息</span></strong></p> <p>由于加密公钥是进行BASE64编码后的字符串,因此在使用公钥进行加密前需要对其进行BASE64解码操作。</p> <p>加密完成后,对加密后的密钥材料进行BASE64编码的字符串保存,然后与导入令牌一起,作为密钥材料参数进行密钥材料导入。</p> <p><strong><span style="font-size:18px">前提条件</span></strong></p> <p>在加密密钥材料之前,您需要准备好待加密的密钥材料。密钥材料时256位的对称密钥。您也可以使用如下命令生成一个256位的对称密钥,并将其保存在名为KeyMaterial.bin的文件中。</p> <pre> <code>openssl rand -out Plain KeyMaterial.bin 32</code></pre> <p><strong><span style="font-size:18px">操作步骤</span></strong></p> <p>1.&nbsp;&nbsp;&nbsp;&nbsp;将加密公钥进行BASE64解码。</p> <pre> <code>openssl enc -d -base64 -A -in PublicKey_base64.txt -out PublicKey.bin </code></pre> <p>2.&nbsp;&nbsp;&nbsp;&nbsp;根据不同的加密算法加密密钥材料。</p> <p>&nbsp; &nbsp; &nbsp;<img src="https://obs-cn-shanghai.yun.pingan.com/pacloud/20192507111841-1eff002d9db6.png" style="height:26px; margin:0px; width:65px" />加密密钥材料使用的加密算法需要与获取导入密钥材料参数时所指定的加密算法保持一致。</p> <ul> <li>RSAES_PKCS1_V1_5</li> </ul> <pre> <code>openssl rsautl -encrypt -in KeyMaterial.bin -pkcs -inkey PublicKey.bin -keyform DER -pubin -out EncryptedKeyMaterial.bin</code></pre> <ul> <li>&nbsp;RSAES_OAEP_SHA_1</li> </ul> <pre> <code>openssl rsautl -encrypt -in KeyMaterial.bin -oaep -inkey PublicKey.bin -keyform DER -pubin -out EncryptedKeyMaterial.bin</code></pre> <ul> <li>RSAES_OAEP_SHA_256</li> </ul> <pre> <code>openssl pkeyutl -in KeyMaterial.bin -encrypt -inkey PublicKey.bin -keyform DER -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -pkeyopt rsa_mgf1_md:sha256 -out EncryptedKeyMaterial.bin -pubin</code></pre> <p>3.&nbsp;&nbsp;&nbsp;&nbsp;将加密后的密钥材料进行base64编码,保存为文本文件。</p> <pre> <code>openssl enc -e -base64 -A -in EncryptedKeyMaterial.bin -out EncryptedKeyMaterial_base64.txt</code></pre> <p>&nbsp; &nbsp; &nbsp;<img src="https://obs-cn-shanghai.yun.pingan.com/pacloud/20192507112040-1880e40597cf.png" style="height:32px; margin:0px; width:65px" />若用户需要使用openssl pkeyutl命令,OpenSSL需要是1.0.2及以上版本。</p>
以上内容是否解决了您的问题?
请补全提交信息!
联系我们

电话咨询

400-151-8800

邮件咨询

fincloud@ocft.com

在线客服

工单支持

解决云产品相关技术问题