2

キーファイルを開こうとすると、それが誤りであると表示され、その理由がわかりません。メモ帳で開くと、キーは問題ないように見えます。なぜうまくいかないのか、私はこれを初めてやっているので、それが明らかなものであれば許してください..

読んだところはこちら

// Reading private key
$fp = fopen("certs/cert.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key); // Empty

openssl_error_string()私に与えますerror:0906D06C:PEM routines:func(109):reason(108)

4

2 に答える 2

3

証明書ファイルから秘密鍵を取得しようとしているようです。秘密鍵は証明書に保存されず、個別に保存されます。どこから証明書を入手しましたか?自分でCSRを生成し、後でCAによって署名された場合は、CSRとともにキーファイルが生成されます。それ以上のオプションを指定せずにopensslを使用してCSRを生成した場合、たとえば、openssl-req-newキーはprivkey.pemという名前のファイルにあります。---- BEGIN RSA PRIVATE KEY ---で区切られ、内容はパスワードで保護されています(CSRを生成したときにパスワードの入力を求められました)。

于 2012-04-12T14:45:33.357 に答える
1

OpenSSL エラーを診断する方法:

エラーメッセージを見てください:

error:0906D06C:PEM routines:func(109):reason(108)

理由コード (108) を取得して、エラーを特定します。

grep 108 include/openssl/ssl.h
#define SSL_F_GET_SERVER_FINISHED                        108
#define SSL_R_BAD_DH_G_LENGTH                            108
#define SSL_R_TLSV1_ALERT_INTERNAL_ERROR                 1080

今すぐグーグルSSL_R_BAD_DH_G_LENGTH

あまり運がありません。ソースを調べると、このエラーは次の範囲内でトリガーされます

 ssl3_get_key_exchange() in s3_clnt.c

おそらくこれが役立ちます。

于 2012-04-12T15:47:01.087 に答える