PKCS

From Wikipedia, the free encyclopedia
  (Redirected from PKCS7)
Jump to: navigation, search

In cryptography, PKCS refers to a group of public-key cryptography standards devised and published by RSA Security.

RSA Data Security Inc (founded in 1982) was assigned the licensing rights for the patent (which expired in 2000) on the RSA asymmetric key algorithm and acquired the licensing rights to several other key patents as well (the Schnorr patent, for example). As such, RSA Security and its research division, RSA Labs, had an interest in promoting and facilitating the use of public-key techniques. To that end, they developed (from the early 1990s onwards) 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 relevant standards organizations (notably, the IETF PKIX working group).

PKCS Standards Summary
Version Name Comments
PKCS #1 2.1 RSA Cryptography Standard[1] 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 as of 2010. Covered RSA encryption of message digests; subsequently merged into PKCS #1.
PKCS #3 1.4 Diffie–Hellman Key Agreement Standard[2] 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 as of 2010. Covered RSA key syntax; subsequently merged into PKCS #1.
PKCS #5 2.0 Password-based Encryption Standard[3] See RFC 2898 and PBKDF2.
PKCS #6 1.5 Extended-Certificate Syntax Standard[4] Defines extensions to the old v1 X.509 certificate specification. Obsoleted by v3 of the same.
PKCS #7 1.5 Cryptographic Message Syntax Standard[5] 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 as of 2010 based on RFC 5652, an updated Cryptographic Message Syntax Standard (CMS). Often used for single sign-on.
PKCS #8 1.2 Private-Key Information Syntax Standard[6] See RFC 5208. Used to carry private certificate keypairs (encrypted or unencrypted).
PKCS #9 2.0 Selected Attribute Types[7] See RFC 2985. 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.
PKCS #10 1.7 Certification Request Standard[8] See RFC 2986. Format of messages sent to a certification authority to request certification of a public key. See certificate signing request.
PKCS #11 2.20 Cryptographic Token Interface[9] Also known as "Cryptoki". An API defining a generic interface to cryptographic tokens (see also Hardware Security Module). Often used in single sign-on, Public-key cryptography and disk encryption[10] systems.
PKCS #12 1.0 Personal Information Exchange Syntax Standard[11] Defines a file format commonly used to store private keys with accompanying public key certificates, protected with a password-based symmetric key. PFX is a predecessor to PKCS#12.

This container format can contain multiple embedded objects, such as multiple certificates. Usually protected/encrypted with a password. Usable as a format for the Java key store and to establish client authentication certificates in Mozilla Firefox. Usable by Apache Tomcat.

PKCS #13 Elliptic Curve Cryptography Standard[12] (Under development as of 2011.)[13]
PKCS #14 Pseudo-random Number Generation (Under development as of 2011.)[13]
PKCS #15 1.1 Cryptographic Token Information Format Standard[14] 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.[15]

[edit] See also

[edit] References

  1. ^ "PKCS #1: RSA Cryptography Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2125. 
  2. ^ "PKCS #3: Diffie-Hellman Key Agreement Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2126. 
  3. ^ "PKCS #5: Password-Based Cryptography Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2127. 
  4. ^ "PKCS #6: Extended-Certificate Syntax Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2128. 
  5. ^ "PKCS #7: Cryptographic Message Syntax Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2129. 
  6. ^ "PKCS #8: Private-Key Information Syntax Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2130. 
  7. ^ "PKCS #9: Selected Attribute Types". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2131. 
  8. ^ "PKCS #10: Certification Request Syntax Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2132. 
  9. ^ "PKCS #11: Cryptographic Token Interface Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2133. 
  10. ^ Security Token/Smartcard Support in FreeOTFE
  11. ^ "PKCS #12: Personal Information Exchange Syntax Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2138. 
  12. ^ "PKCS #13: Elliptic Curve Cryptography Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2139. 
  13. ^ a b "What is PKCS?". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2308. Retrieved 2011-04-05. "The published standards are PKCS #1, #3, #5, #7, #8, #9, #10 #11, #12, and #15; PKCS #13 and #14 are currently being developed." 
  14. ^ "PKCS #15: Cryptographic Token Information Format Standard". RSA Laboratories. http://www.rsa.com/rsalabs/node.asp?id=2141. 
  15. ^ RSA Laboratories: "PKCS #15: Cryptographic Token Information Format Standard".

[edit] External links

Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages