iOS 10.3: Simulator localhost HTTPS: SSL-Fehler
Dies funktionierte gut für iOS 10.2 und unten, aber nach dem Upgrade auf 10.3, wenn der simulator versucht, eine Verbindung über HTTPS, um die Entwicklung der server läuft auf localhost, der Xcode-Konsole gibt folgenden Fehler:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)
[] nw_coretls_callback_handshake_message_block_invoke_3 tls_handshake_continue: [-9807]
Ausdrucken error
zurück durch die URLSessionDataTask
zeigt:
Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x600000527080>, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, NSErrorPeerCertificateChainKey=(
"<cert(0x7ff3e1867200) s: localhost i: localhost>"
), NSUnderlyingError=0x60800024e880 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust=<SecTrustRef: 0x600000527080>, _kCFNetworkCFStreamSSLErrorOriginalValue=-9802, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802, kCFStreamPropertySSLPeerCertificates=(
"<cert(0x7ff3e1867200) s: localhost i: localhost>"
)}}, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., NSErrorFailingURLKey=https://localhost:3000/v1/login, NSErrorFailingURLStringKey=https://localhost:3000/v1/login, NSErrorClientCertificateStateKey=0}
Erstellen Sie ein selbst-signiertes SSL-Zertifikat verwendet habe ich die folgenden Befehle:
openssl genrsa -aes256 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -sha256 -key server.key -out server.csr -subj /CN=localhost
openssl x509 -req -sha512 -days 365 -in server.csr -signkey server.key -out server.crt
Quelle: GitHub - seviu/iOS-SSL-localhost
- Duplizieren: stackoverflow.com/questions/42264264/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach der Installation des selbst-signiertes SSL-Zertifikat (ziehen und fallenlassen) auf der iPhone-Simulator, gehen Sie zu Einstellungen > allgemein > Zu > Certificate Trust-Einstellungen und aktivieren Sie volles Vertrauen für Ihr Zertifikat.
Basic Constraint
x509-Erweiterung aktiviertCA
option. Ohne certNot verified
- und Zertifikats-Vertrauenseinstellungen leer. @ReDetectionCA
option nur bedeuten, dass das cert können verwendet werden, um zu überprüfen, andere so wie ich das verstehe. Das x509-Erweiterung ist sehr einfach zu konfigurieren für Schlüsselanhänger Assistent, wenn Sie create self-signed cert. @ReDetectionCA
option. @AndrewVyazovoyIch hatte auch gleiche problem , das Sie implementieren müssen, um didRecieveChallenge delegate-Methode zum verarbeiten der SSl-Fehler
Hinzufügen unten ;ein code im didReceiveChallenge delegate-Methode URLSession delegate-Methoden oder URLConnnection deleagte Methode.