2

Warning: openssl_get_publickey() [function.openssl-get-publickey]: Don't know how to get public key from this private key on line 5秘密鍵から公開鍵を取得しようとすると、エラーが発生します。ここに私のPHPコードがあります:

<?php
$privatekeyorig = openssl_pkey_new();
openssl_pkey_export($privatekeyorig,$privatekey);
echo '<b>Private Key:</b> ' . $privatekey . '<br>';
$publickey = openssl_get_publickey($privatekeyorig);
echo '<b>Public Key:</b> ' . $publickey . '<br>';
?>

PHPマニュアルによると、私はこれを正しく行っています。誰でもエラーを見つけますか?助けていただければ幸いです。

4

2 に答える 2

2

私の推奨は、純粋なPHPRSA実装であるphpseclibを使用することです。例えば。

<?php
include('Crypt/RSA.php');

$rsa = new Crypt_RSA();
$rsa->loadKey('...');

$privatekey = $rsa->getPrivateKey();
$publickey = $rsa->getPublicKey();
?>
于 2012-06-06T21:04:18.237 に答える
1

http://php.net/manual/en/function.openssl-pkey-new.phpの最後のコメントを確認してください。

[更新]上記の直前のコメントから:)そして、私のシステムで機能して、テキストの公開鍵を提供します:

// Create the keypair
$res=openssl_pkey_new();

// Get private key
openssl_pkey_export($res, $privkey);

// Get public key
$pubkey=openssl_pkey_get_details($res);
$pubkey=$pubkey["key"];
于 2012-06-06T03:17:52.407 に答える