CRYPTOSYS PKI PUBLIC AND PRIVATE KEY FILE FORMATS
Indirectly +---------------+ +----------------------+
-supported | MYCERTCH.P7C | | MYPKSC12.PFX |
Formats: +-+---+---------+ +--+-------+-----+-----+
| | | | |
v ^ v ^ v
| | | | |
| CMS_MakeSigData | | RSA_GetPrivateKeyFromPFX
X509_GetCert | +<----X_509_GetCertFromPFX--------+ | |
FromP7Chain | | PFX_MakeFile |
| | | +------------------------------------->+ |
| | | | +<----RSA_MakeKeys----->+ | |
| | | | | | | |
v ^ v ^ v v ^ v
| | | | | | | |
Directly- +--+---+--+--+--+ +--+-------------------+ +-+------+-----+--------+ +-------------------------+
supported | MYCERT.CER | | PUBKEY.DAT | | ENCPRIKEY.DAT | | PRIKEY.DAT |
Formats: +-+-+-----------+ +--+--+-------------+--+ +-+-------------------+-+ +-+---------------------+-+
| | | | | | | | |
v ^ v v ^ v ^ v ^
| | | | | | | | |
| +<-X509_MakeCert-+ | | | | | |
| RSA_ReadPublicKey | RSA_ReadEncPrivateKey | RSA_ReadPrivateKeyInfo |
RSA_GetPublicKeyFromCert | RSA_SavePublicKey | RSA_SaveEncPrivateKey | RSA_SavePrivateKeyInfo
| | | | | | |
v v ^ v ^ v ^
| | | | | | |
Internal +-+---------------------+-------------+--+ +-+-------------------+-----+---------------------+-+
Key | INTERNAL_PUBLIC_KEY_STRING | | INTERNAL_PRIVATE_KEY_STRING |
Formats: +-----------+--------------+-------------+ +-----------+--------------+------------------------+
^ v ^ v
| | | |
RSA_FromXMLString | RSA_FromXMLString |
| RSA_ToXMLString | RSA_ToXMLString
| | | |
^ v ^ v
| | | |
XML +-+--------------+--+ +-+--------------+--+
Formats: | RSAKEYVALUE.XML | | RSAKEYPAIR.XML |
+-------------------+ +-------------------+
FILE FORMATS:-
MYCERT.CER = Single X.509 certificate file in either DER-encoded or PEM format.
MYCERTCH.P7C = PKCS#7 certificate chain file.
MYPKCS12.PFX = PKCS#12/PFX file containing pkcs8-shroudedKeyBag and/or unencrypted pkcs12-certBag.
PUBKEY.DAT = Either PKCS#1 RSAPublicKey or X.509 SubjectPublicKeyInfo in BER or PEM format.
ENCPRIKEY.DAT = PKCS#8 EncryptedPrivateKeyInfo in BER or PEM format.
PRIKEY.DAT = Either PKCS#1 RSAPrivateKey or PKCS#8 PrivateKeyInfo in BER or PEM format.
RSAKEYVALUE.XML = XMLDSIG RSAKeyValue in XML format.
RSAKEYPAIR.XML = XKMS2 RSAKeyPair with all private key elements in XML format.