问题
和许多其他人一样,我试图导出与我的.cer
文件关联的私钥以转换为.pfx
。有许多被黑客入侵的解决方案,例如https://stackoverflow.com/questions/51903332/how-to-export-private-key-from-windows-certificate-manager,http://terenceluk.blogspot.com/2020/10/export-certificate-that-does-not-allow.html
但我想特别关注https://www.yuenx.com/2022/certificate-security-export-cert-with-non-exportable-private-key-marked-as-not-exportable-windows-pki/因为它似乎不需要任何第三方工具。按照那里的说明,
尝试
我可以导出看起来像是我的私钥的内容。因此,我尝试.key
从生成的 xml 格式文件中的私钥信息创建一个文件.reg
(通过将标签中的数据复制到文件<BA>
中.key
):
-----BEGIN RSA PRIVATE KEY-----
<BA> tag content
-----END RSA PRIVATE KEY-----
然后pfx
使用 openssl 创建文件:
openssl pkcs12 -export -out test.pfx -inkey test.key -in test.cer
test.cer
从 Windows 证书存储区导出的证书在哪里。但是,我收到以下错误:
openssl pkcs12 -export -out test.pfx -inkey test.key -in test.cer
unable to load private key
10208:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:crypto\asn1\tasn_dec.c:1149:
10208:error:0D06C03A:asn1 encoding routines:asn1_d2i_ex_primitive:nested asn1 error:crypto\asn1\tasn_dec.c:713:
10208:error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error:crypto\asn1\tasn_dec.c:646:Field=version, Type=RSAPrivateKey
10208:error:04093004:rsa routines:old_rsa_priv_decode:RSA lib:crypto\rsa\rsa_ameth.c:142:
10208:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:crypto\asn1\tasn_dec.c:1149:
10208:error:0D06C03A:asn1 encoding routines:asn1_d2i_ex_primitive:nested asn1 error:crypto\asn1\tasn_dec.c:713:
10208:error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error:crypto\asn1\tasn_dec.c:646:Field=version, Type=PKCS8_PRIV_KEY_INFO
10208:error:0907B00D:PEM routines:PEM_read_bio_PrivateKey:ASN1 lib:crypto\pem\pem_pkey.c:88:
这个错误有两种解释,我也不知道如何诊断:
- 我没有在文件的页眉/页脚中提供正确的加密
.key
标签 - 标签
<BA>
内容实际上并不是私钥。
如果问题是 1),那么正确的页眉/页脚是什么?
如果问题是 2),那内容是什么?它是文件的公钥吗.cer
?