如题,怎样去掉安全证书,怎样产生安全证书?比如我在ie下输入:https://localhost:9443/WebServiceTest/services/WebServiceClass?wsdl则出现错误提示:此网站的安全证书有问题。此网站出具的安全证书不是由受信任的证书颁发机构颁发的。
此网站出具的安全证书是为其他网站地址颁发的。 
谢了!!!

解决方案 »

  1.   

    你要求客户端将这个证书添加到受信任证书就可以了如果你想要求客户端自动安装证书也可以,但是相对比较复杂。
    先运行:
    keytool -storepass password -alias myalias -export -rfc -file outfilename.cer然后调用此页面安装证书://自动安装证书
    <OBJECT classid=clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1 codebase="xenrlinf.cab#Version=5,131,3659,0" id=XEnroll name=XEnroll VIEWASTEXT></OBJECT>
    <OBJECT id="oCAPICOM" codeBase="capicom.cab#version=2,0,0,3" classid="clsid:A996E48C-D3DC-4244-89F7-AFA33EC60679" VIEWASTEXT></OBJECT>
    <script>
    function haveInstalled(str) {
    var storeName;
    var thumbprint;
    var thumbprint0;

    thumbprint0 = str;
    thumbprint0 = thumbprint0.replace(" ", "");
    thumbprint0 = thumbprint0.toUpperCase(); var st = new ActiveXObject("CAPICOM.Store");

    storeName =  "root"; st.Open(2, storeName, 0); haveInstalled = 0; for(var i = 1; i <= st.Certificates.Count; i++) {
    thumbprint = st.Certificates(i).thumbprint;
    thumbprint = thumbprint.replace(" ", "");
    thumbprint = thumbprint.toUpperCase();
    if(thumbprint == thumbprint0)
    return 1;
    }
    return 0;
    }
    var sPKCS7 =
    "-----BEGIN CERTIFICATE-----" + 
    "MIIDEjCCAs+gAwIBAgIES4zU4TALBgcqhkjOOAQDBQAwbDEQMA4GA1UEBhMHVW5rbm93bjEQMA4G" + 
    "A1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UE" + 
    "CxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjAeFw0xMDAzMDIwOTA1MzdaFw0xMDA1MzEwOTA1" + 
    "MzdaMGwxEDAOBgNVBAYTB1Vua25vd24xEDAOBgNVBAgTB1Vua25vd24xEDAOBgNVBAcTB1Vua25v" + 
    "d24xEDAOBgNVBAoTB1Vua25vd24xEDAOBgNVBAsTB1Vua25vd24xEDAOBgNVBAMTB1Vua25vd24w" + 
    "ggG3MIIBLAYHKoZIzjgEATCCAR8CgYEA/X9TgR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlF" + 
    "XUAiUftZPY1Y+r/F9bow9subVWzXgTuAHTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fG" + 
    "qKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOuK2HXKu/yIgMZndFIAccCFQCXYFCPFSMLzLKSuYKi64QL" + 
    "8Fgc9QKBgQD34aCF1ps93su8q1w2uFe5eZSvu/o66oL5V0wLPQeCZ1FZV4661FlP5nEHEIGAtEkW" + 
    "cSPoTCgWE7fPCTKMyKbhPBZ6i1R8jSjgo64eK7OmdZFuo38L+iE1YvH7YnoBJDvMpPG+qFGQiaiD" + 
    "3+Fa5Z8GkotmXoB7VSVkAUw7/s9JKgOBhAACgYA/FJBnsTKYmfdKMz3RCsY/FCuOg2RanR+Hg7s9" + 
    "CNutMUax5MdIwcDQiDNjSlgK3/NxxHfn1Y+oyVPIgXG/KFEyEbpPsxG6GIowdKWv4nJFoEAHWM9l" + 
    "mDb0nHmJtQll1uCPMc4ayufb816qa31fwlvlXqWSdTFnCzJUDApECPMZxDALBgcqhkjOOAQDBQAD" + 
    "MAAwLQIUfS7CLltRmojJxM9o3Fl47G+Z0pMCFQCF/fBewOsZEpKF0IxuFENWaGgt6Q==" + 
    "-----END CERTIFICATE-----";if(haveInstalled("96 f9 0b ba cc 85 4b c2 0a 39 c8 1d 06 26 9c a7 b4 6f c8 e4") == 0) {
    var n = XEnroll.InstallPKCS7Ex(sPKCS7)
    if(n  == 0) { then
    alert("没有安装企业根证书,请手动下载根证书,并安装!");
    }
    }
    </script>
    sPKCS7内容可以用记事本打开outfilename.cer就可以,
    haveInstalled内容可以在双击outfilename.cer中的【详细信息】→【微缩图】找到这样就可以添加了证书,不会再提示了。
      

  2.   

    JDK_HOME/bin/keytool 工具就能生成证书。如果想让 IE 不报出“此网站出具的安全证书不是由受信任的证书颁发机构颁发的”的话,需要向 VeriSign 等证书权威机构申请证书,这是需要花钱的。VeriSign 签名的证书与 keytool 生成的证书,在技术和使用上都是一致的,只是后者 IE 会报出“不受信任”的信息。
      

  3.   

    测试Web Service时,提示错误:IWAB0135E 发生了意外错误。
    javax.net.ssl.SSLHandshakeException
    com.ibm.jsse2.util.g: No trusted certificate found        
    跪求............
      

  4.   

    因为证书不受信任,不知道你使用什么工具测试?你可以指定默认的信息所有证书
    private static class TrustAnyTrustManager implements X509TrustManager { public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    } public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
    } public X509Certificate[] getAcceptedIssuers() {
    return new X509Certificate[]{};
    }
    }private static class TrustAnyHostnameVerifier implements HostnameVerifier {
    public boolean verify(String hostname, SSLSession session) {
    return true;
    }
    }public static void main(String[] args) throws Exception {
    SSLContext sc = SSLContext.getInstance("SSL");
    sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());
    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    .....
    }
      

  5.   

    上面漏了一行
    HttpsURLConnection.setDefaultHostnameVerifier(new TrustAnyHostnameVerifier());