Z mojego doświadczenia wynika, że w większości przypadków walidatory są wybredne w przypadku certyfikatów z podpisem własnym.
Generalnie, korzystając z "fałszywych" certyfikatów, zawsze należy wykonać dodatkowy krok i stworzyć fałszywy ośrodek certyfikacji i podpisać fałszywy certyfikat za pomocą urzędu certyfikacji. Jeśli nic innego, to sprawi, że twoje testy będą bardziej jak scenariusz z prawdziwego życia.
Oto krótkie instrukcje jak to zrobić z OpenSSL:
- Tworzenie CA (własny podpisany)
- Tworzenie klucza serwera i CSR
openssl req -out server.csr -pubkey -new -keyout server.secure.key
- zdjąć hasło
openssl rsa -in server.secure.key -out server.key
- Podpisz certyfikat serwera za pomocą CA
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 1825
- (Aby uzyskać dalsze certyfikaty, użyj istniejącego numeru seryjnego
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAserial ca.srl -out server.crt -days 1825
)
Gdy masz problemy z żadnego SSL (nie tylko HTTPS) - stosować surowe openssl
debugowanie wykonując
openssl s_verify -connect <hostname>:<portnumber> <options>
przykład
openssl s_verify -connect localhost:443 -CAfile myfakeca.pem
Zwykle oszczędza to kłopotów z wykryciem problemów z rzeczywistymi certyfikatami, które w rzeczywistości nie mają nic wspólnego z kodem.
dodam mój fałszywy certyfikat /etc/ssl/certs/ca-certificates.crt pliku i błędów zmieniono 'OpenID udało błąd wykrywania OpenID: Błąd pobierania dyfraktogramy rentgenowskie XRD dokument: (77„problem z SSL CA cert (ścieżka? Prawa dostępu?) ")' – sdnaghdi
Błąd jest błędem biblioteki CURL http://curl.haxx.se/libcurl/c/libcurl-errors.html#CURLESSLCACERT. Dokumentacja CURL stwierdza, że serwer, z którym się łączysz, ma certyfikat, którego nie można zweryfikować. Kiedy pojawia się błąd, na jakim adresie URL? – ziima