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 KEY
adalah 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 KEY
adalah 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 KEY
adalah 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
}