Создать канал SSL с одинаковым паролем для хранилища ключей и хранилища доверенных сертификатов?JAVA

Программисты JAVA общаются здесь
Anonymous
Создать канал SSL с одинаковым паролем для хранилища ключей и хранилища доверенных сертификатов?

Сообщение Anonymous »

Я новый Java-разработчик, и мне нужно создать SSL-соединение между сервером и клиентом (и клиент должен отправлять подписанные файлы).
Следуя руководствам и публикациям из этого странице (например, https://stackoverflow.com/a/18790838/2933117 или http://stilius.net/java/java_ssl.php) я создаю хранилище ключей:

Код: Выделить всё

keytool -genkey -keystore mySrvKeystore -keyalg RSA
и я написал этот код:

Код: Выделить всё

public class Servidor extends Thread {

static int port=2017;
static String serverKeyStore="mySrvKeystore.jks", pwdStore="123456";

public static void main(String[] arstring) {

SSLServerSocket sslserversocket=null;

try {

System.setProperty("javax.net.ssl.keyStore", serverKeyStore);
System.setProperty("javax.net.ssl.keyStorePassword", pwdStore);

SSLServerSocketFactory sslserversocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
sslserversocket = (SSLServerSocket) sslserversocketfactory.createServerSocket(port);

[...]

Код: Выделить всё

class Cliente {

static int port=2017;
static String serverKeyStore="mySrvKeystore.jks", pwdStore="123456";

public static void main(String[] arstring) {

try {

System.setProperty("javax.net.ssl.trustStore", serverKeyStore);
System.setProperty("javax.net.ssl.trustStorePassword", pwdStore);

SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslsocket = (SSLSocket) sslsocketfactory.createSocket("localhost", port);
Теперь у меня есть сомнения: на самом деле мне нужно использовать один и тот же файл (mySrvKeystore.jks) для хранилища ключей и хранилища доверенных сертификатов с одним и тем же паролем («123456»), как это может обеспечить мне безопасность канал? Клиенты могут легко получить ключи, а клиент, желающий подписать файл, должен использовать секретный ключ из хранилища доверенных сертификатов?

Подробнее здесь: https://stackoverflow.com/questions/222 ... truststore

Вернуться в «JAVA»