0

PHP から .me レジストラー EPP OT&E サーバーに接続しようとしていますが、成功しません。php-epp ライブラリ ( https://github.com/centralnic/php-epp ) を使用していますが、問題は接続を開けないことです。

次のコマンドを使用して、接続を開くことができます (少なくともそう思われます)。

openssl s_client -connect ote1.meregistry.net:700 -cert certificate.crt -key privateKey.key -CAfile PCA-3.pem -showcerts -state

それは次を返します:

接続済み(00000003)

SSL_connect:前/接続の初期化

SSL_connect:SSLv2/v3 書き込みクライアント hello A

このコマンドを PHP で再現するにはどうすればよいですか? 私はこれを試しましたが成功しませんでした:

 $context = stream_context_create();
 stream_context_set_option($context, 'ssl', 'local_cert', 'pemcertificate.pem');
 stream_context_set_option($context, 'ssl', 'passphrase', '');
 stream_context_set_option($context, 'ssl', 'cafile', 'PCA-3.pem');
 stream_context_set_option($context, 'ssl', 'verify_peer', false);
 stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
 $epp = new Net_EPP_Client();
 echo "\nConnecting..";
 $epp->connect('ote1.meregistry.net', 700, 20, true, $context);

次のエラーが表示されます。

stream_socket_client(): SSL 操作がコード 1 で失敗しました。OpenSSL エラー メッセージ: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

何かアドバイス?

ありがとう

4

1 に答える 1

2

問題が見つかりました。使用していた証明書が無効でした。

さらに、一部のサーバーでは、openssl s_clientコマンドに、コマンドを正しく実行できるようにするフラグ-no_tls1が必要です。

それが他の誰かに役立つことを願っています!

于 2013-07-26T04:13:21.950 に答える