Создать файл открытого ключа RSA .pem, используя модуль 10 и показатель степени?

1362
nanogru

Мой вопрос так же прост, как и заголовок: учитывая модуль и показатель степени в базе 10 открытого ключа RSA, как я могу сгенерировать файл .pem? (Я использую Unix). Благодарю.

Мои извинения, если это неправильный форум по этому вопросу или вообще плохой вопрос; Я попробовал обширный поиск в Google, но безуспешно, и у меня нет опыта работы с RSA.

1

1 ответ на вопрос

1
starfry

Если вы создаете текстовый файл в формате ASN1, содержащий модуль и показатель степени (плюс несколько других битов), то вы можете создать файл PEM следующим образом:

$ openssl asn1parse -genconf key.cnf -out key.der $ openssl rsa -in key.der -inform der -out private.pem $ openssl rsa -in key.der -inform der -out public.pem -pubout 

где key.cnfсодержит данные ASN1 и выглядит примерно так:

asn1=SEQUENCE:rsa_key  [rsa_key] version=INTEGER:0 modulus=INTEGER:13671936028836425653 pubExp=INTEGER:65537 privExp=INTEGER:531444176792982513 p=INTEGER:3273361529 q=INTEGER:4176726557 e1=INTEGER:1295519345 e2=INTEGER:20202669 coeff=INTEGER:1526950891 

Это взято из этой статьи, стр. 82-87, которая объясняет, как работает RSA, и создает файл PEM как часть этого объяснения. Приведенный выше пример описан на стр. 86.

Вышесказанное включает частный показатель, но должно дать вам указатель на то, что вы хотите. Вы можете найти man asn1parseполезным.