我试图将HTTPS与restlet一起使用来托管我自己的服务器。我有一个maven项目,具有以下依赖关系:
<dependency>
<groupId>org.restlet.jee</groupId>
<artifactId>org.restlet</artifactId>
<version>${restlet-version}</version>
</dependency>
<dependency>
<groupId>org.restlet.jee</groupId>
<artifactId>org.restlet.ext.ssl</artifactId>
<version>${restlet-version}</version>
</dependency>
<dependency>
<groupId>org.restlet.jee</groupId>
<artifactId>org.restlet.ext.net</artifactId>
<version>${restlet-version}</version>
</dependency>
版本为2.2-M3,但我也尝试使用M6和我可以找到的任何其他版本。 这是我用来设置服务器的代码:
Server server = component.getServers().add(Protocol.HTTPS, 8182);
Series parameters = server.getContext().getParameters();
parameters.add("sslContextFactory",
"org.restlet.ext.ssl.DefaultSslContextFactory");
parameters.add("keyStorePath", "localhost.jks");
parameters.add("keyStorePassword", "parkingads");
parameters.add("keyPassword", "parkingads");
parameters.add("keyStoreType", "JKS");
component.getDefaultHost().attach("", new App());
component.start();
我按照指南进行了设置,包括密钥库在内的所有内容: https://restlet.com/open-source/documentation/user-guide/2.2/core/security/https
但是,当我发出请求时,它将永久卡住,直到客户端(浏览器,邮递员或我自己的)超时为止。 以chrome为例,我所看到的就是:建立安全连接,位于左下方。
答案 0 :(得分:0)
我最终解决它的方法是使用2.2.1 restlet和1.0.5 jsslutils。 我没有从建议使用2.3的DefaultSslContextFactory进行更改,而对于2.2,则PkixSslContextFactory应该可以工作,但对我而言不行。