gpt4 book ai didi

openssl - 将 RSA 私钥导出到 RSAPublicKey 的命令行工具

转载 作者:行者123 更新时间:2023-12-04 14:17:33 27 4
gpt4 key购买 nike

今天我发现有 2 种带有 PEM 格式 header 的公钥格式,例如

X.509 SubjectPublicKeyInfo** (PEM header: BEGIN PUBLIC KEY)

对应于短标题形式;
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzsQ7MkLsc1lJ8S2WtItN
cfj7pbdB6PVcRHEEjbie97Rqthkr6h2WE5rVj0BZNwFjs4NIUYws2KeQjexZ8NEY
qpcP9iPMjdNgLpU8uL03QMti+y+y0IU4493KxKxjprjtu6no0/O5TwNs+/r+7hmF
/8d+2mhyLJQbtuvQQ6mvg6roCMuqzRS91SObzT1ojCjY+AbUrmVZ5jmklHCv7uah
EoTsB3S7wHCBRmelh2j5fWrRBay4h0IB/NSrt1dO/UEVmDSWGjnG+RsDMhYGZXJ1
hJawhqrbuVRZvrMyzqQ0j1xy5buS6jqSHA3wdOixdI8dDpvBnUDGqEIU6gl2Am7h
pwIDAQAB
-----END PUBLIC KEY-----


PKCS#1 RSAPublicKey* (PEM header: BEGIN RSA PUBLIC KEY)

对应于较长的形式;
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA1+skaD+II3MYF/0iGDcFX/E6b0XzSC8I2RapRaCL84EqY8HxWGKn
+7p34ZJwZx9avX0cCUqvTmS6LtuoSGrdLlahrz1qEnkdYqlo9HXXQiKtA9iwaiId
LxPtCnJnGMOMtolwKAJpsr+l68D41mWvvibrwPbeTJsFi0zvrN0rL1YbVYvw3X85
fQm+wgo3s8I5sOWwlkADvfD37KxteEPitfb2cvGfYo+VIhBqqXQUhQSC3jBAUc5o
+P8U3eu84ln2YqiIg9P/iM99HoKFECJ2+mxWM8oz0rS8oqthVOck+KZ7mBiYjEzW
3ytTJIUpX9Sl88oDqkz7Azku/GVEiJNWSQIDAQAB
-----END RSA PUBLIC KEY-----

我想验证后一种格式的一些公钥,但是我看不到 openssl 命令行工具显然可以做到这一点。 -pubout 导出第一个格式,pubin 格式拒绝第二个 header ;
#openssl rsa -pubin -in rsa.pub -modulus -noout

unable to load Public Key
140154809448256:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: PUBLIC KEY

关于 openssl 的正确命令是什么的任何建议,或者是否有一些工具可以从命令行执行此操作?

最佳答案

我不认为 openssl 命令行程序(rsa)可以读取 PKCS#1 格式。如解释 here PKCS#1 和 PKCS#8 格式之间的区别在于算法标识符。 RSA 加密的算法标识符是“1.2.840.113549.1.1.1”,它的 Base64 版本是“MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A”,您可以安全地使用 RSA 公钥的 Base64 作为前缀,并从“BEGIN RSA PUBLIC”更改页眉/页脚KEY”/“END RSA PUBLIC KEY”到“BEGIN PUBLIC KEY”/“END PUBLIC KEY”。

关于openssl - 将 RSA 私钥导出到 RSAPublicKey 的命令行工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8784905/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com