SSL-сокеты в Java - PullRequest
       11

SSL-сокеты в Java

0 голосов
/ 27 ноября 2011

Я хочу обеспечить связь в своем приложении с помощью SSL. Я использую org.apache.commons.ssl и OpenSSL. Я создал ключ и crt вот так (пока они сами подписаны):

openssl req -new -x509 -nodes -out szrr.crt -keyout szrr.key
openssl rsa -des3 -in szrr.key -out szrr.key.new
del szrr.key
move szrr.key.new szrr.key

Итак, у меня есть ключ и сертификат, которые я использую следующим образом:

KeyMaterial km = new KeyMaterial(certChain, key, password);
SSLServer sslServer = new SSLServer();
sslServer.setKeyMaterial(km);
sslServer.addTrustMaterial(TrustMaterial.TRUST_ALL);
sslServerSocket = (SSLServerSocket) sslServer
                    .createServerSocket(serverPort);

certChain, ключ - это пути к crt и ключу, пароль - это просто пароль:)

Теперь, что еще мне нужно сделать, чтобы создать SSLClient аналогичным образом?

1 Ответ

0 голосов
/ 27 ноября 2011

Проверьте пример ниже:

SSLClient client = new SSLClient();
char[] pwd = "secret".toCharArray();

client.addTrustMaterial( TrustMaterial.DEFAULT );
client.addTrustMaterial( new TrustMaterial( "/path/to/self-signed.pem" ) );
client.addTrustMaterial( new KeyMaterial( "/path/to/keystore.jks", pwd ) );

client.setCheckHostname( true ); // default is "true" 
client.setCheckExpiry( true );   // default is "true" 
client.setCheckCRL( true );      // default is "true" 

// load a client certificate (max: 1 per SSLClient instance).
client.setKeyMaterial( new KeyMaterial( "/path/to/client.pfx", "secret".toCharArray() ) );
SSLSocket s = (SSLSocket) client.createSocket( "www.mysite.com", 443 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...