簡體   English   中英

PHP PDO(MySQL)中的SSL支持如何工作?

[英]How does SSL support in PHP PDO (MySQL) work?

我熟悉HTTPS中實現的公鑰/私鑰協商,這就是為什么我為PDO的MySQL驅動程序顯然可用的以下驅動程序選項(盡管未正式記錄)感到困惑的原因:

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

該鏈接表明它們指向本地存儲的文件-但是為什么將CA證書以外的任何內容的副本存儲在客戶端上? 有人使用這種方法成功建立了加密連接嗎?

這與客戶端必須具有才能連接到服務器的客戶端證書有關,即客戶端必須驗證其身份(是的,SSL也可以以其他方式工作)。 首先閱讀常規部分“ 使用SSL進行安全連接” ,然后查看GRANT語法中REQUIRE子句:

  • REQUIRE X509意味着客戶端必須具有有效的證書,但是確切的證書,頒發者和主題無關緊要。 唯一的要求是,應該可以使用其中一個CA證書來驗證其簽名。

  • REQUIRE ISSUER 'issuer'對連接嘗試施加了限制,即客戶端必須出示由CA“ issuer”頒發的有效X509證書。 如果客戶端出示的證書有效但具有不同的頒發者,則服務器拒絕連接。 使用X509證書始終表示加密,因此在這種情況下不需要SSL選項。

  • ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM