Java, используя закрытый ключ с сертификатами и Keystore? - PullRequest
0 голосов
/ 11 января 2011

У меня есть сертификат, который был добавлен в хранилище ключей с помощью KeyTool.Мне также были предоставлены закрытые ключи для использования в производственной / тестовой среде.Я понимаю, что сертификат использует открытый ключ.Где я могу разместить хранилище ключей и закрытые ключи, чтобы их можно было прочитать программой командной строки.Следующий ключ читает хранилище ключей.

System.setProperty("javax.net.ssl.keyStore", "xxx.ks");
System.setProperty("javax.net.ssl.keyStorePassword", "xxx_4ps!");
System.setProperty("javax.net.ssl.trustStore", "xxx.ks");
System.setProperty("javax.net.ssl.trustStorePassword", "xxx!");. 

Где я должен разместить закрытые ключи, которые будут прочитаны программой.Я новичок в шифровании с открытым / закрытым ключом, поэтому любая помощь будет оценена.

С уважением, Матеин

Ответы [ 2 ]

2 голосов
/ 12 января 2011

Закрытый ключ и соответствующий ему сертификат находятся в javax.net.ssl.keyStore.

Сертификаты, которым вы хотите доверять, идут в javax.net.ssl.trustStore. Часто у вас нет своего собственного, просто используйте значение по умолчанию, поставляемое с JDK, в этом случае вы вообще не указываете это свойство.

1 голос
/ 11 января 2011

Эти свойства указывают на сертификаты и только косвенно на ключи.Итак, сначала вы должны получить сертификаты и поместить их в хранилища ключей.

«javax.net.ssl.keyStore» используется для хранилища ключей с сертификатом, который используется для идентификации вашей системы.По умолчанию без какого-либо дополнительного кода вы можете использовать только один сертификат идентификации на хранилище ключей.Чтобы создать сертификат, у вас есть два варианта: один - создать самозаверяющий сертификат, другой - создать CSR и отправить его в центр сертификации для подписи.

См. http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#selfcertCmd и * 1007.*http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#certreqCmd команд.

После создания сертификата с ним будут связаны закрытые и открытые ключи.

"javax.net.ssl.trustStore" указывает на хранилище ключей с сертификатами, которыеВы доверяетеЭто означает, что ваша система будет принимать соединения SSL только с сертификатами из этого хранилища ключей или подписанными сертификатами из этого хранилища ключей.Эти сертифицированные могут быть добавлены в хранилище ключей с помощью следующей команды: http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html#importCmd

Вы можете поместить свои хранилища ключей в любое место.Просто убедитесь, что у процесса Java есть доступ к ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...