2015-12-24 3 views
0

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

Таким образом, на данный момент у меня есть:

  1. Кривая я буду использовать y^2 = x^3 - ax + b (prime256v1)

  2. .pem файл с закрытым ключом.

Первый вопрос: должен ли секретный ключ быть случайным? Я имею в виду, может это все, что я хочу?

Когда я использую команду OpenSSL:

openssl ecparam -in private.pem -name prime256v1 -out public.pem 

Если я кошку public.pem я получаю:

-----BEGIN EC PARAMETERS----- 
BggqhkjOPQMBBw== 
-----END EC PARAMETERS----- 

Но нет открытого ключа.

Второй вопрос: кто-нибудь знает, что я делаю неправильно?

Заранее спасибо.

+1

Это несколько не по теме здесь как это просто об использовании командной строки. Но это X-mas. В следующий раз, пожалуйста, используйте суперпользователя. –

+0

@Maarten - Я был готов закрыть, но я пойду за твоим руководством. [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) и [Обмен файлами безопасности] (http://security.stackexchange.com/) также могут быть полезны. – jww

ответ

1

Файл .pem с закрытым ключом. У меня есть первый вопрос. Частный ключ может быть случайным? Я имею в виду, может это все, что я хочу?

No. Параметр S секретного ключа может быть случайным, но ASN.1 -> МЭД -> РЕМ кодируются закрытый ключ - который включает в себя параметры - не может.

openssl ecparam -in private.pem -name prime256v1 -out public.pem ... Но нет открытого ключа, кто-нибудь знает, что я делаю неправильно?

Вместо этого вы должны использовать команду ec и использовать -pubout. .pem, что вы в настоящее время становится просто содержит название кривой, зашифрованную OID:

echo "BggqhkjOPQMBBw==" | openssl base64 -d | openssl asn1parse -inform DER 

результата:

0:d=0 hl=2 l= 8 prim: OBJECT   :prime256v1