我有两把钥匙。首先,它非常好地工作,并以resource(368) of type (OpenSSL key)的形式给出响应,而对于另一个键,它只是返回一个false。
在这两种情况下,我都不是提供路径,而是提供字符串本身。
的工作的关键是:
-----BEGIN RSA PRIVATE KEY-----
MIIJKAIBAAKCAgEA74waKCtYqw7U7gE93BCn0CPmulFd1K8AaJqqBjOLe//okAuA
<...........................................................>
MGgCk1mrd65nf6JWsxb3RVcQ7jYxyFs3Pr4LFcgn1K0aTLnlwarBFjt+J3Y=
-----END RSA PRIVATE KEY-----不工作的关键是:
-----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抛出错误?
代码:
$pkey = openssl_pkey_get_private(my_private_key_in_string_form);编辑:
在我的研究中,我发现第二个密钥是加密的,而第一个密钥是原始的。但是,我还无法找到如何将这个加密的私钥从一个已经创建的密钥转换成它的原始形式。
发布于 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能够正确读取密钥。
https://stackoverflow.com/questions/59132839
复制相似问题