当前位置: 首页 > 知识库问答 >
问题:

如何在中保存证书中的公钥。pem格式

闻人升
2023-03-14

我使用下面的openssl命令将公钥存储到。pem文件。

openssl> x509 -in E:/mycert.pem -pubkey  -out E:/mypubkey.pem

但是当我尝试使用此命令时,它将整个证书信息存储在mypubkey.pem文件中。

我已经看到我可以保存我的公钥使用

openssl> x509 -pubkey -noout -in cert.pem > pubkey.pem

但这是一个错误。我不能使用“

共有2个答案

任云瀚
2023-03-14

如果是RSA密钥

openssl rsa  -pubout -in my_rsa_key.pem

如果您需要openssh的格式,请参阅使用RSA私钥生成公钥?

请注意,公钥是从私钥生成的,ssh使用标识文件(私钥文件)生成公钥并将其发送到服务器,并通过标识文件中的私钥从服务器取消加密加密令牌。

艾子石
2023-03-14

有几种方法可以做到这一点。

首先,不要进入openssl命令提示符模式,只需从Windows提示符在一个命令行上输入所有内容:

E:\> openssl x509 -pubkey -noout -in cert.pem  > pubkey.pem

如果出于某种原因,您必须使用openssl命令提示符,只需输入所有内容,直到“

openssl> x509 -pubkey -noout -in cert.pem

输出将如下所示:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO
3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX
7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS
j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd
OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ
5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl
FQIDAQAB
-----END PUBLIC KEY-----
 类似资料:
  • 问题内容: 我有PEM格式+ PKCS#1(我想)的RSA公钥: 我想在Python中获取其ASN1编码版本的SHA1摘要。第一步应该是读取此密钥,但是我在PyCrypto中无法做到这一点: PyCrypto的文档说支持PEM + PKCS#1,所以我很困惑。我也尝试过M2Crypto,但事实证明M2Crypto不支持PKCS#1,而仅支持X.509。 问题答案: PyCrypto支持 PKCS#

  • 我正在尝试更新AWS上EC2实例的通配符证书。这些服务器所属的服务由单个服务器和AWS ELB后面的一组服务器组成。 证书已在单个服务器上成功更新和验证。 对于从 ELB 用于自动缩放的映像中提取的实例也是如此。 然而,当我试图添加一个新的证书到负载平衡器时,我得到了上面的错误。我确定证书是正确的,并且是PEM格式的。我首先通过web控制台进行了尝试,然后使用aws aim命令行工具得到了相同的结

  • 问题内容: 我试图从下面的文件中提取RES公钥 这是我做的代码.. 但是它抛出了 java.security.InvalidKeyException:IOException:ObjectIdentifier()-数据不是对象ID 从文件中提取RES公钥的合适方法是什么。 问题答案: X.509证书和X509EncodedKeySpec具有完全不同的结构,并且尝试将证书解析为密钥是行不通的。Java

  • 我有一个集成,在其中验证另一个服务创建的JSON。它们提供了一个公共endpoint来获取要验证的公共证书。 但我正在为此设置一个测试,并希望与Nimbus创建相同的JWT,以使用我自己的私钥对其进行签名。所以我这样做(这是一个嵌套的加密JWT):https://connect2id.com/products/nimbus-jose-jwt/examples/signed-and-encrypte

  • 问题内容: 有什么高级方法可以将X509证书写入PEM格式的字符串中?目前,我正在执行x509cert.encode()将其写入DER格式的字符串中,然后以64为基数对其进行编码,并附加页眉和页脚以创建PEM字符串,但这似乎很糟糕。特别是因为我也必须插入换行符。 问题答案: 这还不错。Java没有提供任何写入PEM文件的功能。您在做什么是正确的方法。即使是KeyTool也会做同样的事情, 如果使用

  • 我的公共在ssh-rsa是: ssh rsa aaaab3nzac1yc2aaaaaadaqabaababaqclaxt5s/wux04oxbt9r59wcl45omau3m0063lfyja7ovqavr7/2kHtLF/LoCQCXSZMny8RTCGDjoXD7G/tGsyHFDHCI//Y1VDLE06AlDzrlu69DQY91 6gkhghgjh3sf6us5hxlihrbsflf8g