可以使用java中的一个密钥进行SSL加密和解密

时间:2012-11-25 15:21:21

标签: java ssl aes des

我有将数据从客户端传输到服务器的项目,我在java中使用ssl,并使用一个密钥进行加密和解密 我使用keytool来创建密钥

服务器 Security.addProvider(new Provider());

        //Specifying the Keystore details
        System.setProperty("javax.net.ssl.keyStore","testkeystore.ks");
        System.setProperty("javax.net.ssl.keyStorePassword","mypass");

        // Enable debugging to view the handshake and communication which happens between the SSLClient and the SSLServer
        // System.setProperty("javax.net.debug","all");
    }


            // Initialize the Server Socket
            SSLServerSocketFactory sslServerSocketfactory = (SSLServerSocketFactory)SSLServerSocketFactory.getDefault();
            sslServerSocket = (SSLServerSocket)sslServerSocketfactory.createServerSocket(intSSLport);

客户端  System.setProperty(" javax.net.ssl.trustStore"," /home/lap/NetBeansProjects/Dionaea-001/testkeystore.ks");

    {
        // Registering the JSSE provider
        Security.addProvider(new Provider());
    }

    try {
        // Creating Client Sockets
        SSLSocketFactory sslsocketfactory = (SSLSocketFactory)SSLSocketFactory.getDefault();
        SSLSocket sslSocket = (SSLSocket)sslsocketfactory.createSocket(strServerName,intSSLport);

我的问题 SSL中可以使用一个密钥吗? 我怎么知道加密AES或DES的类型?

1 个答案:

答案 0 :(得分:1)

服务器密钥库中的证书和私钥仅用于验证服务器。

使用SSL / TLS,加密密钥是握手期间协商的共享密钥。

您可以查看cipher suites中使用的加密算法,您可以在建立连接后从SSLSession获取该加密算法。 (您可以从SSLSocket获取会话。)