Ich werde einige Daten von Site A zu Site B mit PHP POST. Standort A verfügt über ein kommerzielles SSL-Zertifikat. Site B wird ein selbstsigniertes Zertifikat haben. Ist das machbar? Wenn nicht, gibt es irgendwelche Konfigurationsoptionen in PHP (oder Apache), die ich einstellen kann, um die Beschränkungen zu umgehen?POST-Anfrage mit einem selbstsignierten Zertifikat
Antwort
Vermutlich verwenden Sie Curl auf Server A? Es gibt einige Optionen in curl, um die Zertifikatsüberprüfung zu deaktivieren, wodurch selbstsignierte Zertifikate ermöglicht werden. Der Link wird noch verschlüsselt werden, aber Sie werden Vertrauen der Lage sein, diesen Server B nicht wirklich IS Server B:
curlopt_ssl_verifypeer (checking the CA auth chain)
curlopt_ssl_verifyhost (hostname/certname match checks)
Beispiel PHP-Code:
$ch = curl_init("https://example.com/example/path");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($ch);
Gibt es eine Möglichkeit, PHP (oder den Client im Allgemeinen) so zu konfigurieren, dass nur ein * spezifisches * selbstsigniertes Zertifikat akzeptiert wird? Ich könnte mir vorstellen, dass dies angeblich sicherer wäre, als das Zertifikat überhaupt nicht zu überprüfen. –
Es ist machbar. Wenn Sie in PHP cURL zum Ausführen des POST verwenden, müssen Sie nur die Optionen CURLOPT_SSL_VERIFYPEER
und CURLOPT_SSL_VERIFYHOST
auf false setzen, damit sie nicht fehlschlägt, weil das Zertifikat selbstsigniert ist.
Wenn Sie den Browser fragen Um die Daten zu senden, erhält der Benutzer die normalen Warnungen über das Zertifikat, das nicht vertrauenswürdig ist.
Wenn Sie cURL verwenden, um den POST innerhalb Ihres PHP-Codes auszuführen, sollten Sie die cURL-SSL-Prüfungen deaktivieren. Nach einer related question,
Sie werden
CURLOPT_SSL_VERIFYPEER
undCURLOPT_SSL_VERIFYHOST
-FALSE
einstellen müssen. Dies sollte> die beiden Hauptprüfungen deaktivieren. Sie werden vielleicht nicht beide benötigt, aber das sollte dich zumindest in Gang bringen.
- 1. Mit einem selbstsignierten Zertifikat
- 2. Alamofire mit einem selbstsignierten Zertifikat/ServerTrustPolicy
- 3. SmtpClient mit einem selbstsignierten SSL-Zertifikat arbeiten
- 4. Vom selbstsignierten SSL-Zertifikat zum vertrauenswürdigen Zertifikat
- 5. Welche Zertifikatskettendatei soll mit einem selbstsignierten Zertifikat enthalten sein?
- 6. Können Sie einen Service-Mitarbeiter mit einem selbstsignierten Zertifikat verwenden?
- 7. Ich kann einem selbstsignierten Zertifikat auf dem iPhone
- 8. Einem abgelaufenen selbstsignierten Zertifikat beim Aufruf eines Webservice vertrauen
- 9. HTTPS mit selbstsignierten SSL-Zertifikat-Problemen ... Lösung oder besser?
- 10. Wie ein selbstsignierten Zertifikat in IE Trust 11
- 11. Swift: Wie fordere ich eine URL mit einem selbstsignierten Zertifikat an?
- 12. QT 5.5 SSLHandshakeFailedError beim Versuch, sich mit einem selbstsignierten Zertifikat zu verbinden
- 13. Windows Store App eine Verbindung zu HTTPS mit einem selbstsignierten SSL-Zertifikat
- 14. Android SSLSockets mit selbstsignierten Zertifikaten
- 15. Erzeugen eines selbstsignierten Zertifikats mit iOS Security.framework?
- 16. Selbstsigniertes Zertifikat mit SAML 2.0
- 17. So vertrauen Sie einem selbstsignierten Zertifikat in einer Windows Store App
- 18. So rufen Sie die Methode https get auf einem selbstsignierten Server und Client-Zertifikat
- 19. Verwenden eines selbstsignierten Zertifikats mit Safari und Websockets (OSX/IOS)
- 20. Verbinden mit dem HTTPS mithilfe eines selbstsignierten SSL-Zertifikats
- 21. ClickOnce mit einem Zertifikat signieren?
- 22. Hinzufügen eines selbstsignierten Zertifikats zur Heroku App
- 23. So senden Sie E-Mails mit STARTTLS und einem selbstsignierten Zertifikat mithilfe der Swiftmailer-Bibliothek in PHP
- 24. Java: SSL-Client-Authentifizierung mit selbstsignierten Zertifikaten
- 25. Websocket-Server mit selbstsignierten Zertifikaten in Intranet-Anwendung
- 26. Powershell Invoke-RestMethod mit selbstsignierten Zertifikaten und Standardauthentifizierung - Beliebige Beispiele?
- 27. Keystone.js selbstsigniertes Zertifikat
- 28. nodejs - UNABLE_TO_VERIFY_LEAF_SIGNATURE mit selbstsigniertem Zertifikat
- 29. Wie erhalte ich Visual Studio-Code, um unserem selbstsignierten Proxy-Zertifikat zu vertrauen?
- 30. Überprüfen Sie in der onReceivedSslError() - Methode eines WebViewClient, wenn ein Zertifikat von einer bestimmten selbstsignierten CA
Warum versuchen Sie es nicht zuerst, wenn es machbar ist? – samayo
Da die Anwendung nicht abgeschlossen ist und Site B noch nicht eingerichtet ist und auch nicht unter meiner Kontrolle steht – Aaron