Tag: public key encryption

如何将私钥文件从Java转换为.net x509Certificate2

我正在编写一个.NET客户端应用程序,它使用Java Web服务并需要签署已发送的请求(与此其他问题相关 )。 我已经提供了private.key文件(和.X509证书)和Java源代码示例。 证书看起来像服务的公钥,private.key是我用来签署请求的。 在Java源代码中,我可以看到它们将文件转换为字节数组并将其传递给PKCS8EncodedKeySpec类的构造函数。 一些谷歌搜索表明这个文件是私钥哈希(虽然我可能是错的)。 有没有办法在.Net中使用它或将其转换为.Net可以使用的东西? 此链接提到转换公钥/私钥,但我没有,或者它是否有效。 有没有人有更多的信息可供使用? 比如这个文件究竟是什么? 如果我将其作为字节数组读入并将其转换为字符串,我会加载HEX(例如AA-BB-06等),但无论我使用何种编码,我都无法将其转换为任何有用的内容。 该文档表明它符合PKCS#8标准。 我试过(由@gtrig建议)命令: openssl rsa -in pkcs8privatekey.der -inform der -out privatekey.pem 但这给了我以下内容: unable to load Private Key 32096:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1306: 32096:error:0D06C03A:asn1 encoding routines:ASN1_D2I_EX_PRIMITIVE:nested asn1 error:tasn_dec.c:830: 32096:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error:tasn_dec.c:749:Field=n, Type=RSA 32096:error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib:d2i_pr.c:99: 我也遇到类似NET和PEM -inform args的错误。 和: openssl asn1parse -in private.key […]

如何从Java生成ssh兼容的id_rsa(.pub)

我正在寻找一种以Java编程方式创建ssh兼容的id_rsa和id_rsa.pub文件的方法。 我创建了KeyPair: KeyPairGenerator generator; generator = KeyPairGenerator.getInstance(“RSA”); // or: generator = KeyPairGenerator.getInstance(“DSA”); generator.initialize(2048); keyPair = generator.genKeyPair(); 我无法弄清楚如何在KeyPair中创建PrivateKey和PublicKey的String表示。