mscorlib(4.0.0.0) API with additions
System.Security.Cryptography Namespace Reference

Classes

class  Aes
 Represents the abstract base class from which all implementations of the Advanced Encryption Standard (AES) must inherit. More...
 
class  AesCng
 Provides a Cryptography Next Generation (CNG) implementation of the Advanced Encryption Standard (AES) algorithm. More...
 
class  AesCryptoServiceProvider
 Performs symmetric encryption and decryption using the Cryptographic Application Programming Interfaces (CAPI) implementation of the Advanced Encryption Standard (AES) algorithm. More...
 
class  AesManaged
 Provides a managed implementation of the Advanced Encryption Standard (AES) symmetric algorithm. More...
 
class  AsnEncodedData
 Represents Abstract Syntax Notation One (ASN.1)-encoded data. More...
 
class  AsnEncodedDataCollection
 Represents a collection of T:System.Security.Cryptography.AsnEncodedData objects. This class cannot be inherited. More...
 
class  AsnEncodedDataEnumerator
 Provides the ability to navigate through an T:System.Security.Cryptography.AsnEncodedDataCollection object. This class cannot be inherited. More...
 
class  AsymmetricAlgorithm
 Represents the abstract base class from which all implementations of asymmetric algorithms must inherit. More...
 
class  AsymmetricKeyExchangeDeformatter
 Represents the base class from which all asymmetric key exchange deformatters derive. More...
 
class  AsymmetricKeyExchangeFormatter
 Represents the base class from which all asymmetric key exchange formatters derive. More...
 
class  AsymmetricSignatureDeformatter
 Represents the abstract base class from which all implementations of asymmetric signature deformatters derive. More...
 
class  AsymmetricSignatureFormatter
 Represents the base class from which all implementations of asymmetric signature formatters derive. More...
 
class  CngAlgorithm
 Encapsulates the name of an encryption algorithm. More...
 
class  CngAlgorithmGroup
 Encapsulates the name of an encryption algorithm group. More...
 
class  CngKey
 Defines the core functionality for keys that are used with Cryptography Next Generation (CNG) objects. More...
 
class  CngKeyBlobFormat
 Specifies a key BLOB format for use with Microsoft Cryptography Next Generation (CNG) objects. More...
 
class  CngKeyCreationParameters
 Contains advanced properties for key creation. More...
 
struct  CngProperty
 Encapsulates a property of a Cryptography Next Generation (CNG) key or provider. More...
 
class  CngPropertyCollection
 Provides a strongly typed collection of Cryptography Next Generation (CNG) properties. More...
 
class  CngProvider
 Encapsulates the name of a key storage provider (KSP) for use with Cryptography Next Generation (CNG) objects. More...
 
class  CngUIPolicy
 Encapsulates optional configuration parameters for the user interface (UI) that Cryptography Next Generation (CNG) displays when you access a protected key. More...
 
class  CryptoAPITransform
 Performs a cryptographic transformation of data. This class cannot be inherited. More...
 
class  CryptoConfig
 Accesses the cryptography configuration information. More...
 
class  CryptographicException
 The exception that is thrown when an error occurs during a cryptographic operation. More...
 
class  CryptographicUnexpectedOperationException
 The exception that is thrown when an unexpected operation occurs during a cryptographic operation. More...
 
class  CryptoStream
 Defines a stream that links data streams to cryptographic transformations. More...
 
class  CspKeyContainerInfo
 Provides additional information about a cryptographic key pair. This class cannot be inherited. More...
 
class  CspParameters
 Contains parameters that are passed to the cryptographic service provider (CSP) that performs cryptographic computations. This class cannot be inherited. More...
 
class  DeriveBytes
 Represents the abstract base class from which all classes that derive byte sequences of a specified length inherit. More...
 
class  DES
 Represents the base class for the Data Encryption Standard (DES) algorithm from which all T:System.Security.Cryptography.DES implementations must derive. More...
 
class  DESCryptoServiceProvider
 Defines a wrapper object to access the cryptographic service provider (CSP) version of the Data Encryption Standard (T:System.Security.Cryptography.DES) algorithm. This class cannot be inherited. More...
 
class  DSA
 Represents the abstract base class from which all implementations of the Digital Signature Algorithm (T:System.Security.Cryptography.DSA) must inherit. More...
 
class  DSACng
 Provides a Cryptography Next Generation (CNG) implementation of the Digital Signature Algorithm (DSA). More...
 
class  DSACryptoServiceProvider
 Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the T:System.Security.Cryptography.DSA algorithm. This class cannot be inherited. More...
 
struct  DSAParameters
 Contains the typical parameters for the T:System.Security.Cryptography.DSA algorithm. More...
 
class  DSASignatureDeformatter
 Verifies a Digital Signature Algorithm (T:System.Security.Cryptography.DSA) PKCS#1 v1.5 signature. More...
 
class  DSASignatureFormatter
 Creates a Digital Signature Algorithm (T:System.Security.Cryptography.DSA) signature. More...
 
struct  ECCurve
 Represents an elliptic curve. More...
 
class  ECDiffieHellman
 Provides an abstract base class that Elliptic Curve Diffie-Hellman (ECDH) algorithm implementations can derive from. This class provides the basic set of operations that all ECDH implementations must support. More...
 
class  ECDiffieHellmanCng
 Provides a Cryptography Next Generation (CNG) implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm. This class is used to perform cryptographic operations. More...
 
class  ECDiffieHellmanCngPublicKey
 Specifies an Elliptic Curve Diffie-Hellman (ECDH) public key for use with the T:System.Security.Cryptography.ECDiffieHellmanCng class. More...
 
class  ECDiffieHellmanPublicKey
 Provides an abstract base class from which all T:System.Security.Cryptography.ECDiffieHellmanCngPublicKey implementations must inherit. More...
 
class  ECDsa
 Provides an abstract base class that encapsulates the Elliptic Curve Digital Signature Algorithm (ECDSA). More...
 
class  ECDsaCng
 Provides a Cryptography Next Generation (CNG) implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA). More...
 
struct  ECParameters
 Represents the standard parameters for the elliptic curve cryptography (ECC) algorithm. More...
 
struct  ECPoint
 Represents a (X,Y) coordinate pair for elliptic curve cryptography (ECC) structures. More...
 
class  FromBase64Transform
 Converts a T:System.Security.Cryptography.CryptoStream from base 64. More...
 
class  HashAlgorithm
 Represents the base class from which all implementations of cryptographic hash algorithms must derive. More...
 
struct  HashAlgorithmName
 Specifies the name of a cryptographic hash algorithm. More...
 
class  HMAC
 Represents the abstract class from which all implementations of Hash-based Message Authentication Code (HMAC) must derive. More...
 
class  HMACMD5
 Computes a Hash-based Message Authentication Code (HMAC) by using the T:System.Security.Cryptography.MD5 hash function. More...
 
class  HMACRIPEMD160
 Computes a Hash-based Message Authentication Code (HMAC) by using the T:System.Security.Cryptography.RIPEMD160 hash function. More...
 
class  HMACSHA1
 Computes a Hash-based Message Authentication Code (HMAC) using the T:System.Security.Cryptography.SHA1 hash function. More...
 
class  HMACSHA256
 Computes a Hash-based Message Authentication Code (HMAC) by using the T:System.Security.Cryptography.SHA256 hash function. More...
 
class  HMACSHA384
 Computes a Hash-based Message Authentication Code (HMAC) using the T:System.Security.Cryptography.SHA384 hash function. More...
 
class  HMACSHA512
 Computes a Hash-based Message Authentication Code (HMAC) using the T:System.Security.Cryptography.SHA512 hash function. More...
 
interface  ICryptoTransform
 Defines the basic operations of cryptographic transformations. More...
 
interface  ICspAsymmetricAlgorithm
 Defines methods that allow an T:System.Security.Cryptography.AsymmetricAlgorithm class to enumerate key container information, and import and export Microsoft Cryptographic API (CAPI)–compatible key blobs. More...
 
class  IncrementalHash
 Provides support for computing a hash or Hash-based Message Authentication Code (HMAC) value incrementally across several segments. More...
 
class  KeyedHashAlgorithm
 Represents the abstract class from which all implementations of keyed hash algorithms must derive. More...
 
class  KeySizes
 Determines the set of valid key sizes for the symmetric cryptographic algorithms. More...
 
class  MACTripleDES
 Computes a Message Authentication Code (MAC) using T:System.Security.Cryptography.TripleDES for the input data T:System.Security.Cryptography.CryptoStream. More...
 
class  ManifestSignatureInformation
 Provides information for a manifest signature. More...
 
class  ManifestSignatureInformationCollection
 Represents a read-only collection of T:System.Security.Cryptography.ManifestSignatureInformation objects.  More...
 
class  MaskGenerationMethod
 Represents the abstract class from which all mask generator algorithms must derive. More...
 
class  MD5
 Represents the abstract class from which all implementations of the T:System.Security.Cryptography.MD5 hash algorithm inherit. More...
 
class  MD5Cng
 Provides a CNG (Cryptography Next Generation) implementation of the MD5 (Message Digest 5) 128-bit hashing algorithm. More...
 
class  MD5CryptoServiceProvider
 Computes the T:System.Security.Cryptography.MD5 hash value for the input data using the implementation provided by the cryptographic service provider (CSP). This class cannot be inherited. More...
 
class  Oid
 Represents a cryptographic object identifier. This class cannot be inherited. More...
 
class  OidCollection
 Represents a collection of T:System.Security.Cryptography.Oid objects. This class cannot be inherited. More...
 
class  OidEnumerator
 Provides the ability to navigate through an T:System.Security.Cryptography.OidCollection object. This class cannot be inherited. More...
 
class  PasswordDeriveBytes
 Derives a key from a password using an extension of the PBKDF1 algorithm. More...
 
class  PKCS1MaskGenerationMethod
 Computes masks according to PKCS #1 for use by key exchange algorithms. More...
 
class  RandomNumberGenerator
 Represents the abstract class from which all implementations of cryptographic random number generators derive. More...
 
class  RC2
 Represents the base class from which all implementations of the T:System.Security.Cryptography.RC2 algorithm must derive. More...
 
class  RC2CryptoServiceProvider
 Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the T:System.Security.Cryptography.RC2 algorithm. This class cannot be inherited. More...
 
class  Rfc2898DeriveBytes
 Implements password-based key derivation functionality, PBKDF2, by using a pseudo-random number generator based on T:System.Security.Cryptography.HMACSHA1. More...
 
class  Rijndael
 Represents the base class from which all implementations of the T:System.Security.Cryptography.Rijndael symmetric encryption algorithm must inherit. More...
 
class  RijndaelManaged
 Accesses the managed version of the T:System.Security.Cryptography.Rijndael algorithm. This class cannot be inherited. More...
 
class  RijndaelManagedTransform
 Performs a cryptographic transformation of data using the Rijndael algorithm. This class cannot be inherited. More...
 
class  RIPEMD160
 Represents the abstract class from which all implementations of the MD160 hash algorithm inherit. More...
 
class  RIPEMD160Managed
 Computes the T:System.Security.Cryptography.RIPEMD160 hash for the input data using the managed library. More...
 
class  RNGCryptoServiceProvider
 Implements a cryptographic Random Number Generator (RNG) using the implementation provided by the cryptographic service provider (CSP). This class cannot be inherited. More...
 
class  RSA
 Represents the base class from which all implementations of the T:System.Security.Cryptography.RSA algorithm inherit. More...
 
class  RSACng
 Provides a Cryptography Next Generation (CNG) implementation of the RSA algorithm. More...
 
class  RSACryptoServiceProvider
 Performs asymmetric encryption and decryption using the implementation of the T:System.Security.Cryptography.RSA algorithm provided by the cryptographic service provider (CSP). This class cannot be inherited. More...
 
class  RSAEncryptionPadding
 Specifies the padding mode and parameters to use with RSA encryption or decryption operations. More...
 
class  RSAOAEPKeyExchangeDeformatter
 Decrypts Optimal Asymmetric Encryption Padding (OAEP) key exchange data. More...
 
class  RSAOAEPKeyExchangeFormatter
 Creates Optimal Asymmetric Encryption Padding (OAEP) key exchange data using T:System.Security.Cryptography.RSA. More...
 
struct  RSAParameters
 Represents the standard parameters for the T:System.Security.Cryptography.RSA algorithm. More...
 
class  RSAPKCS1KeyExchangeDeformatter
 Decrypts the PKCS #1 key exchange data. More...
 
class  RSAPKCS1KeyExchangeFormatter
 Creates the PKCS#1 key exchange data using T:System.Security.Cryptography.RSA. More...
 
class  RSAPKCS1SignatureDeformatter
 Verifies an T:System.Security.Cryptography.RSA PKCS #1 version 1.5 signature. More...
 
class  RSAPKCS1SignatureFormatter
 Creates an T:System.Security.Cryptography.RSA PKCS #1 version 1.5 signature. More...
 
class  RSASignaturePadding
 Specifies the padding mode and parameters to use with RSA signature creation or verification operations. More...
 
class  SHA1
 Computes the T:System.Security.Cryptography.SHA1 hash for the input data. More...
 
class  SHA1Cng
 Provides a Cryptography Next Generation (CNG) implementation of the Secure Hash Algorithm (SHA). More...
 
class  SHA1CryptoServiceProvider
 Computes the T:System.Security.Cryptography.SHA1 hash value for the input data using the implementation provided by the cryptographic service provider (CSP). This class cannot be inherited. More...
 
class  SHA1Managed
 Computes the T:System.Security.Cryptography.SHA1 hash for the input data using the managed library. More...
 
class  SHA256
 Computes the T:System.Security.Cryptography.SHA256 hash for the input data. More...
 
class  SHA256Cng
 Provides a Cryptography Next Generation (CNG) implementation of the Secure Hash Algorithm (SHA) for 256-bit hash values. More...
 
class  SHA256CryptoServiceProvider
 Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the T:System.Security.Cryptography.SHA256 algorithm. More...
 
class  SHA256Managed
 Computes the T:System.Security.Cryptography.SHA256 hash for the input data using the managed library. More...
 
class  SHA384
 Computes the T:System.Security.Cryptography.SHA384 hash for the input data. More...
 
class  SHA384Cng
 Provides a Cryptography Next Generation (CNG) implementation of the Secure Hash Algorithm (SHA) for 384-bit hash values. More...
 
class  SHA384CryptoServiceProvider
 Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the T:System.Security.Cryptography.SHA384 algorithm. More...
 
class  SHA384Managed
 Computes the T:System.Security.Cryptography.SHA384 hash for the input data using the managed library. More...
 
class  SHA512
 Computes the T:System.Security.Cryptography.SHA512 hash for the input data. More...
 
class  SHA512Cng
 Provides a Cryptography Next Generation (CNG) implementation of the Secure Hash Algorithm (SHA) for 512-bit hash values. More...
 
class  SHA512CryptoServiceProvider
 Defines a wrapper object to access the cryptographic service provider (CSP) implementation of the T:System.Security.Cryptography.SHA512 algorithm. More...
 
class  SHA512Managed
 Computes the T:System.Security.Cryptography.SHA512 hash algorithm for the input data using the managed library. More...
 
class  SignatureDescription
 Contains information about the properties of a digital signature. More...
 
class  StrongNameSignatureInformation
 Holds the strong name signature information for a manifest. More...
 
class  SymmetricAlgorithm
 Represents the abstract base class from which all implementations of symmetric algorithms must inherit. More...
 
class  ToBase64Transform
 Converts a T:System.Security.Cryptography.CryptoStream to base 64. More...
 
class  TripleDES
 Represents the base class for Triple Data Encryption Standard algorithms from which all T:System.Security.Cryptography.TripleDES implementations must derive. More...
 
class  TripleDESCng
 Provides a Cryptography Next Generation (CNG) implementation of the Triple Data Encryption Standard (3DES) algorithm. More...
 
class  TripleDESCryptoServiceProvider
 Defines a wrapper object to access the cryptographic service provider (CSP) version of the T:System.Security.Cryptography.TripleDES algorithm. This class cannot be inherited. More...
 

Enumerations

enum  AsymmetricPaddingMode { None = 1, Pkcs1 = 2, Oaep = 4, Pss = 8 }
 
enum  CipherMode {
  CipherMode.CBC = 1, CipherMode.ECB, CipherMode.OFB, CipherMode.CFB,
  CipherMode.CTS
}
 Specifies the block cipher mode to use for encryption. More...
 
enum  CngExportPolicies {
  CngExportPolicies.None = 0x0, CngExportPolicies.AllowExport = 0x1, CngExportPolicies.AllowPlaintextExport = 0x2, CngExportPolicies.AllowArchiving = 0x4,
  CngExportPolicies.AllowPlaintextArchiving = 0x8
}
 Specifies the key export policies for a key. More...
 
enum  CngKeyCreationOptions { CngKeyCreationOptions.None = 0x0, CngKeyCreationOptions.MachineKey = 0x20, CngKeyCreationOptions.OverwriteExistingKey = 0x80 }
 Specifies options used for key creation. More...
 
enum  CngKeyHandleOpenOptions { CngKeyHandleOpenOptions.None = 0x0, CngKeyHandleOpenOptions.EphemeralKey = 0x1 }
 Specifies options for opening key handles. More...
 
enum  CngKeyOpenOptions { CngKeyOpenOptions.None = 0x0, CngKeyOpenOptions.UserKey = 0x0, CngKeyOpenOptions.MachineKey = 0x20, CngKeyOpenOptions.Silent = 0x40 }
 Specifies options for opening a key. More...
 
enum  CngKeyTypes { None = 0x0, MachineKey = 0x20 }
 
enum  CngKeyUsages {
  CngKeyUsages.None = 0x0, CngKeyUsages.Decryption = 0x1, CngKeyUsages.Signing = 0x2, CngKeyUsages.KeyAgreement = 0x4,
  CngKeyUsages.AllUsages = 0xFFFFFF
}
 Specifies the cryptographic operations that a Cryptography Next Generation (CNG) key may be used with. More...
 
enum  CngPropertyOptions { CngPropertyOptions.None = 0x0, CngPropertyOptions.CustomProperty = 0x40000000, CngPropertyOptions.Persist = int.MinValue }
 Specifies Cryptography Next Generation (CNG) key property options. More...
 
enum  CngUIProtectionLevels { CngUIProtectionLevels.None = 0x0, CngUIProtectionLevels.ProtectKey = 0x1, CngUIProtectionLevels.ForceHighProtection = 0x2 }
 Specifies the protection level for the key in user interface (UI) prompting scenarios. More...
 
enum  CryptoAPITransformMode { Encrypt, Decrypt }
 
enum  CryptoStreamMode { CryptoStreamMode.Read, CryptoStreamMode.Write }
 Specifies the mode of a cryptographic stream. More...
 
enum  CspAlgorithmType { Rsa, Dss }
 
enum  CspProviderFlags {
  CspProviderFlags.NoFlags = 0x0, CspProviderFlags.UseMachineKeyStore = 0x1, CspProviderFlags.UseDefaultKeyContainer = 0x2, CspProviderFlags.UseNonExportableKey = 0x4,
  CspProviderFlags.UseExistingKey = 0x8, CspProviderFlags.UseArchivableKey = 0x10, CspProviderFlags.UseUserProtectedKey = 0x20, CspProviderFlags.NoPrompt = 0x40,
  CspProviderFlags.CreateEphemeralKey = 0x80
}
 Specifies flags that modify the behavior of the cryptographic service providers (CSP). More...
 
enum  DSAFIPSVERSION_ENUM { DSA_FIPS186_2, DSA_FIPS186_3 }
 
enum  ECDiffieHellmanKeyDerivationFunction { ECDiffieHellmanKeyDerivationFunction.Hash, ECDiffieHellmanKeyDerivationFunction.Hmac, ECDiffieHellmanKeyDerivationFunction.Tls }
 Specifies the key derivation function that the T:System.Security.Cryptography.ECDiffieHellmanCng class will use to convert secret agreements into key material. More...
 
enum  ECKeyXmlFormat { ECKeyXmlFormat.Rfc4050 }
 Defines XML serialization formats for elliptic curve keys. More...
 
enum  EncryptionMode { Encrypt, Decrypt }
 
enum  FromBase64TransformMode { FromBase64TransformMode.IgnoreWhiteSpaces, FromBase64TransformMode.DoNotIgnoreWhiteSpaces }
 Specifies whether white space should be ignored in the base 64 transformation. More...
 
enum  HASHALGORITHM_ENUM { DSA_HASH_ALGORITHM_SHA1, DSA_HASH_ALGORITHM_SHA256, DSA_HASH_ALGORITHM_SHA512 }
 
enum  KeyNumber { KeyNumber.Exchange = 1, KeyNumber.Signature }
 Specifies whether to create an asymmetric signature key or an asymmetric exchange key. More...
 
enum  OidGroup {
  OidGroup.All, OidGroup.HashAlgorithm, OidGroup.EncryptionAlgorithm, OidGroup.PublicKeyAlgorithm,
  OidGroup.SignatureAlgorithm, OidGroup.Attribute, OidGroup.ExtensionOrAttribute, OidGroup.EnhancedKeyUsage,
  OidGroup.Policy, OidGroup.Template, OidGroup.KeyDerivationFunction
}
 Identifies Windows cryptographic object identifier (OID) groups. More...
 
enum  PaddingMode {
  PaddingMode.None = 1, PaddingMode.PKCS7, PaddingMode.Zeros, PaddingMode.ANSIX923,
  PaddingMode.ISO10126
}
 Specifies the type of padding to apply when the message data block is shorter than the full number of bytes needed for a cryptographic operation. More...
 
enum  RijndaelManagedTransformMode { Encrypt, Decrypt }
 
enum  RSAEncryptionPaddingMode { RSAEncryptionPaddingMode.Pkcs1, RSAEncryptionPaddingMode.Oaep }
 Specifies the padding mode to use with RSA encryption or decryption operations. More...
 
enum  RSASignaturePaddingMode { RSASignaturePaddingMode.Pkcs1, RSASignaturePaddingMode.Pss }
 Specifies the padding mode to use with RSA signature creation or verification operations. More...
 
enum  SignatureVerificationResult {
  SignatureVerificationResult.Valid = 0, SignatureVerificationResult.AssemblyIdentityMismatch = 1, SignatureVerificationResult.ContainingSignatureInvalid = 2, SignatureVerificationResult.PublicKeyTokenMismatch = 3,
  SignatureVerificationResult.PublisherMismatch = 4, SignatureVerificationResult.SystemError = -2146869247, SignatureVerificationResult.InvalidSignerCertificate = -2146869246, SignatureVerificationResult.InvalidCountersignature = -2146869245,
  SignatureVerificationResult.InvalidCertificateSignature = -2146869244, SignatureVerificationResult.InvalidTimestamp = -2146869243, SignatureVerificationResult.BadDigest = -2146869232, SignatureVerificationResult.BasicConstraintsNotObserved = -2146869223,
  SignatureVerificationResult.UnknownTrustProvider = -2146762751, SignatureVerificationResult.UnknownVerificationAction = -2146762750, SignatureVerificationResult.BadSignatureFormat = -2146762749, SignatureVerificationResult.CertificateNotExplicitlyTrusted = -2146762748,
  SignatureVerificationResult.MissingSignature = -2146762496, SignatureVerificationResult.CertificateExpired = -2146762495, SignatureVerificationResult.InvalidTimePeriodNesting = -2146762494, SignatureVerificationResult.InvalidCertificateRole = -2146762493,
  SignatureVerificationResult.PathLengthConstraintViolated = -2146762492, SignatureVerificationResult.UnknownCriticalExtension = -2146762491, SignatureVerificationResult.CertificateUsageNotAllowed = -2146762490, SignatureVerificationResult.IssuerChainingError = -2146762489,
  SignatureVerificationResult.CertificateMalformed = -2146762488, SignatureVerificationResult.UntrustedRootCertificate = -2146762487, SignatureVerificationResult.CouldNotBuildChain = -2146762486, SignatureVerificationResult.GenericTrustFailure = -2146762485,
  SignatureVerificationResult.CertificateRevoked = -2146762484, SignatureVerificationResult.UntrustedTestRootCertificate = -2146762483, SignatureVerificationResult.RevocationCheckFailure = -2146762482, SignatureVerificationResult.InvalidCertificateUsage = -2146762480,
  SignatureVerificationResult.CertificateExplicitlyDistrusted = -2146762479, SignatureVerificationResult.UntrustedCertificationAuthority = -2146762478, SignatureVerificationResult.InvalidCertificatePolicy = -2146762477, SignatureVerificationResult.InvalidCertificateName = -2146762476
}
 Specifies most of the result codes for signature verification. More...
 

Enumeration Type Documentation

◆ CipherMode

Specifies the block cipher mode to use for encryption.

Enumerator
CBC 

The Cipher Block Chaining (CBC) mode introduces feedback. Before each plain text block is encrypted, it is combined with the cipher text of the previous block by a bitwise exclusive OR operation. This ensures that even if the plain text contains many identical blocks, they will each encrypt to a different cipher text block. The initialization vector is combined with the first plain text block by a bitwise exclusive OR operation before the block is encrypted. If a single bit of the cipher text block is mangled, the corresponding plain text block will also be mangled. In addition, a bit in the subsequent block, in the same position as the original mangled bit, will be mangled.

ECB 

The Electronic Codebook (ECB) mode encrypts each block individually. Any blocks of plain text that are identical and in the same message, or that are in a different message encrypted with the same key, will be transformed into identical cipher text blocks. Important:  This mode is not recommended because it opens the door for multiple security exploits. If the plain text to be encrypted contains substantial repetition, it is feasible for the cipher text to be broken one block at a time. It is also possible to use block analysis to determine the encryption key. Also, an active adversary can substitute and exchange individual blocks without detection, which allows blocks to be saved and inserted into the stream at other points without detection.

OFB 

The Output Feedback (OFB) mode processes small increments of plain text into cipher text instead of processing an entire block at a time. This mode is similar to CFB; the only difference between the two modes is the way that the shift register is filled. If a bit in the cipher text is mangled, the corresponding bit of plain text will be mangled. However, if there are extra or missing bits from the cipher text, the plain text will be mangled from that point on.

CFB 

The Cipher Feedback (CFB) mode processes small increments of plain text into cipher text, instead of processing an entire block at a time. This mode uses a shift register that is one block in length and is divided into sections. For example, if the block size is 8 bytes, with one byte processed at a time, the shift register is divided into eight sections. If a bit in the cipher text is mangled, one plain text bit is mangled and the shift register is corrupted. This results in the next several plain text increments being mangled until the bad bit is shifted out of the shift register. The default feedback size can vary by algorithm, but is typically either 8 bits or the number of bits of the block size. You can alter the number of feedback bits by using the P:System.Security.Cryptography.SymmetricAlgorithm.FeedbackSize property. Algorithms that support CFB use this property to set the feedback.

CTS 

The Cipher Text Stealing (CTS) mode handles any length of plain text and produces cipher text whose length matches the plain text length. This mode behaves like the CBC mode for all but the last two blocks of the plain text.

Definition at line 8 of file CipherMode.cs.

◆ CngExportPolicies

Specifies the key export policies for a key.

Enumerator
None 

No export policies are established. Key export is allowed without restriction.

AllowExport 

The private key can be exported multiple times.

AllowPlaintextExport 

The private key can be exported multiple times as plaintext.

AllowArchiving 

The private key can be exported one time for archiving purposes.

AllowPlaintextArchiving 

The private key can be exported one time as plaintext.

Definition at line 5 of file CngExportPolicies.cs.

◆ CngKeyCreationOptions

Specifies options used for key creation.

Enumerator
None 

No key creation options are used.

MachineKey 

A machine-wide key is created.

OverwriteExistingKey 

The existing key is overwritten during key creation.

Definition at line 5 of file CngKeyCreationOptions.cs.

◆ CngKeyHandleOpenOptions

Specifies options for opening key handles.

Enumerator
None 

The key handle being opened does not specify an ephemeral key.

EphemeralKey 

The key handle being opened specifies an ephemeral key.

Definition at line 5 of file CngKeyHandleOpenOptions.cs.

◆ CngKeyOpenOptions

Specifies options for opening a key.

Enumerator
None 

No key open options are specified.

UserKey 

If the F:System.Security.Cryptography.CngKeyOpenOptions.MachineKey value is not specified, a user key is opened instead.

MachineKey 

A machine-wide key is opened.

Silent 

UI prompting is suppressed.

Definition at line 5 of file CngKeyOpenOptions.cs.

◆ CngKeyUsages

Specifies the cryptographic operations that a Cryptography Next Generation (CNG) key may be used with.

Enumerator
None 

No usage values are assigned to the key.

Decryption 

The key can be used for encryption and decryption.

Signing 

The key can be used for signing and verification.

KeyAgreement 

The key can be used for secret agreement generation and key exchange.

AllUsages 

The key can be used for all purposes.

Definition at line 5 of file CngKeyUsages.cs.

◆ CngPropertyOptions

Specifies Cryptography Next Generation (CNG) key property options.

Enumerator
None 

The referenced property has no options.

CustomProperty 

The property is not specified by CNG. Use this option to avoid future name conflicts with CNG properties.

Persist 

The property should be persisted.

Definition at line 5 of file CngPropertyOptions.cs.

◆ CngUIProtectionLevels

Specifies the protection level for the key in user interface (UI) prompting scenarios.

Enumerator
None 

No UI prompt is displayed when the key is accessed.

ProtectKey 

A UI prompt is displayed the first time the key is accessed in a process.

ForceHighProtection 

A UI prompt is displayed every time the key is accessed.

Definition at line 5 of file CngUIProtectionLevels.cs.

◆ CryptoStreamMode

Specifies the mode of a cryptographic stream.

Enumerator
Read 

Read access to a cryptographic stream.

Write 

Write access to a cryptographic stream.

Definition at line 8 of file CryptoStreamMode.cs.

◆ CspProviderFlags

Specifies flags that modify the behavior of the cryptographic service providers (CSP).

Enumerator
NoFlags 

Do not specify any settings.

UseMachineKeyStore 

Use key information from the computer's key store.

UseDefaultKeyContainer 

Use key information from the default key container.

UseNonExportableKey 

Use key information that cannot be exported.

UseExistingKey 

Use key information from the current key.

UseArchivableKey 

Allow a key to be exported for archival or recovery.

UseUserProtectedKey 

Notify the user through a dialog box or another method when certain actions are attempting to use a key. This flag is not compatible with the F:System.Security.Cryptography.CspProviderFlags.NoPrompt flag.

NoPrompt 

Prevent the CSP from displaying any user interface (UI) for this context.

CreateEphemeralKey 

Create a temporary key that is released when the associated Rivest-Shamir-Adleman (RSA) object is closed. Do not use this flag if you want your key to be independent of the RSA object.

Definition at line 9 of file CspProviderFlags.cs.

◆ ECDiffieHellmanKeyDerivationFunction

Specifies the key derivation function that the T:System.Security.Cryptography.ECDiffieHellmanCng class will use to convert secret agreements into key material.

Enumerator
Hash 

A hash algorithm is used to generate key material. The P:System.Security.Cryptography.ECDiffieHellmanCng.HashAlgorithm property specifies the name of the algorithm to use. If the algorithm name is not specified, T:System.Security.Cryptography.SHA256 is used as the default algorithm.

Hmac 

A Hash-based Message Authentication Code (HMAC) algorithm is used to generate key material. The P:System.Security.Cryptography.ECDiffieHellmanCng.HmacKey property specifies the key to use. Either this property must be set or the P:System.Security.Cryptography.ECDiffieHellmanCng.UseSecretAgreementAsHmacKey property must be set to true; otherwise, a T:System.Security.Cryptography.CryptographicException is thrown when you use F:System.Security.Cryptography.ECDiffieHellmanKeyDerivationFunction.Hmac. If both properties are set, the secret agreement is used as the HMAC key.

Tls 

The Transport Layer Security (TLS) protocol is used to generate key material. The P:System.Security.Cryptography.ECDiffieHellmanCng.Seed and P:System.Security.Cryptography.ECDiffieHellmanCng.Label properties must be set; otherwise, a T:System.Security.Cryptography.CryptographicException is thrown when you use F:System.Security.Cryptography.ECDiffieHellmanKeyDerivationFunction.Tls.

Definition at line 4 of file ECDiffieHellmanKeyDerivationFunction.cs.

◆ ECKeyXmlFormat

Defines XML serialization formats for elliptic curve keys.

Enumerator
Rfc4050 

An XML serialization format described in RFC 4050, "Using the Elliptic Curve Signature Algorithm (ECDSA) for XML Digital Signatures."

Definition at line 4 of file ECKeyXmlFormat.cs.

◆ FromBase64TransformMode

Specifies whether white space should be ignored in the base 64 transformation.

Enumerator
IgnoreWhiteSpaces 

White space should be ignored.

DoNotIgnoreWhiteSpaces 

White space should not be ignored.

Definition at line 8 of file FromBase64TransformMode.cs.

◆ KeyNumber

Specifies whether to create an asymmetric signature key or an asymmetric exchange key.

Enumerator
Exchange 

An exchange key pair used to encrypt session keys so that they can be safely stored and exchanged with other users.

Signature 

A signature key pair used for authenticating digitally signed messages or files.

Definition at line 8 of file KeyNumber.cs.

◆ OidGroup

Identifies Windows cryptographic object identifier (OID) groups.

Enumerator
All 

All the groups.

HashAlgorithm 

The Windows group that is represented by CRYPT_HASH_ALG_OID_GROUP_ID.

EncryptionAlgorithm 

The Windows group that is represented by CRYPT_ENCRYPT_ALG_OID_GROUP_ID.

PublicKeyAlgorithm 

The Windows group that is represented by CRYPT_PUBKEY_ALG_OID_GROUP_ID.

SignatureAlgorithm 

The Windows group that is represented by CRYPT_SIGN_ALG_OID_GROUP_ID.

Attribute 

The Windows group that is represented by CRYPT_RDN_ATTR_OID_GROUP_ID.

ExtensionOrAttribute 

The Windows group that is represented by CRYPT_EXT_OR_ATTR_OID_GROUP_ID.

EnhancedKeyUsage 

The Windows group that is represented by CRYPT_ENHKEY_USAGE_OID_GROUP_ID.

Policy 

The Windows group that is represented by CRYPT_POLICY_OID_GROUP_ID.

Template 

The Windows group that is represented by CRYPT_TEMPLATE_OID_GROUP_ID.

KeyDerivationFunction 

The Windows group that is represented by CRYPT_KDF_OID_GROUP_ID.

Definition at line 4 of file OidGroup.cs.

◆ PaddingMode

Specifies the type of padding to apply when the message data block is shorter than the full number of bytes needed for a cryptographic operation.

Enumerator
None 

No padding is done.

PKCS7 

The PKCS #7 padding string consists of a sequence of bytes, each of which is equal to the total number of padding bytes added.

Zeros 

The padding string consists of bytes set to zero.

ANSIX923 

The ANSIX923 padding string consists of a sequence of bytes filled with zeros before the length.

ISO10126 

The ISO10126 padding string consists of random data before the length.

Definition at line 8 of file PaddingMode.cs.

◆ RSAEncryptionPaddingMode

Specifies the padding mode to use with RSA encryption or decryption operations.

Enumerator
Pkcs1 

PKCS #1 v1.5.

Oaep 

Optimal Asymmetric Encryption Padding.

Definition at line 4 of file RSAEncryptionPaddingMode.cs.

◆ RSASignaturePaddingMode

Specifies the padding mode to use with RSA signature creation or verification operations.

Enumerator
Pkcs1 

PKCS #1 v1.5

Pss 

Probabilistic Signature Scheme

Definition at line 4 of file RSASignaturePaddingMode.cs.

◆ SignatureVerificationResult

Specifies most of the result codes for signature verification.

Enumerator
Valid 

The certificate verification result is valid.

AssemblyIdentityMismatch 

The identity of the assembly specified in the /asm:assembly/asm:assemblyIdentity node of the manifest does not match the identity of the assembly in the Authenticode signature in the /asm:assembly/ds:signature/ds:KeyInfo/msrel:RelData/r:license/r:grant/as:ManifestInformation/as:assemblyIdentity node.

ContainingSignatureInvalid 

The strong name signature does not verify in the T:System.Security.Cryptography.X509Certificates.AuthenticodeSignatureInformation object. Because the strong name signature wraps the Authenticode signature, someone could replace the Authenticode signature with a signature of their choosing. To prevent this, this error code is returned if the strong name does not verify because substituting a part of the strong name signature will invalidate it.

PublicKeyTokenMismatch 

The public key token from the manifest identity in the /asm:assembly/asm:AssemblyIdentity node does not match the public key token of the key that is used to sign the manifest.

PublisherMismatch 

The publisher name from /asm:assembly/asmv2:publisherIdentity does not match the subject name of the signing certificate, or the issuer key hash from the same publisherIdentity node does not match the key hash of the signing certificate.

SystemError 

A system-level error occurred while verifying trust.

InvalidSignerCertificate 

The certificate for the signer of the message is invalid or not found.

InvalidCountersignature 

One of the counter signatures is invalid.

InvalidCertificateSignature 

The signature of the certificate cannot be verified.

InvalidTimestamp 

The time stamp signature or certificate could not be verified or is malformed.

BadDigest 

The digital signature of the object did not verify.

BasicConstraintsNotObserved 

The basic constraint extension of a certificate has not been observed.

UnknownTrustProvider 

The certificate has an unknown trust provider.

UnknownVerificationAction 

The certificate has an unknown verification action.

BadSignatureFormat 

The signature format is invalid.

CertificateNotExplicitlyTrusted 

The certificate is not trusted explicitly.

MissingSignature 

The signature is missing.

CertificateExpired 

The certificate has expired.

InvalidTimePeriodNesting 

A certificate was issued after the issuing certificate has expired.

InvalidCertificateRole 

The certificate has an invalid role.

PathLengthConstraintViolated 

A path length constraint in the certification chain has been violated.

UnknownCriticalExtension 

A certificate contains an unknown extension that is marked critical.

CertificateUsageNotAllowed 

The certificate cannot be used for signing and verification.

IssuerChainingError 

A parent of a given certificate did not issue that child certificate.

CertificateMalformed 

The certificate is missing or has an empty value for an important field, such as a subject or issuer name.

UntrustedRootCertificate 

The root certificate is not trusted.

CouldNotBuildChain 

The chain could not be built.

GenericTrustFailure 

There is a general trust failure with the certificate.

CertificateRevoked 

The certificate has been revoked.

UntrustedTestRootCertificate 

The test root certificate is not trusted.

RevocationCheckFailure 

The revocation check failed.

InvalidCertificateUsage 

The certificate has an invalid usage.

CertificateExplicitlyDistrusted 

The certificate was explicitly marked as not trusted by the user.

UntrustedCertificationAuthority 

The certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider.

InvalidCertificatePolicy 

The certificate has an invalid policy.

InvalidCertificateName 

The certificate has an invalid name. The name is either not included in the permitted list or is explicitly excluded.

Definition at line 4 of file SignatureVerificationResult.cs.