Lihat https://polarssl.org/kb/cryptography/asn1-key-structures-in-der-and-pem (cari halaman "BEGIN RSA PRIVATE KEY") ( tautan arsip untuk anak cucu, untuk berjaga-jaga).
BEGIN RSA PRIVATE KEYadalah PKCS # 1 dan hanya kunci RSA. Ini pada dasarnya hanya objek kunci dari PKCS # 8, tetapi tanpa pengenal versi atau algoritma di depan. BEGIN PRIVATE KEYadalah PKCS # 8 dan menunjukkan bahwa tipe kunci termasuk dalam data kunci itu sendiri. Dari tautan:
Data yang dikodekan PKCS # 8 yang tidak dienkripsi dimulai dan diakhiri dengan tag:
-----BEGIN PRIVATE KEY-----
BASE64 ENCODED DATA
-----END PRIVATE KEY-----
Di dalam data yang disandikan base64 struktur DER berikut hadir:
PrivateKeyInfo ::= SEQUENCE {
version Version,
algorithm AlgorithmIdentifier,
PrivateKey BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
Jadi untuk kunci privat RSA, OID adalah 1.2.840.113549.1.1.1 dan ada RSAPrivateKey sebagai bitstring data kunci PrivateKey.
Berbeda dengan BEGIN RSA PRIVATE KEY, yang selalu menentukan kunci RSA dan karenanya tidak termasuk jenis kunci OID. BEGIN RSA PRIVATE KEYadalah PKCS#1:
File Kunci Pribadi RSA (PKCS # 1)
File PEM kunci pribadi RSA khusus untuk kunci RSA.
Dimulai dan diakhiri dengan tag:
-----BEGIN RSA PRIVATE KEY-----
BASE64 ENCODED DATA
-----END RSA PRIVATE KEY-----
Di dalam data yang disandikan base64 struktur DER berikut hadir:
RSAPrivateKey ::= SEQUENCE {
version Version,
modulus INTEGER, -- n
publicExponent INTEGER, -- e
privateExponent INTEGER, -- d
prime1 INTEGER, -- p
prime2 INTEGER, -- q
exponent1 INTEGER, -- d mod (p-1)
exponent2 INTEGER, -- d mod (q-1)
coefficient INTEGER, -- (inverse of q) mod p
otherPrimeInfos OtherPrimeInfos OPTIONAL
}