0

クライアントからサーバーにデータを転送するプロジェクトがあり、Java で ssl を使用し、1 つのキーを使用して暗号化と復号化を行います keytool を使用してキーを作成します

サーバー Security.addProvider(新しいプロバイダー());

        //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);

client 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 で 1 つのキーを使用することは可能ですか? AES または DES の暗号化の種類を知るにはどうすればよいですか?

4

1 に答える 1

1

サーバー キーストア内の証明書と秘密鍵は、サーバーの認証にのみ使用されます。

SSL/TLS では、暗号化キーはハンドシェイク中にネゴシエートされる共有キーです。

使用されている暗号スイートのどの暗号化アルゴリズムを確認できSSLSessionます。これは、接続を確立した後に取得できます。( からセッションを取得できますSSLSocket。)

于 2012-11-25T19:17:20.820 に答える