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