次のPHPコードは、この警告をプリントアウト:PHPでX509証明書から公開鍵を取得できないのはなぜですか?
警告:openssl_csr_get_public_key():供給リソースは/home/swissbtc/www/bitcoins.ch/index.phpに有効なOpenSSLのX.509 CSRリソースではありませんライン上の49
コード:
$Configs = array(
'digest_alg' => 'sha1',
'x509_extensions' => 'v3_ca',
'req_extensions' => 'v3_req',
'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
'encrypt_key' => true,
'encrypt_key_cipher' => OPENSSL_CIPHER_3DES
);
//generate cert
$dn = array('commonName' => 'test');
$privkey = openssl_pkey_new($Configs);
$csr = openssl_csr_new($dn, $privkey, $Configs);
$cert = openssl_csr_sign($csr, null, $privkey, 365, $Configs);
//try to get public key
$publicKey = openssl_csr_get_public_key($cert); //line 49
//try again to get the public key
openssl_x509_export($cert, $certout);
$publicKey = openssl_csr_get_public_key($certout);
注:最初の$公開(ライン49)は、EMでありますptyと2番目の$ publicKey(53行目)はブール値「false」を取得します
私のコードには何が問題なのですか?
それはあなたのキーファイルの内容によって異なります。どのように生成するのですか/どこから取得しますか? – Raptor
キーと証明書は、どちらも上記のコードで生成されています。 – Roland