0

我尝试通过两种方式创建公钥,

  1. 我创建了自签名证书并将其导出到 .pfx 文件并使用 Openssl 获取包含公钥的 temp.cer 文件

  2. 使用 openssl 生成公钥,如下所示。

    openssl genrsa -out myjira.pem 1024
    
    openssl rsa -in temp.pem -pubout -out temp.pub
    

我正在使用一个应用程序并尝试在其上实现 OAuth。当我从 temp.cer (更长)输入公钥时,它不接受它并说 必须是有效的公钥。java.security.InvalidKeyException:。但是当我从 temp.pub (比另一个短得多)输入公钥时,它会接受它。现在我的问题是这些公钥之间有什么区别?

4

2 回答 2

1

证书文件包含公钥以及通过签名绑定到该密钥的身份信息。这就是为什么您的证书文件比您的公钥文件长的原因。

如果将证书加载到Java X509CertificategetPublicKey()对象中,则可以通过该对象的方法获取PublicKey X509Certificate

于 2013-09-26T23:09:53.540 回答
0

听起来较长的密钥实际上是私钥。通常你有一个密钥对,一个私钥和一个公钥。

更多信息:http ://en.wikipedia.org/wiki/Public-key_cryptography

于 2013-09-26T11:09:40.853 回答