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 KEY
PKCS # 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 KEY
PKCS # 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 KEY
olduğ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
}