2012-01-25 18 views
4

私は私が(正式に文書化されていないが)PDOのMySQLドライバのためapparently availableある以下のドライバオプションで混乱しています理由はHTTPSで実装する公開鍵/秘密鍵のネゴシエーション、精通よ:PHP PDO(MySQL)のSSLサポートはどのように機能しますか?

PDO::MYSQL_ATTR_SSL_KEY 
PDO::MYSQL_ATTR_SSL_CERT 
PDO::MYSQL_ATTR_SSL_CA 

リンクはローカルに保存されているファイルを指し示していますが、CA証明書以外のものはクライアントに保存されるのはなぜですか?誰もこの方法で暗号化された接続を作成しましたか?

答えて

2

これは、クライアントがサーバーに接続できるようにするためにクライアントが必要とするクライアント証明書、つまりクライアントがそのIDを確認する必要がある(はい、SSLは逆も同様です)。一般的なセクションUsing SSL for Secure Connectionsを読むことから始め、その後、GRANT syntaxREQUIRE節を参照してください。

  • REQUIRE X509

    は、クライアントが有効な証明書を持っていなければならないことが、正確な証明書、発行者、および主題はないことを意味します。唯一の要件は、CA証明書の1つを使用してその署名を検証できることです。

  • REQUIRE ISSUER 'issuer'クライアントがCA '発行者'によって発行された有効なX509証明書を提示しなければならないという制限があります。クライアントが有効であるが発行者が異なる証明書を提示すると、サーバーは接続を拒否します。 X509証明書を使用する場合は常に暗号化を意味するため、この場合はSSLオプションは不要です。

  • ...

関連する問題