Форум ЗАО "Сигнал-КОМ"
http://forum.signal-com.ru/

JCP не сохраняет закрытый ключ, созданный CSP
http://forum.signal-com.ru/viewtopic.php?f=581&t=1927
Страница 1 из 1

Автор:  irk333 [ 28 мар 2012, 09:19 ]
Заголовок сообщения:  JCP не сохраняет закрытый ключ, созданный CSP

Здравствуйте.

Я создаю закрытый ключ и запрос на сертификат с помощью Signal-Com CSP v.2.2.8.0. В "Администраторе" делаю "Экспорт" в папку, получаю файл /key/0000001.key . Потом открываю этот файл с помощью Signal-Com JCP:

byte[] bx = FileUtils.readFileToByteArray(new File("/mydir/keys/00000001.key"));
ECGOST3410ParameterSpec spec = new ECGOST3410ParameterSpec("SECP256R1");
ECGOST3410PrivateKeySpec pvks = new ECGOST3410PrivateKeySpec(bx, spec);
KeyFactory keyFac = KeyFactory.getInstance("ECGOST3410", "SC");
PrivateKey pvk1 = keyFac.generatePrivate(pvks);

byte[] benc = pvk1.getEncoded(); // Ошибка !!!

java.lang.IllegalArgumentException: invalid opaque key length
at ru.signalcom.asn1.gost.b.(Unknown Source) ...

Конфигурация компьютера: Ubuntu 11.04, Sun JDK 1.6.0.26 + JCE 6 Unlimited strength, Signal-com JCP 1.2

Если вместо ECGOST3410ParameterSpec и ECGOST3410PrivateKeySpec использовать соответствующие классы GOST3410, то всё равно выходит та же ошибка. Если генерировать ключ не через 32-CSP, а 64-CSP - всё равно та же ошибка.

Автор:  irk333 [ 29 мар 2012, 12:09 ]
Заголовок сообщения:  Re: JCP не сохраняет закрытый ключ, созданный CSP

Я установила триал-версию Signal-Com JCP 2.2.6, но ошибка всё равно возникает.

Автор:  tvm [ 13 апр 2012, 10:11 ]
Заголовок сообщения:  Re: JCP не сохраняет закрытый ключ, созданный CSP

Для чтения PKCS#8-ключей нужно использовать другую KeyFactory:
...
KeySpec spec = new PKCS8EncodedKeySpec(bx);
KeyFactory keyFac = KeyFactory.getInstance("PKCS#8", "SC");
PrivateKey pvk1 = keyFac.generatePrivate(spec);
byte[] benc = pvk1.getEncoded();

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/