RSA Data Security Inc was assigned the licensing rights for the patent (which expired in 2000) on the RSAasymmetric key algorithm and acquired the licensing rights to several other key patents as well (e.g., the Schnorr patent). As such, RSA Security, and its research division, RSA Labs, were interested in promoting and facilitating the use of public-key techniques. To that end, they developed the PKCS standards. They retained control over them, announcing that they would make changes/improvements as they deemed necessary, and so the PKCS standards were not, in a significant sense, actual industry standards, despite the name. Some, but not all, have in recent years begun to move into 'standards track' processes with one or more of the standards organizations (notably, the IETFPKIX working group).
See RFC 3447. Defines the mathematical properties and format of RSA public and private keys (ASN.1-encoded in clear-text), and the basic algorithms and encoding/padding schemes for performing RSA encryption, decryption, and producing and verifying signatures
PKCS #2
-
Withdrawn
No longer active. Covered RSA encryption of message digests, but was merged into PKCS #1.
A cryptographic protocol that allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure communications channel.
PKCS #4
-
Withdrawn
No longer active. Covered RSA key syntax, but was merged into PKCS #1.
Defines extensions to the old v1 X.509 certificate specification. Obsoleted by v3 of the same.
PKCS #7
1.5
Cryptographic Message Syntax Standard
See RFC 2315. Used to sign and/or encrypt messages under a PKI. Used also for certificate dissemination (for instance as a response to a PKCS#10 message). Formed the basis for S/MIME, which is now based on RFC 3852, an updated Cryptographic Message Syntax Standard (CMS).
PKCS #8
1.2
Private-Key Information Syntax Standard.
Used by Apache to load private certificate keys. Not encrypted.
PKCS #9
2.0
Selected Attribute Types
Defines selected attribute types for use in PKCS #6 extended certificates, PKCS #7 digitally signed messages, PKCS #8 private-key information, and PKCS #10 certificate-signing requests.
This is a container format that can contain multiple embedded objects, eg. multiple certificates. Usually protected/encrypted with a password. Can be used as a format for the Java key store. Can be used by Tomcat, but NOT by Apache.
Defines a standard allowing users of cryptographic tokens to identify themselves to applications, independent of the application's Cryptoki implementation (PKCS #11) or other API. RSA has relinquished IC-card-related parts of this standard to ISO/IEC 7816-15.[1]