我必须开发一个使用另一个应用程序生成CSR的应用程序。生成CSR后,我必须将此CSR以及公钥的SHA256哈希提供给CA.问题是生成CSR的应用程序不会生成散列。
如何生成哈希码?
我可以使用此特定CSR创建密钥库对象,然后从中提取哈希值吗?
或者任何人都可以推荐任何其他技术吗?
答案 0 :(得分:1)
您的问题缺少一些细节,例如您正在开发的语言,如果您需要以编程方式执行此操作,或者命令行OpenSSL是一个选项。
您可以使用以下OpenSSL命令行执行此操作(我确信有一种与OpenSSL C库相同的方法)。
# Extract public key from CSR
openssl req -noout -in my.csr -pubkey > pubkey.pem
# Convert public key to DER format
openssl rsa -in pubkey.pem -outform der -out pubkey.der
# Take the SHA256 hash of the public key
openssl dgst -sha256 pubkey.der