電信平臺北向Java開發——證書校驗

關於JAVA 北向應用服務器開發,Demo證書問題:Demo工程無法對接電信平臺(證書問題)

將Demo工程導入Eclipse後,修改相應電信平臺的IP——BASE_URL,應用ID——appId,應用SERCRET——secret;運行出錯,問題顯示爲: 

原因: 電信在2019-3月之後,將平臺的證書做了更換,所以在SSL校驗的時候,證書校驗不通過,導致瞭如上問題:

解決方法有兩種:

    1、將ca.jks文件替換成電信平臺的,CA證書連接爲:https://download.csdn.net/download/qq_25062299/12498109

    2、取消證書校驗。方法如下:

  打開HttpsUtil.java文件,在HttpsUtil 類中添加如下代碼:   

private  TrustManager truseAllManager = new X509TrustManager() {
    public java.security.cert.X509Certificate[] getAcceptedIssuers()
    {
        return null;
    }
    @Override
    public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType)
            throws java.security.cert.CertificateException
    {
    }
    @Override
    public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType)
            throws java.security.cert.CertificateException
    {
    }
};

將其中的

sc.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);

替換爲:

sc.init(kmf.getKeyManagers(), new TrustManager[] { truseAllManager }, null);

如此,便可取消對服務器證書的校驗,在調試階段,通過此方法避免頻繁更換證書。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章