Если вы создаете текстовый файл в формате 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
полезным.