zoukankan      html  css  js  c++  java
  • nginx中配置wss的websocket报错:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    背景

    笔者最近在项目中使用websocket,通过nginx进行代理,配置如下

     server {
            listen       443 ssl;
            server_name  www.example.com;
    
            ssl on;
            ssl_certificate      www.example.com+5.pem;
            ssl_certificate_key  www.example.com+5-key.pem;
    
            ssl_session_cache    shared:SSL:1m;
            ssl_session_timeout  5m;
    
            ssl_ciphers  HIGH:!aNULL:!MD5;
            ssl_prefer_server_ciphers  on;
    
            #charset koi8-r;
            access_log logs/aiPlatform/access_log;
            error_log  logs/aiPlatform/error_log   error;
            
        
            
            location /wsapi/asr {
                proxy_pass http://127.0.0.1:81/api/asr;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade; 
                proxy_set_header Connection "Upgrade"; 
            }
            
            location /wsapi/asrv2 {
                proxy_pass http://127.0.0.1:81/api/asrv2;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade"; 
            }
            
            location /wsapi/tts {
                proxy_pass http://127.0.0.1:81/wsapi/tts;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "Upgrade"; 
            }            
        }

    本地Host文件配置如下

    172.112.35.5      www.example.com

    一开始在java中通过SDK方式调用,可以运行的。

    关键代码

     public static void main(String[] args) throws URISyntaxException, InterruptedException, IOException {
    
    
        String WS_URL = "ws://127.0.0.1:81/api/asrv2";
        WS_URL="wss://www.example.com/wsapi/asrv2";
        URI uri = new URI(WS_URL);
    
        CountDownLatch connectClose = new CountDownLatch(1);
        TestASRByChunkClient client = new TestASRByChunkClient(uri, connectClose);
    
        client.sendByStep();
        client.sendEOS();
        connectClose.await();
    }

    错误信息:

    "D:Program FilesJavajdk1.8.0_111injava.exe" "-javaagent:D:developIntelliJ IDEA 2018.3.4.2libidea_rt.jar=43128:D:developIntelliJ IDEA 2018.3.4.2in" -Dfile.encoding=UTF-8 -classpath "D:Program FilesJavajdk1.8.0_111jrelibcharsets.jar;D:Program FilesJavajdk1.8.0_111jrelibdeploy.jar;D:Program FilesJavajdk1.8.0_111jrelibextaccess-bridge-64.jar;D:Program FilesJavajdk1.8.0_111jrelibextcldrdata.jar;D:Program FilesJavajdk1.8.0_111jrelibextdnsns.jar;D:Program FilesJavajdk1.8.0_111jrelibextjaccess.jar;D:Program FilesJavajdk1.8.0_111jrelibextjfxrt.jar;D:Program FilesJavajdk1.8.0_111jrelibextlocaledata.jar;D:Program FilesJavajdk1.8.0_111jrelibext
    ashorn.jar;D:Program FilesJavajdk1.8.0_111jrelibextsunec.jar;D:Program FilesJavajdk1.8.0_111jrelibextsunjce_provider.jar;D:Program FilesJavajdk1.8.0_111jrelibextsunmscapi.jar;D:Program FilesJavajdk1.8.0_111jrelibextsunpkcs11.jar;D:Program FilesJavajdk1.8.0_111jrelibextzipfs.jar;D:Program FilesJavajdk1.8.0_111jrelibjavaws.jar;D:Program FilesJavajdk1.8.0_111jrelibjce.jar;D:Program FilesJavajdk1.8.0_111jrelibjfr.jar;D:Program FilesJavajdk1.8.0_111jrelibjfxswt.jar;D:Program FilesJavajdk1.8.0_111jrelibjsse.jar;D:Program FilesJavajdk1.8.0_111jrelibmanagement-agent.jar;D:Program FilesJavajdk1.8.0_111jrelibplugin.jar;D:Program FilesJavajdk1.8.0_111jrelib
    esources.jar;D:Program FilesJavajdk1.8.0_111jrelib
    t.jar;F:ai开放平台SRCweb	arget	est-classes;F:ai开放平台SRCweb	argetclasses;D:developapache-maven-3.5.4
    epo	kmybatismapper-spring-boot-starter2.1.3mapper-spring-boot-starter-2.1.3.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-jdbc2.0.2.RELEASEspring-boot-starter-jdbc-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epocomzaxxerHikariCP2.7.9HikariCP-2.7.9.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-jdbc5.0.6.RELEASEspring-jdbc-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgmybatismybatis3.4.6mybatis-3.4.6.jar;D:developapache-maven-3.5.4
    epoorgmybatismybatis-spring1.3.2mybatis-spring-1.3.2.jar;D:developapache-maven-3.5.4
    epo	kmybatismapper-core1.1.3mapper-core-1.1.3.jar;D:developapache-maven-3.5.4
    epojavaxpersistencepersistence-api1.0persistence-api-1.0.jar;D:developapache-maven-3.5.4
    epo	kmybatismapper-base1.1.3mapper-base-1.1.3.jar;D:developapache-maven-3.5.4
    epo	kmybatismapper-weekend1.1.4.5mapper-weekend-1.1.4.5.jar;D:developapache-maven-3.5.4
    epo	kmybatismapper-spring1.1.3mapper-spring-1.1.3.jar;D:developapache-maven-3.5.4
    epo	kmybatismapper-extra1.1.3mapper-extra-1.1.3.jar;D:developapache-maven-3.5.4
    epo	kmybatismapper-spring-boot-autoconfigure2.1.3mapper-spring-boot-autoconfigure-2.1.3.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-thymeleaf2.0.2.RELEASEspring-boot-starter-thymeleaf-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorg	hymeleaf	hymeleaf-spring53.0.9.RELEASE	hymeleaf-spring5-3.0.9.RELEASE.jar;D:developapache-maven-3.5.4
    epoorg	hymeleafextras	hymeleaf-extras-java8time3.0.1.RELEASE	hymeleaf-extras-java8time-3.0.1.RELEASE.jar;D:developapache-maven-3.5.4
    epoorg	hymeleaf	hymeleaf3.0.9.RELEASE	hymeleaf-3.0.9.RELEASE.jar;D:developapache-maven-3.5.4
    epoognlognl3.1.12ognl-3.1.12.jar;D:developapache-maven-3.5.4
    epoorgjavassistjavassist3.20.0-GAjavassist-3.20.0-GA.jar;D:developapache-maven-3.5.4
    epoorgattoparserattoparser2.0.4.RELEASEattoparser-2.0.4.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgunbescapeunbescape1.1.5.RELEASEunbescape-1.1.5.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgslf4jslf4j-api1.7.25slf4j-api-1.7.25.jar;D:developapache-maven-3.5.4
    epo
    z
    etultraq	hymeleaf	hymeleaf-layout-dialect2.4.1	hymeleaf-layout-dialect-2.4.1.jar;D:developapache-maven-3.5.4
    epo
    z
    etultraq	hymeleaf	hymeleaf-expression-processor1.1.3	hymeleaf-expression-processor-1.1.3.jar;D:developapache-maven-3.5.4
    epoorgcodehausgroovygroovy2.4.15groovy-2.4.15.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-mail2.0.2.RELEASEspring-boot-starter-mail-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-context5.0.6.RELEASEspring-context-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-context-support5.0.6.RELEASEspring-context-support-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epocomsunmailjavax.mail1.6.1javax.mail-1.6.1.jar;D:developapache-maven-3.5.4
    epojavaxactivationactivation1.1activation-1.1.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-web2.0.2.RELEASEspring-boot-starter-web-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-json2.0.2.RELEASEspring-boot-starter-json-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epocomfasterxmljacksonmodulejackson-module-parameter-names2.9.5jackson-module-parameter-names-2.9.5.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-tomcat2.0.2.RELEASEspring-boot-starter-tomcat-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgapache	omcatembed	omcat-embed-core8.5.31	omcat-embed-core-8.5.31.jar;D:developapache-maven-3.5.4
    epoorgapache	omcatembed	omcat-embed-el8.5.31	omcat-embed-el-8.5.31.jar;D:developapache-maven-3.5.4
    epoorgapache	omcatembed	omcat-embed-websocket8.5.31	omcat-embed-websocket-8.5.31.jar;D:developapache-maven-3.5.4
    epoorghibernatevalidatorhibernate-validator6.0.9.Finalhibernate-validator-6.0.9.Final.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-web5.0.6.RELEASEspring-web-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-webmvc5.0.6.RELEASEspring-webmvc-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-log4j1.3.8.RELEASEspring-boot-starter-log4j-1.3.8.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgslf4jjcl-over-slf4j1.7.25jcl-over-slf4j-1.7.25.jar;D:developapache-maven-3.5.4
    epolog4jlog4j1.2.17log4j-1.2.17.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-configuration-processor2.0.2.RELEASEspring-boot-configuration-processor-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-websocket5.0.6.RELEASEspring-websocket-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-all4.1.24.Final
    etty-all-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epomysqlmysql-connector-java5.1.46mysql-connector-java-5.1.46.jar;D:developapache-maven-3.5.4
    epocomalibabadruid1.0.25druid-1.0.25.jar;D:Program FilesJavajdk1.8.0_111libjconsole.jar;D:Program FilesJavajdk1.8.0_111lib	ools.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-test2.0.2.RELEASEspring-boot-starter-test-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-test2.0.2.RELEASEspring-boot-test-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-test-autoconfigure2.0.2.RELEASEspring-boot-test-autoconfigure-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgassertjassertj-core3.9.1assertj-core-3.9.1.jar;D:developapache-maven-3.5.4
    epoorgmockitomockito-core2.15.0mockito-core-2.15.0.jar;D:developapache-maven-3.5.4
    epo
    etytebuddyyte-buddy1.7.11yte-buddy-1.7.11.jar;D:developapache-maven-3.5.4
    epo
    etytebuddyyte-buddy-agent1.7.11yte-buddy-agent-1.7.11.jar;D:developapache-maven-3.5.4
    epoorgobjenesisobjenesis2.6objenesis-2.6.jar;D:developapache-maven-3.5.4
    epoorghamcresthamcrest-core1.3hamcrest-core-1.3.jar;D:developapache-maven-3.5.4
    epoorghamcresthamcrest-library1.3hamcrest-library-1.3.jar;D:developapache-maven-3.5.4
    epoorgskyscreamerjsonassert1.5.0jsonassert-1.5.0.jar;D:developapache-maven-3.5.4
    epocomvaadinexternalgoogleandroid-json.0.20131108.vaadin1android-json-0.0.20131108.vaadin1.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-test5.0.6.RELEASEspring-test-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgxmlunitxmlunit-core2.5.1xmlunit-core-2.5.1.jar;D:developapache-maven-3.5.4
    epoorghamcresthamcrest-all1.3hamcrest-all-1.3.jar;D:developapache-maven-3.5.4
    epocomjaywayjsonpathjson-path.8.1json-path-0.8.1.jar;D:developapache-maven-3.5.4
    epo
    etminidevjson-smart1.1.1json-smart-1.1.1.jar;D:developapache-maven-3.5.4
    epocommons-langcommons-lang2.6commons-lang-2.6.jar;D:developapache-maven-3.5.4
    epocomjaywayjsonpathjson-path-assert.8.1json-path-assert-0.8.1.jar;D:developapache-maven-3.5.4
    epojunitjunit4.12junit-4.12.jar;D:developapache-maven-3.5.4
    epocomelerwebpinyin4j2.5.0pinyin4j-2.5.0.jar;D:developapache-maven-3.5.4
    epocomgithubpagehelperpagehelper-spring-boot-starter1.2.10pagehelper-spring-boot-starter-1.2.10.jar;D:developapache-maven-3.5.4
    epoorgmybatisspringootmybatis-spring-boot-starter1.3.2mybatis-spring-boot-starter-1.3.2.jar;D:developapache-maven-3.5.4
    epoorgmybatisspringootmybatis-spring-boot-autoconfigure1.3.2mybatis-spring-boot-autoconfigure-1.3.2.jar;D:developapache-maven-3.5.4
    epocomgithubpagehelperpagehelper-spring-boot-autoconfigure1.2.10pagehelper-spring-boot-autoconfigure-1.2.10.jar;D:developapache-maven-3.5.4
    epocomgithubpagehelperpagehelper5.1.8pagehelper-5.1.8.jar;D:developapache-maven-3.5.4
    epocomgithubjsqlparserjsqlparser1.2jsqlparser-1.2.jar;D:developapache-maven-3.5.4
    epoorgslf4jslf4j-log4j121.8.0-beta2slf4j-log4j12-1.8.0-beta2.jar;D:developapache-maven-3.5.4
    epochqoslogbacklogback-classic1.2.3logback-classic-1.2.3.jar;D:developapache-maven-3.5.4
    epochqoslogbacklogback-core1.2.3logback-core-1.2.3.jar;D:developapache-maven-3.5.4
    epoorgslf4jjul-to-slf4j1.7.25jul-to-slf4j-1.7.25.jar;D:developapache-maven-3.5.4
    epoorgslf4jlog4j-over-slf4j1.7.25log4j-over-slf4j-1.7.25.jar;D:developapache-maven-3.5.4
    epocomalibabafastjson1.2.56fastjson-1.2.56.jar;D:developapache-maven-3.5.4
    epoorgapachecommonscommons-lang33.8.1commons-lang3-3.8.1.jar;D:developapache-maven-3.5.4
    epoorgapachecommonscommons-text1.7commons-text-1.7.jar;D:developapache-maven-3.5.4
    epoorgspringframeworksecurityspring-security-core4.2.12.RELEASEspring-security-core-4.2.12.RELEASE.jar;D:developapache-maven-3.5.4
    epoaopallianceaopalliance1.0aopalliance-1.0.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-aop5.0.6.RELEASEspring-aop-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-beans5.0.6.RELEASEspring-beans-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-expression5.0.6.RELEASEspring-expression-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-redis1.4.7.RELEASEspring-boot-starter-redis-1.4.7.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkdataspring-data-redis2.0.7.RELEASEspring-data-redis-2.0.7.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkdataspring-data-keyvalue2.0.7.RELEASEspring-data-keyvalue-2.0.7.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkdataspring-data-commons2.0.7.RELEASEspring-data-commons-2.0.7.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-tx5.0.6.RELEASEspring-tx-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-oxm5.0.6.RELEASEspring-oxm-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epo
    edisclientsjedis2.9.0jedis-2.9.0.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-cache2.0.2.RELEASEspring-boot-starter-cache-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-data-redis2.0.2.RELEASEspring-boot-starter-data-redis-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoiolettucelettuce-core5.0.4.RELEASElettuce-core-5.0.4.RELEASE.jar;D:developapache-maven-3.5.4
    epoioprojectreactor
    eactor-core3.1.7.RELEASE
    eactor-core-3.1.7.RELEASE.jar;D:developapache-maven-3.5.4
    epoorg
    eactivestreams
    eactive-streams1.0.2
    eactive-streams-1.0.2.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-common4.1.24.Final
    etty-common-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-transport4.1.24.Final
    etty-transport-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-resolver4.1.24.Final
    etty-resolver-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epoorgapachecommonscommons-pool22.5.0commons-pool2-2.5.0.jar;D:developapache-maven-3.5.4
    epo
    etrampffmpegffmpeg.6.2ffmpeg-0.6.2.jar;D:developapache-maven-3.5.4
    epocomgoogleguavaguava20.0guava-20.0.jar;D:developapache-maven-3.5.4
    epocommons-iocommons-io2.5commons-io-2.5.jar;D:developapache-maven-3.5.4
    epoorgmodelmappermodelmapper.7.7modelmapper-0.7.7.jar;D:developapache-maven-3.5.4
    epoorgopenjdkjmhjmh-core1.21jmh-core-1.21.jar;D:developapache-maven-3.5.4
    epo
    etsfjopt-simplejopt-simple4.6jopt-simple-4.6.jar;D:developapache-maven-3.5.4
    epoorgapachecommonscommons-math33.2commons-math3-3.2.jar;D:developapache-maven-3.5.4
    epoorgopenjdkjmhjmh-generator-annprocess1.21jmh-generator-annprocess-1.21.jar;D:developapache-maven-3.5.4
    epoorgprojectlomboklombok1.18.8lombok-1.18.8.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-devtools2.0.2.RELEASEspring-boot-devtools-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot2.0.2.RELEASEspring-boot-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-autoconfigure2.0.2.RELEASEspring-boot-autoconfigure-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-aop2.0.2.RELEASEspring-boot-starter-aop-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgaspectjaspectjweaver1.8.13aspectjweaver-1.8.13.jar;D:developapache-maven-3.5.4
    epocomfasterxmljacksoncorejackson-databind2.9.9jackson-databind-2.9.9.jar;D:developapache-maven-3.5.4
    epocomfasterxmljacksonmodulejackson-module-jaxb-annotations2.9.9jackson-module-jaxb-annotations-2.9.9.jar;D:developapache-maven-3.5.4
    epocomfasterxmljacksoncorejackson-core2.9.9jackson-core-2.9.9.jar;D:developapache-maven-3.5.4
    epocomfasterxmljacksoncorejackson-annotations2.9.9jackson-annotations-2.9.9.jar;D:developapache-maven-3.5.4
    epocomfasterxmljacksondatatypejackson-datatype-jsr3102.9.9jackson-datatype-jsr310-2.9.9.jar;D:developapache-maven-3.5.4
    epocomfasterxmljacksondatatypejackson-datatype-jdk82.9.9jackson-datatype-jdk8-2.9.9.jar;D:developapache-maven-3.5.4
    epojavaxvalidationvalidation-api2.0.1.Finalvalidation-api-2.0.1.Final.jar;D:developapache-maven-3.5.4
    epoorghibernatehibernate-validator5.4.0.Finalhibernate-validator-5.4.0.Final.jar;D:developapache-maven-3.5.4
    epoorgjbossloggingjboss-logging3.3.2.Finaljboss-logging-3.3.2.Final.jar;D:developapache-maven-3.5.4
    epocomfasterxmlclassmate1.3.4classmate-1.3.4.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-actuator2.0.2.RELEASEspring-boot-starter-actuator-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-actuator-autoconfigure2.0.2.RELEASEspring-boot-actuator-autoconfigure-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-actuator2.0.2.RELEASEspring-boot-actuator-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoiomicrometermicrometer-core1.0.4micrometer-core-1.0.4.jar;D:developapache-maven-3.5.4
    epoorghdrhistogramHdrHistogram2.1.10HdrHistogram-2.1.10.jar;D:developapache-maven-3.5.4
    epoorglatencyutilsLatencyUtils2.0.3LatencyUtils-2.0.3.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter2.0.2.RELEASEspring-boot-starter-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-logging2.0.2.RELEASEspring-boot-starter-logging-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgapachelogginglog4jlog4j-to-slf4j2.10.0log4j-to-slf4j-2.10.0.jar;D:developapache-maven-3.5.4
    epoorgapachelogginglog4jlog4j-api2.10.0log4j-api-2.10.0.jar;D:developapache-maven-3.5.4
    epojavaxannotationjavax.annotation-api1.3.2javax.annotation-api-1.3.2.jar;D:developapache-maven-3.5.4
    epoorgyamlsnakeyaml1.19snakeyaml-1.19.jar;D:developapache-maven-3.5.4
    epocomdyuprojectprotostuffprotostuff-runtime1.1.3protostuff-runtime-1.1.3.jar;D:developapache-maven-3.5.4
    epocomdyuprojectprotostuffprotostuff-collectionschema1.1.3protostuff-collectionschema-1.1.3.jar;D:developapache-maven-3.5.4
    epocomdyuprojectprotostuffprotostuff-api1.0.8protostuff-api-1.0.8.jar;D:developapache-maven-3.5.4
    epocomdyuprojectprotostuffprotostuff-core1.0.8protostuff-core-1.0.8.jar;D:developapache-maven-3.5.4
    epoorgjava-websocketJava-WebSocket1.4.0Java-WebSocket-1.4.0.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkootspring-boot-starter-websocket2.0.2.RELEASEspring-boot-starter-websocket-2.0.2.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-messaging5.0.6.RELEASEspring-messaging-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgyeauty
    etty-websocket-spring-boot-starter.8.0
    etty-websocket-spring-boot-starter-0.8.0.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-codec-http4.1.24.Final
    etty-codec-http-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-codec4.1.24.Final
    etty-codec-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-handler4.1.24.Final
    etty-handler-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epoio
    etty
    etty-buffer4.1.24.Final
    etty-buffer-4.1.24.Final.jar;D:developapache-maven-3.5.4
    epocommons-clicommons-cli1.2commons-cli-1.2.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-core5.0.6.RELEASEspring-core-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epoorgspringframeworkspring-jcl5.0.6.RELEASEspring-jcl-5.0.6.RELEASE.jar;D:developapache-maven-3.5.4
    epocomopencsvopencsv4.5opencsv-4.5.jar;D:developapache-maven-3.5.4
    epocommons-beanutilscommons-beanutils1.9.3commons-beanutils-1.9.3.jar;D:developapache-maven-3.5.4
    epocommons-loggingcommons-logging1.2commons-logging-1.2.jar;D:developapache-maven-3.5.4
    epocommons-collectionscommons-collections3.2.2commons-collections-3.2.2.jar;D:developapache-maven-3.5.4
    epoorgapachecommonscommons-collections44.2commons-collections4-4.2.jar;D:developapache-maven-3.5.4
    epocomcoreozwindmill1.2.0windmill-1.2.0.jar;D:developapache-maven-3.5.4
    epoorgapachepoipoi-ooxml3.17poi-ooxml-3.17.jar;D:developapache-maven-3.5.4
    epoorgapachepoipoi3.17poi-3.17.jar;D:developapache-maven-3.5.4
    epoorgapachepoipoi-ooxml-schemas3.17poi-ooxml-schemas-3.17.jar;D:developapache-maven-3.5.4
    epoorgapachexmlbeansxmlbeans2.6.0xmlbeans-2.6.0.jar;D:developapache-maven-3.5.4
    epostaxstax-api1.0.1stax-api-1.0.1.jar;D:developapache-maven-3.5.4
    epocomgithubvirtualdcurvesapi1.04curvesapi-1.04.jar;D:developapache-maven-3.5.4
    epocom	dunningjson1.8json-1.8.jar;D:developapache-maven-3.5.4
    epocomgooglecodegsongson2.8.0gson-2.8.0.jar;D:developapache-maven-3.5.4
    epoiohumblehumble-video-all.3.0humble-video-all-0.3.0.jar;D:developapache-maven-3.5.4
    epoiohumblehumble-video-noarch.3.0humble-video-noarch-0.3.0.jar;D:developapache-maven-3.5.4
    epoiohumblehumble-video-arch-x86_64-w64-mingw32.3.0humble-video-arch-x86_64-w64-mingw32-0.3.0.jar;D:developapache-maven-3.5.4
    epoorgapachehttpcomponentshttpclient4.5.6httpclient-4.5.6.jar;D:developapache-maven-3.5.4
    epocommons-codeccommons-codec1.11commons-codec-1.11.jar;D:developapache-maven-3.5.4
    epoorgapachehttpcomponentshttpcore4.4.3httpcore-4.4.3.jar;D:developapache-maven-3.5.4
    epoorgapachehttpcomponentshttpmime4.5.6httpmime-4.5.6.jar;D:developapache-maven-3.5.4
    epourbanophilejava-getopt1.0.9java-getopt-1.0.9.jar;D:developapache-maven-3.5.4
    epocomgooglecodesoundlibs	ritonus-share.3.7.4	ritonus-share-0.3.7.4.jar;D:developapache-maven-3.5.4
    epocomgooglecodesoundlibs	ritonus-all.3.7.2	ritonus-all-0.3.7.2.jar;D:developapache-maven-3.5.4
    epocomgooglecodesoundlibsjorbis.0.17-2jorbis-0.0.17-2.jar" com.example.web.open.controller.TestASRByChunkClient
    14:48:41.515 [WebSocketWriteThread-12] ERROR com.example.web.open.controller.TestASRByChunkClient - 出错了:{}
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
        at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:928)
        at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
        at java.io.InputStream.read(InputStream.java:101)
        at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:424)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
        at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
        at sun.security.validator.Validator.validate(Validator.java:260)
        at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
        at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
        at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
        ... 10 common frames omitted
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
        at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
        at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
        ... 16 common frames omitted
    14:48:41.519 [WebSocketWriteThread-12] INFO com.example.web.open.controller.TestASRByChunkClient - 已经断开与服务器端连接。
    14:48:41.514 [WebSocketConnectReadThread-11] ERROR com.example.web.open.controller.TestASRByChunkClient - 出错了:{}
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
        at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:928)
        at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
        at java.io.InputStream.read(InputStream.java:101)
        at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:424)
        at java.lang.Thread.run(Thread.java:745)
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)
        at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
        at sun.security.validator.Validator.validate(Validator.java:260)
        at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
        at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
        at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1491)
        ... 10 common frames omitted
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
        at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
        at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
        ... 16 common frames omitted
    Exception in thread "main" org.java_websocket.exceptions.WebsocketNotConnectedException
        at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:630)
        at org.java_websocket.WebSocketImpl.send(WebSocketImpl.java:607)
        at org.java_websocket.client.WebSocketClient.send(WebSocketClient.java:344)
        at com.example.web.open.controller.TestASRByChunkClient.init(TestASRByChunkClient.java:74)
        at com.example.web.open.controller.TestASRByChunkClient.sendByStep(TestASRByChunkClient.java:105)
        at com.example.web.open.controller.TestASRByChunkClient.main(TestASRByChunkClient.java:58)
    
    Process finished with exit code 1

    笔者本地调试,使用自签名证书:https本地自签名证书添加到信任证书访问

    后来忽然不能运行了。也不知道为什么。后来查找到原因如下:

    将cer证书转换成jks证书,并在ssl通信代码之前指定证书密码

    转换命令:

    jdk1.8.0_181jrein>keytool -importcert -file "D:develop
    ginx-1.14.2confwww.example.com+5.pem" -keystore "D:develop
    ginx-1.14.2confwww.example.com+5.jks" -alias "example"

    输入密码changeit

     然后在使用ssl通信代码之前加以下代码

    public static void main(String[] args) throws URISyntaxException, InterruptedException, IOException {
    
        System.setProperty("javax.net.ssl.trustStore","D:\develop\nginx-1.14.2\conf\www.example.com+5.jks");
        System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
    
        String WS_URL = "ws://127.0.0.1:81/api/asrv2";
        WS_URL="wss://www.example.com/wsapi/asrv2";
        URI uri = new URI(WS_URL);
    
        CountDownLatch connectClose = new CountDownLatch(1);
        TestASRByChunkClient client = new TestASRByChunkClient(uri, connectClose);
    
        client.sendByStep();
        client.sendEOS();
        connectClose.await();
    }

    随后代码正常工作

    参考来源:https://stackoverflow.com/questions/38353944/keep-getting-no-x509trustmanager-implementation-available-error-when-trying-to-c

  • 相关阅读:
    出差公干,人在北京,欢迎骚扰
    义乌江东货运市场托运指南
    哥伦比亚拖鞋批发,60双起批发仅售11,现货3240双,义乌给力商务有限公司诚意供货,发韵达或指定物流
    员工心态 老板心态 学生心态
    淘宝卖家
    开源问题系统
    当一回"青年导师"
    义乌工商学院到给力百货有多远,怎么走?
    我也八卦,姚晨和它男人离婚的事,意料之外,情理之中,吼吼,我是在迅雷看看的评论中看到的
    新浪车模程序写得很有意思
  • 原文地址:https://www.cnblogs.com/passedbylove/p/12503866.html
Copyright © 2011-2022 走看看