首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openssl_pkey_get_private为一个键返回false

openssl_pkey_get_private为一个键返回false
EN

Stack Overflow用户
提问于 2019-12-02 04:54:29
回答 1查看 377关注 0票数 0

我有两把钥匙。首先,它非常好地工作,并以resource(368) of type (OpenSSL key)的形式给出响应,而对于另一个键,它只是返回一个false。

在这两种情况下,我都不是提供路径,而是提供字符串本身。

的工作的关键是:

代码语言:javascript
复制
-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEA74waKCtYqw7U7gE93BCn0CPmulFd1K8AaJqqBjOLe//okAuA
<...........................................................>
MGgCk1mrd65nf6JWsxb3RVcQ7jYxyFs3Pr4LFcgn1K0aTLnlwarBFjt+J3Y=
-----END RSA PRIVATE KEY-----

不工作的关键是

代码语言:javascript
复制
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,14CA8(removing some values)2B6244

LwBvVX6TbdS9XYg0xywoLbhiaYK5UE6SQnATXJ8fXfJit+F4XcOfmWyQn+UsJRnM
<...........................................................>
s8M/Fe7YpkORsGSzQ6f5YslfmbmCsdCFDiBnTaIe45NP8IBULWY/vm45bYFteKUs
-----END RSA PRIVATE KEY-----

PS :为了安全起见,我把大部分钥匙藏起来了。

键值是否也会影响openssl抛出错误?

代码:

代码语言:javascript
复制
$pkey = openssl_pkey_get_private(my_private_key_in_string_form);

编辑:

在我的研究中,我发现第二个密钥是加密的,而第一个密钥是原始的。但是,我还无法找到如何将这个加密的私钥从一个已经创建的密钥转换成它的原始形式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-02 05:25:39

看一下密钥,不能用passpharase保护工作的密钥,您说失败的密钥是使用passpharase保护的,对openssl_pkey_get_private()的调用也没有第二个可选参数。我指的是https://www.php.net/manual/en/function.openssl-pkey-get-private.php的内容

因此,如果您的私钥是加密的,则必须指定密码,以便openssl_pkey_get_private() API能够正确读取密钥。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59132839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档