2013-07-27 15 views
-1

Я работаю над проектом Java. Мне нужно создать пару ключей RSA, затем использовать их для общения с другими.Java Keystore Импорт частного ключа

Я вижу, что KeyStore может хранить KeyStore.PrivateKeyEntry, но ему нужна цепочка Certificate []. Я создал сертификат, используя мою функцию, но теперь у меня есть только один сертификат с закрытым ключом вместо цепочки сертификатов? Как я программно сохраняю этот закрытый ключ и сертификат в хранилище ключей?

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

Можно ли вставить код примера, используемый для хранения закрытого ключа и открытого ключа.

+0

Почему? Почему бы не использовать SSL, как и все остальные? – EJP

+0

Потому что мне нужно создать секретный ключ и открытый ключ на лету, и он должен быть автоматическим. Поэтому я не могу использовать SSL. Я сделал все, но просто добавление закрытого ключа в хранилище ключей является проблемой :( –

+0

Итак, как знакомые пишут, что открытый ключ, который вы создаете, принадлежит вам? Вы действительно это поняли правильно? Как описано, ваша предлагаемая система является одновременно неэффективен и, вероятно, небезопасен. – EJP

ответ

0

Собственно, это совсем не сложно. Просто создайте сертификат [] с одной записью ... своим сертификатом.

Это означает, что ваши сертификаты являются самоподписанными сертификатами. Если ваши сертификаты фактически подписаны другим сущностью, тогда было бы лучше поместить всю цепочку сертификатов в массив Certificate.

ex.

X509Certificate myCert = ... 

KeyStore ks = ... 

Certificate [] certArray = { myCert }; 

ks.setKeyEntry(alias, key, certArray); 
Смежные вопросы