私たちのWebサーバーに接続するクライアントのSSL証明書(件名、DB内のプレゼンスなど)を制御する必要があります。 PHPで実行できますか?おかげさまで PHPは接続時にSSL証明書パラメータを受け取ります
2
A
答えて
4
PHPには手がありません。 SSLはWebサーバーによってのみ処理されます。 Apacheは、CGI環境でいくつかの情報を渡すように設定できます。
はSSLOptionsのマニュアルとSSL_*
environment variablesの利用可能なリストを参照してください。あなたが読んでいたかったものはおそらく:
print $_SERVER['SSL_CLIENT_S_DN'];
2
まあ、それは可能ですが、カールの助けを借りてあります。
cURLを冗長モードで実行し、出力をPHPに送信します(かなり簡単ですか?)。次に、発行者名(OU = Secure Server Certification Authority == Verisign)があるのでPHPで出力を解析します。
IE、サンプルカールコール:別のオプションは、あなたのHTTPSクエリとその方法が聞かせてプロキシにuse stunnelになり
* About to connect() to login.yahoo.com:443
* Connected to login1.login.vip.dcn.yahoo.com (216.109.127.60) port 443
* SSL connection using EDH-RSA-DES-CBC3-SHA
* Server certificate:
* subject: /C=US/ST=California/L=Santa Clara/O=Yahoo/OU=Yahoo/CN=login.yahoo.com
* start date: 2003-02-08 00:00:00 GMT
* expire date: 2004-02-08 23:59:59 GMT
* common name: login.yahoo.com (matched)
* issuer: /C=US/O=RSA Data Security, Inc./OU=Secure Server Certification Authority
> HEAD/HTTP/1.1
User-Agent: curl/7.10.2 (i386-redhat-linux-gnu) libcurl/7.10.2 OpenSSL/0.9.6b ipv6 zlib/1.1.3
Host: login.yahoo.com
Pragma: no-cache
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
HTTP/1.0 200 OK
:
>> curl -I -v https://login.yahoo.com
は、この解析可能な出力を返しますPHPは標準のHTTPクエリを使用していると考え、出力のすべての1バイトを返すべきだと考えます。
+0
クライアント証明書とは何の関係もないようです(これが質問の内容です)。さらに、2つのリクエスト(カールと1つはPHP内)を行うことは、必ずしも2つの証明書が同じであることを意味するものではありません。 – Bruno
関連する問題
- 1. SSL証明書をRoute53ホストドメインに接続
- 2. HttpsUrlconnection接続時に任意の証明書を受け入れる
- 3. SSL証明書:プロキシ経由でSSLサーバに接続
- 4. SSL証明書認証を使用するEPP APIへのPHP TCP接続
- 5. Golang ListenAndServeTLSは私の証明書を受け取りません
- 6. WebSocketの接続に失敗しました.Letsencrypt SSL証明書
- 7. PHP - SSLソケットクライアント証明書
- 8. Cloud CertificateのCloudFront CDNにSSL証明書を接続する
- 9. SSL証明書の要求とSSL証明書の受け入れの違いは何ですか?
- 10. LDAP + SSL接続のサーバーSSL証明書を検証する方法
- 11. Javaサーバー自己署名証明書+クライアント証明書とSSL接続のリセット
- 12. django.db.utils.OperationalError:(2026、 'SSL接続エラー:証明書を取得できません')
- 13. JsoupとプライベートSSL証明書との接続方法は?
- 14. SSLクライアントは期限切れのSSL証明書を受け入れる方法
- 15. SSL証明書があってもSSL接続は安全ですか?
- 16. SSL証明書は、
- 17. 証明書を使用したSSL接続
- 18. windowsコマンドラインでssl証明書を使用したFTP接続
- 19. SSLによるSQL Serverへの接続とサーバー証明書の取得
- 20. SSL証明書
- 21. SSL証明書
- 22. SSL証明書
- 23. ストアからの証明書削除後のSSL接続
- 24. Java証明書とSSL証明書
- 25. Ruby - SSLで接続し、クライアント証明書で認証する - sslv3アラート不良証明書
- 26. PHPのSVN - SSL証明書のエラー
- 27. 接続のルートCA証明書を取得します
- 28. javascriptでURL SSL証明書を取得
- 29. SSLピンニング証明書
- 30. - SSL証明書エラー
+ 1'ed、私の答えよりも簡単:) – stefgosselin
+1これをさらにApache Httpdレベルでプッシュしたい場合は、 'FakeBasicAuth'を使うこともできます。 – Bruno