Zetknąłem się również z tym problemem. Przeczytałem ten wątek i większość odpowiedzi ma charakter informacyjny, ale jest dla mnie zbyt skomplikowana. Nie mam doświadczenia w tematach sieciowych, więc ta odpowiedź jest dla osób takich jak ja.
W moim przypadku ten błąd występował, ponieważ nie uwzględniłem certyfikatów pośrednich i głównych obok certyfikatu, którego używałem w mojej aplikacji.
Oto, co otrzymałem od dostawcy certyfikatu SSL:
- abc.crt
- abc.pem
- abc-bunde.crt
W abc.crt
pliku był tylko jeden certyfikat:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
Gdybym dostarczył go w tym formacie, przeglądarka nie pokazywałaby żadnych błędów (Firefox), ale dostałbym curl: (60) SSL certificate : unable to get local issuer certificate
błąd, kiedy wysłałem prośbę o zwijanie.
Aby naprawić ten błąd, sprawdź abc-bunde.crt
plik. Najprawdopodobniej zobaczysz coś takiego:
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
Są to Twoje certyfikaty pośrednie i główne. Wystąpił błąd, ponieważ brakuje go w certyfikacie SSL dostarczanym do aplikacji.
Aby naprawić błąd, połącz zawartość obu tych plików w tym formacie:
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
Zauważ, że nie ma spacji między certyfikatami, na końcu lub na początku pliku. Po dostarczeniu tego połączonego certyfikatu do aplikacji problem powinien zostać rozwiązany.