Google Cloud SQL SSL schlägt bei der Überprüfung des Peer-Zertifikats fehl
Ich habe ein Problem mit MySQL unter PHP 5.6. Nachdem ich drei Tage lang PHP, OpenSSL, MySQLnd Drivers unter PHP getestet und den mysql_client auf einem Ubuntu 14.04-Computer ausprobiert habe, bin ich zu dem Schluss gekommen, dass Google Cloud SQL SSL-Zertifikate nicht funktionieren Arbeiten Sie mit PHP 5.6 und höher.
unächst einmal ist die Google Cloud ein großartiger Service, und moderne Kryptografie wird im gesamten Google-Ökosystem durchgesetzt. Ich konnte es jedoch aufgrund eines kleinen Problems nicht verwenden: Google Cloud SQL SSL Server-Zertifikate haben unmögliche gemeinsame Namen.
Google Cloud SQL Server-Zertifikate (oder Peer-Zertifikate) haben einen allgemeinen Namen (Common Name, CN), der ungefähr so aussieht:
CN=project-name:instance-id
Um die Sache noch schlimmer zu machen, werden ab PHP 5.6 alle verschlüsselten Client-Streams einer obligatorischen Peer-Zertifikat-Validierung unterzogen. (Verknüpfung:OpenSSL Änderungen in PHP 5.6.x). Ich verwende die PHP Data Objects (PDO) -Erweiterung, die den nativen Treiber MySQLnd verwendet, um das gesamte MySQL-Geschäft abzuwickeln. Dies verwendet die nativen PHP-Streams, um diese Verbindungen zu handhaben.
Ich habe den MySQLnd-Quellcode unter PHP durchgesehen (Link:MYSQLnd Treibercode auf GitHub), MySQLnd-Konfigurationsoptionen, mit denen versucht wird, den SSL-Peer-Bestätigungscode auf diesem bestimmten MySQLND zu deaktivieren. Umsonst
Was kann ich tun, wenn ich SSL für MySQL-Verbindungen unter PHP 5.6 verwenden muss?
Ihre Antwort wird sehr geschätzt!