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

无法加载私钥。(PEM例程:PEM_read_bio:无起始行:PEM_lib.c:648:预期:任何私钥)[已关闭]

唐兴发
2023-03-14

我有一本书。密钥文件,它是PEM格式的私钥文件。这个文件不是我做的,但我从某处得到的。

我想看看它的MD5哈希openssl工具,如下面的命令。

openssl rsa -in server.key -modulus -noout

但这产生以下误差。

unable to load Private Key
13440:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:648:Expecting: ANY PRIVATE KEY

这里有一些. key文件的asn1parse。

openssl asn1parse -in server.key
0:d=0  hl=4 l= 603 cons: SEQUENCE
4:d=1  hl=2 l=   1 prim: INTEGER           :00
7:d=1  hl=3 l= 129 prim: INTEGER           :C141201603899993919CBAA56985E9C7
C6A2AF713A02F5FE88D38CEFBED9304599689280B84B0AB577A9719CA20DDA1246A894AF397A2C57
EE5A582B036CC367E3667454DCD82DBDBF187C35FE39F61C71B517DDDF576F5471B4EC2E045E0F9D
619F5616C4E832F00CBD0DBF41B4BA3CBC4B4B603AE1FE61965917DA732E0DEF
139:d=1  hl=2 l=   3 prim: INTEGER           :010001
144:d=1  hl=3 l= 128 prim: INTEGER           :1687B9AE67562CEDEBDD7A531B84CDB7
093CE138519B93C34B7F626076FF0A262B16EA71904ACB6251A39307C04ADE202055BA13DD9F1539
6123EE408183361A9BC08B9413FA360EA928E48CC3F52B33ACF2980758F02BA2139F652F30A257C2
2E45D7C25835FC4D22B9ECECC12AB632318D4F47E1EBDAD9781B96BCFF03A2D1

 ...

还有什么我可以试试的吗?

共有3个答案

司迪
2023-03-14

你的密钥文件包含非法字符。你可以查一下。密钥文件如下所示:

# file server.key

输出“server.key:UTF-8unicode(带BOM)文本”表示它是纯文本,而不是密钥文件。正确的输出应该是“server.key:PEM RSA私钥”。

使用以下命令删除非法字符:

# tail -c +4 server.key > new_server.key

新的_服务器。钥匙应该是正确的。

更多详情,请点击这里

洪飞龙
2023-03-14

我将PEM文件的页眉和页脚更改为

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----

终于,奏效了!

栾越
2023-03-14

在记事本中打开密钥文件并验证编码。如果它显示UTF-8-BOM,则将其更改为UTF-8。保存文件,然后重试。

 类似资料:
  • 问题内容: 我有一个.key文件,当我这样做时 我懂了 我也有一个.cer文件,当我这样做时 我懂了 但是,如果按照的指示运行,则应执行以下命令: 我懂了 但这似乎不适用于该键,因为当我运行时 我懂了 如何获得私钥及其证书? 问题答案: 看来您有格式为的证书,而不是。这就是为什么当您提供命令行参数(告诉openssl期望什么样的输入格式)时它可以正常工作的原因。 您的私钥可能使用了相同的编码。看起

  • 我有一本书。密钥文件,当我这样做时 我得到 我也有一个朋友。cer文件,当我这样做时 我明白了 但是如果像这里指出的那样,我运行这样的命令: 我得到 但这似乎对钥匙不起作用,因为当我跑的时候

  • 我在使用Java Bouncycastle的客户机和使用Python RSA库的密钥服务器之间交换私钥时遇到了困难。PEM格式用于通过REST传输密钥。keyserver无法解密我提供的密钥(加密密码更改时需要),它需要PKCS#1或PKCS#8密钥和PEM,如下所示: 但是BouncyCastle的输出(使用JCEpeEncryptorBuilder和JcaMiscPEMGenerator)的起

  • 我希望加载/使用Java应用程序中提供给我的加密私钥。请找到密钥(加密的私有密钥、解密的私有密钥和公钥如下所示)。 加密的私钥密码:“AWCTJPET9FL7UBTP97HX99GDOFEWKUF5TUXSUJEST2SEKYVKYINRFRJ6EISUTERF” 密钥是在NodeJS中使用加密生成的,使用: 我正在使用:运行时版本:11.0.7+10-B765.64amd64,OpenJDK 6

  • 这个问题似乎不是关于特定的编程问题、软件算法或主要由程序员使用的软件工具。如果您认为这个问题在另一个Stack Exchange网站上是主题,您可以发表评论来解释这个问题在哪里可以得到回答。 我需要一个哈希名称的文件才能在隧道的CApath目录中发布。我在这个目录中有一些证书,它们运行良好。另外,我有一个服务器服务器和服务器密钥: 当我尝试计算新证书的哈希值时,我收到一个错误: 据我所知,我必须签

  • 我使用NetBeans7.2运行JDK1.7和Windows7,我使用putty-keygen生成了一个SSH私钥和公钥对(SSH2-2048位)。我没有任何私钥密码。我现在正尝试使用SFTP连接到其中一台主机。但是当我传递私钥(ppk)来设置身份时,代码返回无效私钥错误。我在WinSCP中使用了相同的私钥来连接到相同的主机&它工作得很好。请帮助我解决这个错误。下面是我的代码: