HTTPS-证书

HTTPS-证书,https,Https,我已经使用下面的命令创建了关键点 keytool-genkey-keyalg RSA-alias自签名-keystore keystore.jks-storepass password-validity 360-keysize 2048 之后,我使用驼峰端点公开了HTTPS连接 公共类HTTPSCamelEndPoint{ public Endpoint httpsConfig(CamelContext context) throws Exception { KeyStoreParame

我已经使用下面的命令创建了关键点

keytool-genkey-keyalg RSA-alias自签名-keystore keystore.jks-storepass password-validity 360-keysize 2048

之后,我使用驼峰端点公开了HTTPS连接

公共类HTTPSCamelEndPoint{

public Endpoint httpsConfig(CamelContext context) throws Exception
{
    KeyStoreParameters ksp = new KeyStoreParameters();
    ksp.setResource("C:\\Users\\sithamparamd\\keystore.jks");
    ksp.setPassword("123456");

    KeyManagersParameters kmp = new KeyManagersParameters();
    kmp.setKeyStore(ksp);
    kmp.setKeyPassword("password");

    SSLContextParameters scp = new SSLContextParameters();
    scp.setKeyManagers(kmp);

    JettyHttpComponent jettyComponent =context.getComponent("jetty", JettyHttpComponent.class);

    jettyComponent.setSslContextParameters(scp);

    //jettyComponent.createEndpoint("jetty:https://192.168.16.98:4443/myservice");


    return jettyComponent.createEndpoint("jetty:https://192.168.16.98:4443/myservice");
}


public static void main(String[] args) throws Exception {

    HTTPSCamelEndPoint httpsCamelEndPoint= new HTTPSCamelEndPoint();
    CamelContext camelContext=httpsCamelEndPoint.getContext();
    final Endpoint endpoint=httpsCamelEndPoint.httpsConfig(camelContext);
    System.out.println(endpoint);
    camelContext.addRoutes(new RouteBuilder() {

        @Override
        public void configure() throws Exception {
            // TODO Auto-generated method stub
            from(endpoint).process(new Processor() {

                public void process(Exchange arg0) throws Exception {
                    // TODO Auto-generated method stub
                    System.out.println("GOT THE MSG !!!!");
                }
            });
        }
    });
    camelContext.start();


}

public CamelContext getContext()
{
    CamelContext camelContext=new DefaultCamelContext();
    JettyHttpComponent httpComponent=new JettyHttpComponent();
    camelContext.addComponent("jetty", httpComponent);
    return camelContext;
}
}


但当我通过URL访问时,它显示为无效证书。请告诉我原因并给出解决方案。

这是一个警告,因为您使用的是浏览器不信任您生成的自签名证书

使用CA证书时不会出现警告


您可以通过将证书添加到受信任的根CA存储来抑制警告

浏览器将无法识别自签名证书。只能识别CA签名的证书

您可以使用Let's Encrypt项目设置一个免费的受信任证书,这是


这是一个维基百科。

谢谢@karikalan你的答案“几乎正确”。如果在javaweb服务器前面有Apache,它就可以工作。下面是一个链接,指向Java特定的使用说明:让我们加密已颁发的证书:是的,我假设您和我一样使用apache,感谢您关于Java服务器ca的博客链接