使用 Keytool

问题描述

我正在使用以下内容为安全网站初始化 HTTPS 驱动的服务器。密钥库命令如下:

keytool -genkey -keyalg RSA -alias mykey -keystore keystore.jks -keypass 密码 -storepass 密码 -validity 365 -keysize 2048

运行代码后,当我尝试加载我的网站并出现黄色屏幕时,我收到一条 bad_certificate 错误消息。我做错了什么?

        String path = "C:\\Users\\Administrator\\Documents\\NetBeansprojects\\SSLTest5";
        String file = path + "\\" + "keystore.jks";
        KeyStore keyStore = KeyStore.getInstance("JKS");
        keyStore.load(new FileInputStream(file),"password".tochararray());
         
        // Create key manager
        KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509");
        keyManagerFactory.init(keyStore,"password".tochararray());
        KeyManager[] km = keyManagerFactory.getKeyManagers();
         
        // Create trust manager
        TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("SunX509");
        trustManagerFactory.init(keyStore);
        TrustManager[] tm = trustManagerFactory.getTrustManagers();
         
        // Initialize SSLContext
        SSLContext sslContext = SSLContext.getInstance("SSL");
        sslContext.init(km,tm,null);
        
        SSLServerSocketFactory sslServerSocketFactory = sslContext.getServerSocketFactory();
        SSLServerSocket sslServerSocket = (SSLServerSocket) sslServerSocketFactory.createServerSocket(443);
        
        
        System.out.println("Waiting for client...");

        SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();

        HandleAccept(sslSocket);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)