栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

java私钥转字节数组

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java私钥转字节数组

我正在编写一个.NET客户端应用程序,它使用Java Web服务并需要签署已发送的请求(与this other question相关).

我已经提供了private.key文件(和.X509证书)和Java源代码示例.证书看起来像服务的公钥,而private.key是我用来签署请求的.

在Java源代码中,我可以看到它们将文件转换为字节数组并将其传递给PKCS8EncodedKeySpec类的构造函数.

有点googling suggests这个文件是私钥哈希(虽然我可能错了).

有没有办法在.Net中使用它或将其转换为.Net可以使用的东西?

This link提到转换​​公钥/私钥,但我没有,或者它是否有效.有没有人有更多的信息可供使用?比如这个文件究竟是什么?

如果我将其作为字节数组读入并将其转换为字符串,我会得到一堆HEx(例如AA-BB-06等),但无论我使用何种编码,我都无法将其转换为任何有用的内容.

我试过(由@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

给我错误:

"Error: offset too large"

我刚刚发现,如果我将它转换为基数为64的字符串

Dim ba As Byte() = IO.File.ReadAllBytes("C:private.key")

Dim toString1 As String = System.Convert.ToBase64String(ba)

它给了我一个字符串,它启动MIICdgIBADANB,长度为924个字符.

尝试以下命令给了我

openssl rsa -in private.key -text -noout

unable to load Private Key

17978:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expec ting: ANY PRIVATE KEY

还有什么建议?

解决方法:

它可能不是私钥的“哈希”.它很可能是PKCS#8格式的私钥.

您可以使用openssl命令行工具创建PKCS#12密钥库,然后该密钥库应该可用于构造X509Certificate2对象.

首先,您可能需要将私钥从DER转换为PEM格式,这也可以在openssl中完成:

openssl rsa -in pkcs8privatekey.der -inform der -out privatekey.pem

然后使用以下命令创建PKCS#12密钥库:

openssl pkcs12 -export -name myalias -in mycert.crt -inkey privatekey.pem -out keystore.p12

最后,您应该能够将其导入X509Certificate2对象:

X509Certificate2 cert = X509Certificate2("C:Pathkeystore.p12", "password");

标签:wcf-security,java,net,wcf,public-key-encryption

来源: https://codeday.me/bug/20191002/1842503.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955508.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号