Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро JCP, JavaTLS
»
Как загрузить публичный ключ GOST R 34.10-2012 256 bit public key в бинарном виде?
Статус: Участник
Группы: Участники
Зарегистрирован: 19.10.2022(UTC) Сообщений: 28  Сказал(а) «Спасибо»: 3 раз Поблагодарили: 2 раз в 2 постах
|
Имеется публичный ключ (GOST R 34.10-2012 256 bit public key) в каком-то бинарном формате (64 байта, 512 бит) и это не формат ASN.1. Как его загрузить в PublicKey? Я видел вот такой пример: Код:val keyFactory = KeyFactory.getInstance(algorithm, JCP.PROVIDER_NAME)
val pubKeySpec = X509EncodedKeySpec(pubKeyData)
val publicKey: PublicKey = keyFactory.generatePublic(pubKeySpec)
Но он не грузит ключ, выдается ошибка, что это не ASN1. Есть еще PKCS8EncodedKeySpec помимо X509EncodedKeySpec, но он тоже не грузит публичный ключ. Подскажите пожалуйста, как можно загрузить этот ключ. Единственный способ который я нашел, это сформировать структуру ASN1, положить в неё бинарный ключ и тогда он нормально загружается при помощи X509EncodedKeySpec: Код:Certificate SEQUENCE (2 elem)
tbsCertificate TBSCertificate SEQUENCE (2 elem)
serialNumber CertificateSerialNumber [?] OBJECT IDENTIFIER 1.2.643.7.1.1.1.1 gost2012PublicKey256 (GOST R 34.10-2012 256 bit public key)
signature AlgorithmIdentifier SEQUENCE (2 elem)
algorithm OBJECT IDENTIFIER 1.2.643.2.2.36.0 cryptoProSignXA (CryptoPro ell.curve XA for GOST R 34.10-2001)
parameters ANY OBJECT IDENTIFIER 1.2.643.7.1.1.2.2 gost2012Digest256 (GOST R 34.11-2012 256 bit digest)
signatureAlgorithm AlgorithmIdentifier [?] BIT STRING (528 bit) 0000010001000000000010000101101100010000101010010000111101000111111000…
вот сюда подставляю свой публичный ключ ---> algorithm OBJECT IDENTIFIER [?] OCTET STRING (64 byte) 085B10A90F47E3092829B2785C12DBC5621E933D8A2DA54DADE9C69E786CFB27560360…
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,020  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 721 раз в 680 постах
|
Здравствуйте. Чтобы создать открытый ключ из блоба, нужно в X509EncodedKeySpec передать ASN.1-объект SubjectPublicKeyInfo (аналогичный тому, что бывает в сертификате). |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 19.10.2022(UTC) Сообщений: 28  Сказал(а) «Спасибо»: 3 раз Поблагодарили: 2 раз в 2 постах
|
Ну да, про это я как раз и писал. Думал может есть способ именно 512 битный ключ без ASN1 обрамления как-то загрузить...
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро JCP, JavaTLS
»
Как загрузить публичный ключ GOST R 34.10-2012 256 bit public key в бинарном виде?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close