SSL “Peer Not Authenticated” error with HttpClient 4.1

后端 未结 4 1064
傲寒
傲寒 2020-12-03 16:49

I am building a simple app monitor to poll one of our API URLs and email us if it can\'t get a HTTP 200 status code from the response (this would indicate our API is down fo

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-03 17:27

    If the server's certificate is self-signed, then this is working as designed and you will have to import the server's certificate into your keystore.

    Assuming the server certificate is signed by a well-known CA, this is happening because the set of CA certificates available to a modern browser is much larger than the limited set that is shipped with the JDK/JRE.

    The EasySSL solution given in one of the posts you mention just buries the error, and you won't know if the server has a valid certificate.

    You must import the proper Root CA into your keystore to validate the certificate. There's a reason you can't get around this with the stock SSL code, and that's to prevent you from writing programs that behave as if they are secure but are not.

提交回复
热议问题