Bkz. Https://polarssl.org/kb/cryptography/asn1-key-structures-in-der-and-pem ("Her durumda, BEGIN RSA PRIVATE KEY" için arama bağlantısı ).
BEGIN RSA PRIVATE KEYPKCS # 1'dir ve sadece bir RSA anahtarıdır. Temelde sadece PKCS # 8'in anahtar nesnesidir, ancak önde sürüm veya algoritma tanımlayıcısı yoktur. BEGIN PRIVATE KEYPKCS # 8'dir ve anahtar türünün anahtar verilere dahil edildiğini gösterir. Bağlantıdan:
Şifrelenmemiş PKCS # 8 kodlanmış veriler, etiketlerle başlar ve biter:
-----BEGIN PRIVATE KEY-----
BASE64 ENCODED DATA
-----END PRIVATE KEY-----
Base64 kodlu verilerde aşağıdaki DER yapısı bulunur:
PrivateKeyInfo ::= SEQUENCE {
version Version,
algorithm AlgorithmIdentifier,
PrivateKey BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
RSA özel anahtarı için, OID 1.2.840.113549.1.1.1'dir ve PrivateKey anahtar veri bit dizisi olarak bir RSAPrivateKey vardır.
Bunun aksine BEGIN RSA PRIVATE KEY, her zaman bir RSA anahtarı belirtir ve bu nedenle bir anahtar türü OID içermez. BEGIN RSA PRIVATE KEYolduğu PKCS#1:
RSA Özel Anahtar dosyası (PKCS # 1)
RSA özel anahtar PEM dosyası RSA anahtarlarına özgüdür.
Etiketleri ile başlar ve biter:
-----BEGIN RSA PRIVATE KEY-----
BASE64 ENCODED DATA
-----END RSA PRIVATE KEY-----
Base64 kodlu verilerde aşağıdaki DER yapısı bulunur:
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
}