This assembly provides support for non-primitive cryptographic operations based on ASN.1 BER/CER/DER encoded values. The "Pkcs" assembly and namespace names come from the "Public Key Cryptography Standards" specification set, though not all types in this assembly correspond to a PKCS document.
- Cryptographic Message Syntax (CMS, the successor to PKCS#7): SignedCms, EnvelopedCms
- Private Key Information Syntax (PKCS#8): Pkcs8PrivateKeyInfo
- Various object attributes (PKCS#9): Pkcs9AttributeObject-derived types
- "Personal inFormation eXchange" (PFX, PKCS#12): Pkcs12Info, Pkcs12Builder
- IETF RFC 3161 Timestamp Tokens (not a PKCS document): Rfc3161TimestampToken
Some other elements from the PKCS series exist in System.Security.Cryptography:
- PKCS#1 is RSA
- PKCS#10 is the export/import format for CertificateRequest
- We consider new features, new APIs and performance changes
- We consider PRs that target this library for new source code analyzers
See the Help Wanted issues.
- The source code for this assembly is in the src subdirectory.
- Crytographic primitives are in the System.Security.Cryptography assembly.
- Lower-level ASN.1 BER/CER/DER parsing is in the System.Formats.Asn1 assembly.
The library is shipped as a NuGet package.