1 <?xml version="1.0" encoding="utf-8"?>
4 <name>System.Security.Cryptography.Algorithms</name>
7 <member name="T:System.Security.Cryptography.Aes">
8 <summary>Represents the abstract base class from which all implementations of the Advanced Encryption Standard (AES) must inherit.</summary>
10 <member name="M:System.Security.Cryptography.Aes.#ctor">
11 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Aes" /> class.</summary>
13 <member name="M:System.Security.Cryptography.Aes.Create">
14 <summary>Creates a cryptographic object that is used to perform the symmetric algorithm.</summary>
15 <returns>A cryptographic object that is used to perform the symmetric algorithm.</returns>
17 <member name="M:System.Security.Cryptography.Aes.Create(System.String)">
18 <summary>Creates a cryptographic object that specifies the implementation of AES to use to perform the symmetric algorithm.</summary>
19 <param name="algorithmName">The name of the specific implementation of AES to use.</param>
20 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithmName" /> parameter is <see langword="null" />.</exception>
21 <returns>A cryptographic object that is used to perform the symmetric algorithm.</returns>
23 <member name="T:System.Security.Cryptography.AesCcm">
24 <summary>Represents an Advanced Encryption Standard (AES) key to be used with the Counter with CBC-MAC (CCM) mode of operation.</summary>
26 <member name="M:System.Security.Cryptography.AesCcm.#ctor(System.Byte[])">
27 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesCcm" /> class with a provided key.</summary>
28 <param name="key">The secret key to use for this instance.</param>
29 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
30 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
32 <member name="M:System.Security.Cryptography.AesCcm.#ctor(System.ReadOnlySpan{System.Byte})">
33 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesCcm" /> class with a provided key.</summary>
34 <param name="key">The secret key to use for this instance.</param>
35 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
37 <member name="M:System.Security.Cryptography.AesCcm.Decrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
38 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
39 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
40 <param name="ciphertext">The encrypted content to decrypt.</param>
41 <param name="tag">The authentication tag produced for this message during encryption.</param>
42 <param name="plaintext">The byte array to receive the decrypted contents.</param>
43 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
44 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
48 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
52 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
53 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
54 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
56 <member name="M:System.Security.Cryptography.AesCcm.Decrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
57 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
58 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
59 <param name="ciphertext">The encrypted content to decrypt.</param>
60 <param name="tag">The authentication tag produced for this message during encryption.</param>
61 <param name="plaintext">The byte span to receive the decrypted contents.</param>
62 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
63 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
67 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
71 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
72 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
74 <member name="M:System.Security.Cryptography.AesCcm.Dispose">
75 <summary>Releases the resources used by the current instance of the <see cref="T:System.Security.Cryptography.AesCcm" /> class.</summary>
77 <member name="M:System.Security.Cryptography.AesCcm.Encrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
78 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
79 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
80 <param name="plaintext">The content to encrypt.</param>
81 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
82 <param name="tag">The byte array to receive the generated authentication tag.</param>
83 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
84 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
88 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
92 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
93 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
94 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
96 <member name="M:System.Security.Cryptography.AesCcm.Encrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
97 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
98 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
99 <param name="plaintext">The content to encrypt.</param>
100 <param name="ciphertext">The byte span to receive the encrypted contents.</param>
101 <param name="tag">The byte span to receive the generated authentication tag.</param>
102 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
103 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
107 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.NonceByteSizes" />.
111 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesCcm.TagByteSizes" />.</exception>
112 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
114 <member name="P:System.Security.Cryptography.AesCcm.IsSupported">
115 <summary>Gets a value that indicates whether the algorithm is supported on the current platform.</summary>
117 <see langword="true" /> if the algorithm is supported; otherwise, <see langword="false" />.</returns>
119 <member name="P:System.Security.Cryptography.AesCcm.NonceByteSizes">
120 <summary>Gets the nonce sizes, in bytes, supported by this instance.</summary>
121 <returns>The nonce sizes supported by this instance: 7, 8, 9, 10, 11, 12, or 13 bytes (56, 64, 72, 80, 88, 96, or 104 bits).</returns>
123 <member name="P:System.Security.Cryptography.AesCcm.TagByteSizes">
124 <summary>Gets the tag sizes, in bytes, supported by this instance.</summary>
125 <returns>The tag sizes supported by this instance: 4, 6, 8, 10, 12, 14, or 16 bytes (32, 48, 64, 80, 96, 112, or 128 bits).</returns>
127 <member name="T:System.Security.Cryptography.AesGcm">
128 <summary>Represents an Advanced Encryption Standard (AES) key to be used with the Galois/Counter Mode (GCM) mode of operation.</summary>
130 <member name="M:System.Security.Cryptography.AesGcm.#ctor(System.Byte[])">
131 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesGcm" /> class with a provided key.</summary>
132 <param name="key">The secret key to use for this instance.</param>
133 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
134 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
136 <member name="M:System.Security.Cryptography.AesGcm.#ctor(System.ReadOnlySpan{System.Byte})">
137 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesGcm" /> class with a provided key.</summary>
138 <param name="key">The secret key to use for this instance.</param>
139 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is other than 16, 24, or 32 bytes (128, 192, or 256 bits).</exception>
141 <member name="M:System.Security.Cryptography.AesGcm.Decrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
142 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
143 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
144 <param name="ciphertext">The encrypted content to decrypt.</param>
145 <param name="tag">The authentication tag produced for this message during encryption.</param>
146 <param name="plaintext">The byte array to receive the decrypted contents.</param>
147 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
148 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
152 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
156 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
157 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
158 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
160 <member name="M:System.Security.Cryptography.AesGcm.Decrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
161 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
162 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
163 <param name="ciphertext">The encrypted content to decrypt.</param>
164 <param name="tag">The authentication tag produced for this message during encryption.</param>
165 <param name="plaintext">The byte span to receive the decrypted contents.</param>
166 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
167 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
171 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
175 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
176 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
178 <member name="M:System.Security.Cryptography.AesGcm.Dispose">
179 <summary>Releases the resources used by the current instance of the <see cref="T:System.Security.Cryptography.AesGcm" /> class.</summary>
181 <member name="M:System.Security.Cryptography.AesGcm.Encrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
182 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
183 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
184 <param name="plaintext">The content to encrypt.</param>
185 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
186 <param name="tag">The byte array to receive the generated authentication tag.</param>
187 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
188 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
192 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
196 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
197 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
198 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
200 <member name="M:System.Security.Cryptography.AesGcm.Encrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
201 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
202 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
203 <param name="plaintext">The content to encrypt.</param>
204 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
205 <param name="tag">The byte array to receive the generated authentication tag.</param>
206 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
207 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
211 The <paramref name="nonce" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.NonceByteSizes" />.
215 The <paramref name="tag" /> parameter length is not permitted by <see cref="P:System.Security.Cryptography.AesGcm.TagByteSizes" />.</exception>
216 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
218 <member name="P:System.Security.Cryptography.AesGcm.IsSupported">
219 <summary>Gets a value that indicates whether the algorithm is supported on the current platform.</summary>
221 <see langword="true" /> if the algorithm is supported; otherwise, <see langword="false" />.</returns>
223 <member name="P:System.Security.Cryptography.AesGcm.NonceByteSizes">
224 <summary>Gets the nonce sizes, in bytes, supported by this instance.</summary>
225 <returns>The nonce sizes supported by this instance: 12 bytes (96 bits).</returns>
227 <member name="P:System.Security.Cryptography.AesGcm.TagByteSizes">
228 <summary>Gets the tag sizes, in bytes, supported by this instance.</summary>
229 <returns>The tag sizes supported by this instance: 12, 13, 14, 15, or 16 bytes (96, 104, 112, 120, or 128 bits).</returns>
231 <member name="T:System.Security.Cryptography.AesManaged">
232 <summary>Provides a managed implementation of the Advanced Encryption Standard (AES) symmetric algorithm.</summary>
234 <member name="M:System.Security.Cryptography.AesManaged.#ctor">
235 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.AesManaged" /> class.</summary>
236 <exception cref="T:System.Security.Cryptography.CryptographicException">The Windows security policy setting for FIPS is enabled.</exception>
237 <exception cref="T:System.InvalidOperationException">This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
239 <member name="M:System.Security.Cryptography.AesManaged.CreateDecryptor">
240 <summary>Creates a symmetric decryptor object using the current key and initialization vector (IV).</summary>
241 <returns>A symmetric decryptor object.</returns>
243 <member name="M:System.Security.Cryptography.AesManaged.CreateDecryptor(System.Byte[],System.Byte[])">
244 <summary>Creates a symmetric decryptor object using the specified key and initialization vector (IV).</summary>
245 <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
246 <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
247 <exception cref="T:System.ArgumentNullException">
248 <paramref name="key" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
249 <exception cref="T:System.ArgumentException">
250 <paramref name="key" /> is invalid.</exception>
251 <returns>A symmetric decryptor object.</returns>
253 <member name="M:System.Security.Cryptography.AesManaged.CreateEncryptor">
254 <summary>Creates a symmetric encryptor object using the current key and initialization vector (IV).</summary>
255 <returns>A symmetric encryptor object.</returns>
257 <member name="M:System.Security.Cryptography.AesManaged.CreateEncryptor(System.Byte[],System.Byte[])">
258 <summary>Creates a symmetric encryptor object using the specified key and initialization vector (IV).</summary>
259 <param name="rgbKey">The secret key to use for the symmetric algorithm.</param>
260 <param name="rgbIV">The initialization vector to use for the symmetric algorithm.</param>
261 <exception cref="T:System.ArgumentNullException">
262 <paramref name="key" /> or <paramref name="iv" /> is <see langword="null" />.</exception>
263 <exception cref="T:System.ArgumentException">
264 <paramref name="key" /> is invalid.</exception>
265 <returns>A symmetric encryptor object.</returns>
267 <member name="M:System.Security.Cryptography.AesManaged.GenerateIV">
268 <summary>Generates a random initialization vector (IV) to use for the symmetric algorithm.</summary>
270 <member name="M:System.Security.Cryptography.AesManaged.GenerateKey">
271 <summary>Generates a random key to use for the symmetric algorithm.</summary>
273 <member name="P:System.Security.Cryptography.AesManaged.BlockSize">
274 <summary>Gets or sets the block size, in bits, of the cryptographic operation.</summary>
275 <returns>The block size, in bits, of the cryptographic operation. The default is 128 bits.</returns>
277 <member name="P:System.Security.Cryptography.AesManaged.FeedbackSize">
278 <summary>Gets or sets the number of bits to use as feedback.</summary>
279 <returns>The feedback size, in bits.</returns>
281 <member name="P:System.Security.Cryptography.AesManaged.IV">
282 <summary>Gets or sets the initialization vector (IV) to use for the symmetric algorithm.</summary>
283 <returns>The initialization vector to use for the symmetric algorithm.</returns>
285 <member name="P:System.Security.Cryptography.AesManaged.Key">
286 <summary>Gets or sets the secret key used for the symmetric algorithm.</summary>
287 <returns>The key for the symmetric algorithm.</returns>
289 <member name="P:System.Security.Cryptography.AesManaged.KeySize">
290 <summary>Gets or sets the size, in bits, of the secret key used for the symmetric algorithm.</summary>
291 <returns>The size, in bits, of the key used by the symmetric algorithm.</returns>
293 <member name="P:System.Security.Cryptography.AesManaged.LegalBlockSizes">
294 <summary>Gets the block sizes, in bits, that are supported by the symmetric algorithm.</summary>
295 <returns>The block sizes, in bits, that are supported by the symmetric algorithm.</returns>
297 <member name="P:System.Security.Cryptography.AesManaged.LegalKeySizes">
298 <summary>Gets the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
299 <returns>The key sizes, in bits, that are supported by the symmetric algorithm.</returns>
301 <member name="P:System.Security.Cryptography.AesManaged.Mode">
302 <summary>Gets or sets the mode for operation of the symmetric algorithm.</summary>
303 <exception cref="T:System.Security.Cryptography.CryptographicException">
304 <see cref="P:System.Security.Cryptography.AesManaged.Mode" /> is set to <see cref="F:System.Security.Cryptography.CipherMode.CFB" /> or <see cref="F:System.Security.Cryptography.CipherMode.OFB" />.</exception>
305 <returns>One of the enumeration values that specifies the block cipher mode to use for encryption. The default is <see cref="F:System.Security.Cryptography.CipherMode.CBC" />.</returns>
307 <member name="P:System.Security.Cryptography.AesManaged.Padding">
308 <summary>Gets or sets the padding mode used in the symmetric algorithm.</summary>
309 <returns>One of the enumeration values that specifies the type of padding to apply. The default is <see cref="F:System.Security.Cryptography.PaddingMode.PKCS7" />.</returns>
311 <member name="T:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter">
312 <summary>Represents the base class from which all asymmetric key exchange deformatters derive.</summary>
314 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.#ctor">
315 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter" />.</summary>
317 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
318 <summary>When overridden in a derived class, extracts secret information from the encrypted key exchange data.</summary>
319 <param name="rgb">The key exchange data within which the secret information is hidden.</param>
320 <returns>The secret information derived from the key exchange data.</returns>
322 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
323 <summary>When overridden in a derived class, sets the private key to use for decrypting the secret information.</summary>
324 <param name="key">The instance of the implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> that holds the private key.</param>
326 <member name="P:System.Security.Cryptography.AsymmetricKeyExchangeDeformatter.Parameters">
327 <summary>When overridden in a derived class, gets or sets the parameters for the asymmetric key exchange.</summary>
328 <returns>A string in XML format containing the parameters of the asymmetric key exchange operation.</returns>
330 <member name="T:System.Security.Cryptography.AsymmetricKeyExchangeFormatter">
331 <summary>Represents the base class from which all asymmetric key exchange formatters derive.</summary>
333 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.#ctor">
334 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricKeyExchangeFormatter" />.</summary>
336 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
337 <summary>When overridden in a derived class, creates the encrypted key exchange data from the specified input data.</summary>
338 <param name="data">The secret information to be passed in the key exchange.</param>
339 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
341 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
342 <summary>When overridden in a derived class, creates the encrypted key exchange data from the specified input data.</summary>
343 <param name="data">The secret information to be passed in the key exchange.</param>
344 <param name="symAlgType">This parameter is not used in the current version.</param>
345 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
347 <member name="M:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
348 <summary>When overridden in a derived class, sets the public key to use for encrypting the secret information.</summary>
349 <param name="key">The instance of the implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> that holds the public key.</param>
351 <member name="P:System.Security.Cryptography.AsymmetricKeyExchangeFormatter.Parameters">
352 <summary>When overridden in a derived class, gets the parameters for the asymmetric key exchange.</summary>
353 <returns>A string in XML format containing the parameters of the asymmetric key exchange operation.</returns>
355 <member name="T:System.Security.Cryptography.AsymmetricSignatureDeformatter">
356 <summary>Represents the abstract base class from which all implementations of asymmetric signature deformatters derive.</summary>
358 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.#ctor">
359 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" />.</summary>
361 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.SetHashAlgorithm(System.String)">
362 <summary>When overridden in a derived class, sets the hash algorithm to use for verifying the signature.</summary>
363 <param name="strName">The name of the hash algorithm to use for verifying the signature.</param>
365 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
366 <summary>When overridden in a derived class, sets the public key to use for verifying the signature.</summary>
367 <param name="key">The instance of an implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> that holds the public key.</param>
369 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.VerifySignature(System.Byte[],System.Byte[])">
370 <summary>When overridden in a derived class, verifies the signature for the specified data.</summary>
371 <param name="rgbHash">The data signed with <paramref name="rgbSignature" />.</param>
372 <param name="rgbSignature">The signature to be verified for <paramref name="rgbHash" />.</param>
374 <see langword="true" /> if <paramref name="rgbSignature" /> matches the signature computed using the specified hash algorithm and key on <paramref name="rgbHash" />; otherwise, <see langword="false" />.</returns>
376 <member name="M:System.Security.Cryptography.AsymmetricSignatureDeformatter.VerifySignature(System.Security.Cryptography.HashAlgorithm,System.Byte[])">
377 <summary>Verifies the signature from the specified hash value.</summary>
378 <param name="hash">The hash algorithm to use to verify the signature.</param>
379 <param name="rgbSignature">The signature to be verified.</param>
380 <exception cref="T:System.ArgumentNullException">The <paramref name="hash" /> parameter is <see langword="null" />.</exception>
382 <see langword="true" /> if the signature is valid for the hash; otherwise, <see langword="false" />.</returns>
384 <member name="T:System.Security.Cryptography.AsymmetricSignatureFormatter">
385 <summary>Represents the base class from which all implementations of asymmetric signature formatters derive.</summary>
387 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.#ctor">
388 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" />.</summary>
390 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.CreateSignature(System.Byte[])">
391 <summary>When overridden in a derived class, creates the signature for the specified data.</summary>
392 <param name="rgbHash">The data to be signed.</param>
393 <returns>The digital signature for the <paramref name="rgbHash" /> parameter.</returns>
395 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.CreateSignature(System.Security.Cryptography.HashAlgorithm)">
396 <summary>Creates the signature from the specified hash value.</summary>
397 <param name="hash">The hash algorithm to use to create the signature.</param>
398 <exception cref="T:System.ArgumentNullException">The <paramref name="hash" /> parameter is <see langword="null" />.</exception>
399 <returns>The signature for the specified hash value.</returns>
401 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.SetHashAlgorithm(System.String)">
402 <summary>When overridden in a derived class, sets the hash algorithm to use for creating the signature.</summary>
403 <param name="strName">The name of the hash algorithm to use for creating the signature.</param>
405 <member name="M:System.Security.Cryptography.AsymmetricSignatureFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
406 <summary>When overridden in a derived class, sets the asymmetric algorithm to use to create the signature.</summary>
407 <param name="key">The instance of the implementation of <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> to use to create the signature.</param>
409 <member name="T:System.Security.Cryptography.ChaCha20Poly1305">
410 <summary>Represents a symmetric key to be used with the ChaCha20 stream cipher in the combined mode with the Poly1305 authenticator.</summary>
412 <member name="M:System.Security.Cryptography.ChaCha20Poly1305.#ctor(System.Byte[])">
413 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ChaCha20Poly1305" /> class with a provided key.</summary>
414 <param name="key">The secret key to use for this instance.</param>
415 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is not 32 bytes (256 bits).</exception>
417 <member name="M:System.Security.Cryptography.ChaCha20Poly1305.#ctor(System.ReadOnlySpan{System.Byte})">
418 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ChaCha20Poly1305" /> class with a provided key.</summary>
419 <param name="key">The secret key to use for this instance.</param>
420 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="key" /> parameter length is not 32 bytes (256 bits).</exception>
422 <member name="M:System.Security.Cryptography.ChaCha20Poly1305.Decrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
423 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
424 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
425 <param name="ciphertext">The encrypted content to decrypt.</param>
426 <param name="tag">The authentication tag produced for this message during encryption.</param>
427 <param name="plaintext">The byte array to receive the decrypted contents.</param>
428 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
429 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
433 The <paramref name="nonce" /> parameter length is not 12 bytes (96 bits).
437 The <paramref name="tag" /> parameter length is not 16 bytes (128 bits).</exception>
438 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
439 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
441 <member name="M:System.Security.Cryptography.ChaCha20Poly1305.Decrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
442 <summary>Decrypts the ciphertext into the provided destination buffer if the authentication tag can be validated.</summary>
443 <param name="nonce">The nonce associated with this message, which must match the value provided during encryption.</param>
444 <param name="ciphertext">The encrypted content to decrypt.</param>
445 <param name="tag">The authentication tag produced for this message during encryption.</param>
446 <param name="plaintext">The byte array to receive the decrypted contents.</param>
447 <param name="associatedData">Extra data associated with this message, which must match the value provided during encryption.</param>
448 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
452 The <paramref name="nonce" /> parameter length is not 12 bytes (96 bits).
456 The <paramref name="tag" /> parameter length is not 16 bytes (128 bits).</exception>
457 <exception cref="T:System.Security.Cryptography.CryptographicException">The tag value could not be verified, or the decryption operation otherwise failed.</exception>
459 <member name="M:System.Security.Cryptography.ChaCha20Poly1305.Dispose">
460 <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
462 <member name="M:System.Security.Cryptography.ChaCha20Poly1305.Encrypt(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
463 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
464 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
465 <param name="plaintext">The content to encrypt.</param>
466 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
467 <param name="tag">The byte array to receive the generated authentication tag.</param>
468 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
469 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
473 The <paramref name="nonce" /> parameter length is not 12 bytes (96 bits).
477 The <paramref name="tag" /> parameter length is not 16 bytes (128 bits).</exception>
478 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
479 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
481 <member name="M:System.Security.Cryptography.ChaCha20Poly1305.Encrypt(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
482 <summary>Encrypts the plaintext into the ciphertext destination buffer and generates the authentication tag into a separate buffer.</summary>
483 <param name="nonce">The nonce associated with this message, which should be a unique value for every operation with the same key.</param>
484 <param name="plaintext">The content to encrypt.</param>
485 <param name="ciphertext">The byte array to receive the encrypted contents.</param>
486 <param name="tag">The byte array to receive the generated authentication tag.</param>
487 <param name="associatedData">Extra data associated with this message, which must also be provided during decryption.</param>
488 <exception cref="T:System.ArgumentException">The <paramref name="plaintext" /> parameter and the <paramref name="ciphertext" /> do not have the same length.
492 The <paramref name="nonce" /> parameter length is not 12 bytes (96 bits).
496 The <paramref name="tag" /> parameter length is not 16 bytes (128 bits).</exception>
497 <exception cref="T:System.ArgumentNullException">The <paramref name="nonce" />, <paramref name="ciphertext" />, <paramref name="tag" />, or <paramref name="plaintext" /> parameter is <see langword="null" />.</exception>
498 <exception cref="T:System.Security.Cryptography.CryptographicException">The encryption operation failed.</exception>
500 <member name="P:System.Security.Cryptography.ChaCha20Poly1305.IsSupported">
501 <summary>Gets a value that indicates whether the algorithm is supported on the current platform.</summary>
503 <see langword="true" /> if the algorithm is supported; otherwise, <see langword="false" />.</returns>
505 <member name="T:System.Security.Cryptography.CryptoConfig">
506 <summary>Accesses the cryptography configuration information.</summary>
508 <member name="M:System.Security.Cryptography.CryptoConfig.#ctor">
509 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class.</summary>
511 <member name="M:System.Security.Cryptography.CryptoConfig.AddAlgorithm(System.Type,System.String[])">
512 <summary>Adds a set of names to algorithm mappings to be used for the current application domain.</summary>
513 <param name="algorithm">The algorithm to map to.</param>
514 <param name="names">An array of names to map to the algorithm.</param>
515 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithm" /> or <paramref name="names" /> parameter is <see langword="null" />.</exception>
516 <exception cref="T:System.ArgumentException">
517 <paramref name="algorithm" /> cannot be accessed from outside the assembly.
521 One of the entries in the <paramref name="names" /> parameter is empty or <see langword="null" />.</exception>
523 <member name="M:System.Security.Cryptography.CryptoConfig.AddOID(System.String,System.String[])">
524 <summary>Adds a set of names to object identifier (OID) mappings to be used for the current application domain.</summary>
525 <param name="oid">The object identifier (OID) to map to.</param>
526 <param name="names">An array of names to map to the OID.</param>
527 <exception cref="T:System.ArgumentNullException">The <paramref name="oid" /> or <paramref name="names" /> parameter is <see langword="null" />.</exception>
528 <exception cref="T:System.ArgumentException">One of the entries in the <paramref name="names" /> parameter is empty or <see langword="null" />.</exception>
530 <member name="M:System.Security.Cryptography.CryptoConfig.CreateFromName(System.String)">
531 <summary>Creates a new instance of the specified cryptographic object.</summary>
532 <param name="name">The simple name of the cryptographic object of which to create an instance.</param>
533 <exception cref="T:System.ArgumentNullException">The <paramref name="name" /> parameter is <see langword="null" />.</exception>
534 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="name" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
535 <returns>A new instance of the specified cryptographic object.</returns>
537 <member name="M:System.Security.Cryptography.CryptoConfig.CreateFromName(System.String,System.Object[])">
538 <summary>Creates a new instance of the specified cryptographic object with the specified arguments.</summary>
539 <param name="name">The simple name of the cryptographic object of which to create an instance.</param>
540 <param name="args">The arguments used to create the specified cryptographic object.</param>
541 <exception cref="T:System.ArgumentNullException">The <paramref name="name" /> parameter is <see langword="null" />.</exception>
542 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="name" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
543 <returns>A new instance of the specified cryptographic object.</returns>
545 <member name="M:System.Security.Cryptography.CryptoConfig.EncodeOID(System.String)">
546 <summary>Encodes the specified object identifier (OID).</summary>
547 <param name="str">The OID to encode.</param>
548 <exception cref="T:System.ArgumentNullException">The <paramref name="str" /> parameter is <see langword="null" />.</exception>
549 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">An error occurred while encoding the OID.</exception>
550 <returns>A byte array containing the encoded OID.</returns>
552 <member name="M:System.Security.Cryptography.CryptoConfig.MapNameToOID(System.String)">
553 <summary>Gets the object identifier (OID) of the algorithm corresponding to the specified simple name.</summary>
554 <param name="name">The simple name of the algorithm for which to get the OID.</param>
555 <exception cref="T:System.ArgumentNullException">The <paramref name="name" /> parameter is <see langword="null" />.</exception>
556 <returns>The OID of the specified algorithm.</returns>
558 <member name="P:System.Security.Cryptography.CryptoConfig.AllowOnlyFipsAlgorithms">
559 <summary>Indicates whether the runtime should enforce the policy to create only Federal Information Processing Standard (FIPS) certified algorithms.</summary>
561 <see langword="true" /> to enforce the policy; otherwise, <see langword="false" />.</returns>
563 <member name="T:System.Security.Cryptography.DeriveBytes">
564 <summary>Represents the abstract base class from which all classes that derive byte sequences of a specified length inherit.</summary>
566 <member name="M:System.Security.Cryptography.DeriveBytes.#ctor">
567 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DeriveBytes" /> class.</summary>
569 <member name="M:System.Security.Cryptography.DeriveBytes.Dispose">
570 <summary>When overridden in a derived class, releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.DeriveBytes" /> class.</summary>
572 <member name="M:System.Security.Cryptography.DeriveBytes.Dispose(System.Boolean)">
573 <summary>When overridden in a derived class, releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.DeriveBytes" /> class and optionally releases the managed resources.</summary>
574 <param name="disposing">
575 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
577 <member name="M:System.Security.Cryptography.DeriveBytes.GetBytes(System.Int32)">
578 <summary>When overridden in a derived class, returns pseudo-random key bytes.</summary>
579 <param name="cb">The number of pseudo-random key bytes to generate.</param>
580 <returns>A byte array filled with pseudo-random key bytes.</returns>
582 <member name="M:System.Security.Cryptography.DeriveBytes.Reset">
583 <summary>When overridden in a derived class, resets the state of the operation.</summary>
585 <member name="T:System.Security.Cryptography.DES">
586 <summary>Represents the base class for the Data Encryption Standard (DES) algorithm from which all <see cref="T:System.Security.Cryptography.DES" /> implementations must derive.</summary>
588 <member name="M:System.Security.Cryptography.DES.#ctor">
589 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DES" /> class.</summary>
591 <member name="M:System.Security.Cryptography.DES.Create">
592 <summary>Creates an instance of a cryptographic object to perform the Data Encryption Standard (<see cref="T:System.Security.Cryptography.DES" />) algorithm.</summary>
593 <returns>A cryptographic object.</returns>
595 <member name="M:System.Security.Cryptography.DES.Create(System.String)">
596 <summary>Creates an instance of a cryptographic object to perform the specified implementation of the Data Encryption Standard (<see cref="T:System.Security.Cryptography.DES" />) algorithm.</summary>
597 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.DES" /> to use.</param>
598 <returns>A cryptographic object.</returns>
600 <member name="M:System.Security.Cryptography.DES.IsSemiWeakKey(System.Byte[])">
601 <summary>Determines whether the specified key is semi-weak.</summary>
602 <param name="rgbKey">The secret key to test for semi-weakness.</param>
603 <exception cref="T:System.Security.Cryptography.CryptographicException">The size of the <paramref name="rgbKey" /> parameter is not valid.</exception>
605 <see langword="true" /> if the key is semi-weak; otherwise, <see langword="false" />.</returns>
607 <member name="M:System.Security.Cryptography.DES.IsWeakKey(System.Byte[])">
608 <summary>Determines whether the specified key is weak.</summary>
609 <param name="rgbKey">The secret key to test for weakness.</param>
610 <exception cref="T:System.Security.Cryptography.CryptographicException">The size of the <paramref name="rgbKey" /> parameter is not valid.</exception>
612 <see langword="true" /> if the key is weak; otherwise, <see langword="false" />.</returns>
614 <member name="P:System.Security.Cryptography.DES.Key">
615 <summary>Gets or sets the secret key for the Data Encryption Standard (<see cref="T:System.Security.Cryptography.DES" />) algorithm.</summary>
616 <exception cref="T:System.ArgumentNullException">An attempt was made to set the key to <see langword="null" />.</exception>
617 <exception cref="T:System.ArgumentException">An attempt was made to set a key whose length is not equal to <see cref="F:System.Security.Cryptography.SymmetricAlgorithm.BlockSizeValue" />.</exception>
618 <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to set a weak key (see <see cref="M:System.Security.Cryptography.DES.IsWeakKey(System.Byte[])" />) or a semi-weak key (see <see cref="M:System.Security.Cryptography.DES.IsSemiWeakKey(System.Byte[])" />).</exception>
619 <returns>The secret key for the <see cref="T:System.Security.Cryptography.DES" /> algorithm.</returns>
621 <member name="T:System.Security.Cryptography.DSA">
622 <summary>Represents the abstract base class from which all implementations of the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) must inherit.</summary>
624 <member name="M:System.Security.Cryptography.DSA.#ctor">
625 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSA" /> class.</summary>
627 <member name="M:System.Security.Cryptography.DSA.Create">
628 <summary>Creates the default cryptographic object used to perform the asymmetric algorithm.</summary>
629 <returns>A cryptographic object used to perform the asymmetric algorithm.</returns>
631 <member name="M:System.Security.Cryptography.DSA.Create(System.Int32)">
632 <summary>Creates a new ephemeral DSA key with the specified key size.</summary>
633 <param name="keySizeInBits">The key size, in bits.</param>
634 <exception cref="T:System.Security.Cryptography.CryptographicException">
635 <paramref name="keySizeInBits" /> is not permitted by <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.LegalKeySizes" />.</exception>
636 <returns>A new ephemeral DSA key with the specified key size.</returns>
638 <member name="M:System.Security.Cryptography.DSA.Create(System.Security.Cryptography.DSAParameters)">
639 <summary>Creates a new ephemeral DSA key with the specified DSA key parameters.</summary>
640 <param name="parameters">The parameters for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</param>
641 <returns>A new ephemeral DSA key.</returns>
643 <member name="M:System.Security.Cryptography.DSA.Create(System.String)">
644 <summary>Creates the specified cryptographic object used to perform the asymmetric algorithm.</summary>
645 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.DSA" /> to use.</param>
646 <returns>A cryptographic object used to perform the asymmetric algorithm.</returns>
648 <member name="M:System.Security.Cryptography.DSA.CreateSignature(System.Byte[])">
649 <summary>When overridden in a derived class, creates the <see cref="T:System.Security.Cryptography.DSA" /> signature for the specified hash value.</summary>
650 <param name="rgbHash">The hash value to be signed.</param>
651 <returns>The digital signature for the specified hash value.</returns>
653 <member name="M:System.Security.Cryptography.DSA.CreateSignature(System.Byte[],System.Security.Cryptography.DSASignatureFormat)">
654 <summary>Creates the DSA signature for the specified hash value in the indicated format.</summary>
655 <param name="rgbHash">The hash value to sign.</param>
656 <param name="signatureFormat">The encoding format to use for the signature.</param>
657 <exception cref="T:System.ArgumentNullException">
658 <paramref name="rgbHash" /> is <see langword="null" />.</exception>
659 <exception cref="T:System.ArgumentOutOfRangeException">
660 <paramref name="signatureFormat" /> is not a known format.</exception>
661 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
662 <returns>The DSA signature for the specified data.</returns>
664 <member name="M:System.Security.Cryptography.DSA.CreateSignatureCore(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.DSASignatureFormat)">
665 <summary>Creates the DSA signature for the specified hash value in the indicated format.</summary>
666 <param name="hash">The hash value to sign.</param>
667 <param name="signatureFormat">The encoding format to use for the signature.</param>
668 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
669 <returns>The DSA signature for the specified data.</returns>
671 <member name="M:System.Security.Cryptography.DSA.ExportParameters(System.Boolean)">
672 <summary>When overridden in a derived class, exports the <see cref="T:System.Security.Cryptography.DSAParameters" />.</summary>
673 <param name="includePrivateParameters">
674 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
675 <returns>The parameters for <see cref="T:System.Security.Cryptography.DSA" />.</returns>
677 <member name="M:System.Security.Cryptography.DSA.FromXmlString(System.String)">
678 <summary>Reconstructs a <see cref="T:System.Security.Cryptography.DSA" /> object from an XML string.</summary>
679 <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.DSA" /> object.</param>
680 <exception cref="T:System.ArgumentNullException">The <paramref name="xmlString" /> parameter is <see langword="null" />.</exception>
681 <exception cref="T:System.Security.Cryptography.CryptographicException">The format of the <paramref name="xmlString" /> parameter is not valid.</exception>
683 <member name="M:System.Security.Cryptography.DSA.GetMaxSignatureSize(System.Security.Cryptography.DSASignatureFormat)">
684 <summary>Gets the largest size, in bytes, for a signature produced by this key in the indicated format.</summary>
685 <param name="signatureFormat">The encoding format for a signature.</param>
686 <exception cref="T:System.ArgumentOutOfRangeException">
687 <paramref name="signatureFormat" /> is not a known format.</exception>
688 <returns>The largest size, in bytes, for a signature produced by this key in the indicated format.</returns>
690 <member name="M:System.Security.Cryptography.DSA.HashData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
691 <summary>When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.</summary>
692 <param name="data">The data to be hashed.</param>
693 <param name="offset">The index of the first byte in <paramref name="data" /> that is to be hashed.</param>
694 <param name="count">The number of bytes to hash.</param>
695 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
696 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
697 <returns>The hashed data.</returns>
699 <member name="M:System.Security.Cryptography.DSA.HashData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
700 <summary>When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.</summary>
701 <param name="data">The binary stream to hash.</param>
702 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
703 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
704 <returns>The hashed data.</returns>
706 <member name="M:System.Security.Cryptography.DSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
707 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
708 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
709 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
710 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
711 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
715 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
719 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
723 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
727 The contents of <paramref name="source" /> represent the key in a format that is not supported.
731 The algorithm-specific key import failed.</exception>
733 <member name="M:System.Security.Cryptography.DSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
734 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
735 <param name="password">The password to use for decrypting the key material.</param>
736 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
737 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
738 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
742 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
746 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
750 The contents of <paramref name="source" /> represent the key in a format that is not supported.
754 The algorithm-specific key import failed.</exception>
756 <member name="M:System.Security.Cryptography.DSA.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
757 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
758 <param name="input">The PEM text of the encrypted key to import.</param>
759 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
760 <exception cref="T:System.ArgumentException">
761 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
765 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
766 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
770 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
774 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
778 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
782 The algorithm-specific key import failed.</exception>
784 <member name="M:System.Security.Cryptography.DSA.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
785 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
786 <param name="input">The PEM text of the encrypted key to import.</param>
787 <param name="password">The password to use for decrypting the key material.</param>
788 <exception cref="T:System.ArgumentException">
789 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
793 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
794 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
798 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
802 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
806 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
810 The algorithm-specific key import failed.</exception>
812 <member name="M:System.Security.Cryptography.DSA.ImportFromPem(System.ReadOnlySpan{System.Char})">
813 <summary>Imports an RFC 7468 PEM-encoded key, replacing the keys for this object.</summary>
814 <param name="input">The PEM text of the key to import.</param>
815 <exception cref="T:System.ArgumentException">
816 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
820 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.
824 <paramref name="input" /> contains an encrypted PEM-encoded key.</exception>
826 <member name="M:System.Security.Cryptography.DSA.ImportParameters(System.Security.Cryptography.DSAParameters)">
827 <summary>When overridden in a derived class, imports the specified <see cref="T:System.Security.Cryptography.DSAParameters" />.</summary>
828 <param name="parameters">The parameters for <see cref="T:System.Security.Cryptography.DSA" />.</param>
829 <exception cref="T:System.ArgumentException">
830 <paramref name="parameters" /> is missing required fields.
834 <paramref name="parameters" /> has fields with inconsistent lengths for a valid key.</exception>
835 <exception cref="T:System.Security.Cryptography.CryptographicException">
836 <paramref name="parameters" /> does not represent a valid DSA key parameter set.</exception>
838 <member name="M:System.Security.Cryptography.DSA.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
839 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
840 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
841 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
842 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
846 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
850 The contents of <paramref name="source" /> represent the key in a format that is not supported.
854 The algorithm-specific key import failed.</exception>
856 <member name="M:System.Security.Cryptography.DSA.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
857 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
858 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
859 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
860 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
864 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
868 The contents of <paramref name="source" /> represent the key in a format that is not supported.
872 The algorithm-specific key import failed.</exception>
874 <member name="M:System.Security.Cryptography.DSA.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
875 <summary>Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
876 <param name="data">The input data for which to compute the hash.</param>
877 <param name="offset">The offset into the array at which to begin using data.</param>
878 <param name="count">The number of bytes in the array to use as data.</param>
879 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
880 <exception cref="T:System.ArgumentNullException">
881 <paramref name="data" /> is <see langword="null" />.</exception>
882 <exception cref="T:System.ArgumentException">
883 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
884 <exception cref="T:System.ArgumentOutOfRangeException">
885 <paramref name="offset" /> is less than zero.
889 <paramref name="count" /> is less than zero.
893 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
894 <returns>The DSA signature for the specified data.</returns>
896 <member name="M:System.Security.Cryptography.DSA.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
897 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
898 <param name="data">The data to sign.</param>
899 <param name="offset">The offset into <paramref name="data" /> at which to begin hashing.</param>
900 <param name="count">The number of bytes to read from <paramref name="data" />.</param>
901 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
902 <param name="signatureFormat">The encoding format to use for the signature.</param>
903 <exception cref="T:System.ArgumentNullException">
904 <paramref name="data" /> is <see langword="null" />.</exception>
905 <exception cref="T:System.ArgumentOutOfRangeException">
906 <paramref name="signatureFormat" /> is not a known format.
909 <paramref name="offset" /> is less than zero.
912 <paramref name="count" /> is less than zero.
915 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
916 <exception cref="T:System.ArgumentException">
917 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
918 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
919 <returns>The DSA signature for the specified data.</returns>
921 <member name="M:System.Security.Cryptography.DSA.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
922 <summary>Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
923 <param name="data">The input data for which to compute the hash.</param>
924 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
925 <exception cref="T:System.ArgumentNullException">
926 <paramref name="data" /> is <see langword="null" />.</exception>
927 <exception cref="T:System.ArgumentException">
928 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
929 <returns>The DSA signature for the specified data.</returns>
931 <member name="M:System.Security.Cryptography.DSA.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
932 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
933 <param name="data">The data to sign.</param>
934 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
935 <param name="signatureFormat">The encoding format to use for the signature.</param>
936 <exception cref="T:System.ArgumentNullException">
937 <paramref name="data" /> is <see langword="null" />.</exception>
938 <exception cref="T:System.ArgumentOutOfRangeException">
939 <paramref name="signatureFormat" /> is not a known format.</exception>
940 <exception cref="T:System.ArgumentException">
941 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
942 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
943 <returns>The DSA signature for the specified data.</returns>
945 <member name="M:System.Security.Cryptography.DSA.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
946 <summary>Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value.</summary>
947 <param name="data">The input stream for which to compute the hash.</param>
948 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
949 <exception cref="T:System.ArgumentNullException">
950 <paramref name="data" /> is <see langword="null" />.</exception>
951 <exception cref="T:System.ArgumentException">
952 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
953 <returns>The DSA signature for the specified data.</returns>
955 <member name="M:System.Security.Cryptography.DSA.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
956 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
957 <param name="data">The data to sign.</param>
958 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
959 <param name="signatureFormat">The encoding format to use for the signature.</param>
960 <exception cref="T:System.ArgumentNullException">
961 <paramref name="data" /> is <see langword="null" />.</exception>
962 <exception cref="T:System.ArgumentOutOfRangeException">
963 <paramref name="signatureFormat" /> is not a known format.</exception>
964 <exception cref="T:System.ArgumentException">
965 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
966 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
967 <returns>The DSA signature for the specified data.</returns>
969 <member name="M:System.Security.Cryptography.DSA.SignDataCore(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
970 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
971 <param name="data">The data to sign.</param>
972 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
973 <param name="signatureFormat">The encoding format to use for the signature.</param>
974 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
975 <returns>The DSA signature for the specified data.</returns>
977 <member name="M:System.Security.Cryptography.DSA.SignDataCore(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
978 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
979 <param name="data">The data to sign.</param>
980 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
981 <param name="signatureFormat">The encoding format to use for the signature.</param>
982 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
983 <returns>The DSA signature for the specified data.</returns>
985 <member name="M:System.Security.Cryptography.DSA.ToXmlString(System.Boolean)">
986 <summary>Creates and returns an XML string representation of the current <see cref="T:System.Security.Cryptography.DSA" /> object.</summary>
987 <param name="includePrivateParameters">
988 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
989 <returns>An XML string encoding of the current <see cref="T:System.Security.Cryptography.DSA" /> object.</returns>
991 <member name="M:System.Security.Cryptography.DSA.TryCreateSignature(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
992 <summary>Attempts to create the DSA signature for the specified hash into the provided buffer.</summary>
993 <param name="hash">The hash to sign.</param>
994 <param name="destination">The byte span to receive the signature.</param>
995 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />.</param>
996 <exception cref="T:System.Security.Cryptography.CryptographicException">This instance represents only a public key.
1000 The implementation type only supports legacy DSA (FIPS 186-2), and <paramref name="hash" /> is not a 20-byte value.
1004 Creating the signature otherwise failed.</exception>
1006 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the result; otherwise, <see langword="false" />.</returns>
1008 <member name="M:System.Security.Cryptography.DSA.TryCreateSignature(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
1009 <summary>Attempts to create the DSA signature for the specified hash value in the indicated format and place it into the provided buffer.</summary>
1010 <param name="hash">The hash value to sign.</param>
1011 <param name="destination">The buffer to receive the signature.</param>
1012 <param name="signatureFormat">The encoding format to use for the signature.</param>
1013 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1014 <exception cref="T:System.ArgumentOutOfRangeException">
1015 <paramref name="signatureFormat" /> is not a known format.</exception>
1016 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
1018 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the signature; otherwise, <see langword="false" />.</returns>
1020 <member name="M:System.Security.Cryptography.DSA.TryCreateSignatureCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
1021 <summary>Attempts to create the DSA signature for the specified hash value in the indicated format and place it into the provided buffer.</summary>
1022 <param name="hash">The hash value to sign.</param>
1023 <param name="destination">The buffer to receive the signature.</param>
1024 <param name="signatureFormat">The encoding format to use for the signature.</param>
1025 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1026 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
1028 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the signature; otherwise, <see langword="false" />.</returns>
1030 <member name="M:System.Security.Cryptography.DSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
1031 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
1032 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
1033 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
1034 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
1035 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1036 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
1040 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
1042 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1044 <member name="M:System.Security.Cryptography.DSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
1045 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
1046 <param name="password">The password to use when encrypting the key material.</param>
1047 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
1048 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
1049 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1050 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1052 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1054 <member name="M:System.Security.Cryptography.DSA.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
1055 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
1056 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
1057 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1058 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1060 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1062 <member name="M:System.Security.Cryptography.DSA.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
1063 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
1064 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
1065 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1066 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1068 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1070 <member name="M:System.Security.Cryptography.DSA.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
1071 <summary>Attempts to compute the hash value of the provided data into a provided buffer.</summary>
1072 <param name="data">The data to be hashed.</param>
1073 <param name="destination">The byte span to receive the hash value.</param>
1074 <param name="hashAlgorithm">The name of the hash algorithm to use.</param>
1075 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />.</param>
1077 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the result; otherwise, <see langword="false" />.</returns>
1079 <member name="M:System.Security.Cryptography.DSA.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
1080 <summary>Attempts to create the DSA signature for the specified data into the provided buffer.</summary>
1081 <param name="data">The data to hash and sign.</param>
1082 <param name="destination">The byte span to receive the signature.</param>
1083 <param name="hashAlgorithm">The name of the hash algorithm to use.</param>
1084 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />.</param>
1086 <see langword="true" /> if <paramref name="destination" /> is large enough to receive the result; otherwise, <see langword="false" />.</returns>
1088 <member name="M:System.Security.Cryptography.DSA.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
1089 <summary>Attempts to create the DSA signature for the specified data in the indicated format and place it into the provided buffer.</summary>
1090 <param name="data">The data to hash and sign.</param>
1091 <param name="destination">The buffer to receive the signature.</param>
1092 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
1093 <param name="signatureFormat">The encoding format to use for the signature.</param>
1094 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1095 <exception cref="T:System.ArgumentOutOfRangeException">
1096 <paramref name="signatureFormat" /> is not a known format.</exception>
1097 <exception cref="T:System.ArgumentException">
1098 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
1099 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
1101 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the signature; otherwise, <see langword="false" />.</returns>
1103 <member name="M:System.Security.Cryptography.DSA.TrySignDataCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
1104 <summary>Attempts to create the DSA signature for the specified data in the indicated format and place it into the provided buffer.</summary>
1105 <param name="data">The data to hash and sign.</param>
1106 <param name="destination">The buffer to receive the signature.</param>
1107 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
1108 <param name="signatureFormat">The encoding format to use for the signature.</param>
1109 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1110 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
1112 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the signature; otherwise, <see langword="false" />.</returns>
1114 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
1115 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and comparing it to the provided signature.</summary>
1116 <param name="data">The signed data.</param>
1117 <param name="signature">The signature data to be verified.</param>
1118 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
1119 <exception cref="T:System.ArgumentNullException">
1120 <paramref name="data" /> is <see langword="null" />.
1124 <paramref name="signature" /> is <see langword="null" />.</exception>
1125 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
1129 Verifying the signature otherwise failed.</exception>
1130 <exception cref="T:System.ArgumentException">
1131 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1133 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
1135 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
1136 <summary>Verifies that a digital signature is valid for the provided data.</summary>
1137 <param name="data">The signed data.</param>
1138 <param name="signature">The signature to verify.</param>
1139 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
1140 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1141 <exception cref="T:System.ArgumentNullException">
1142 <paramref name="data" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
1143 <exception cref="T:System.ArgumentOutOfRangeException">
1144 <paramref name="signatureFormat" /> is not a known format.</exception>
1145 <exception cref="T:System.ArgumentException">
1146 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
1147 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
1149 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1151 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
1152 <summary>Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and comparing it to the provided signature.</summary>
1153 <param name="data">The signed data.</param>
1154 <param name="offset">The starting index at which to compute the hash.</param>
1155 <param name="count">The number of bytes to hash.</param>
1156 <param name="signature">The signature data to be verified.</param>
1157 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
1158 <exception cref="T:System.ArgumentNullException">
1159 <paramref name="data" /> is <see langword="null" />.
1163 <paramref name="signature" /> is <see langword="null" />.</exception>
1164 <exception cref="T:System.ArgumentException">
1165 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1166 <exception cref="T:System.ArgumentOutOfRangeException">
1167 <paramref name="offset" /> is less than zero.
1171 <paramref name="count" /> is less than zero.
1175 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
1176 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
1180 Verifying the signature otherwise failed.</exception>
1182 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
1184 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
1185 <summary>Verifies that a digital signature is valid for the provided data.</summary>
1186 <param name="data">An array that contains the signed data.</param>
1187 <param name="offset">The starting index of the signed portion of <paramref name="data" />.</param>
1188 <param name="count">The number of bytes in <paramref name="data" /> that were signed.</param>
1189 <param name="signature">The signature to verify.</param>
1190 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
1191 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1192 <exception cref="T:System.ArgumentNullException">
1193 <paramref name="data" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
1194 <exception cref="T:System.ArgumentOutOfRangeException">
1195 <paramref name="signatureFormat" /> is not a known format.
1198 <paramref name="offset" /> is less than zero.
1201 <paramref name="count" /> is less than zero.
1204 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
1205 <exception cref="T:System.ArgumentException">
1206 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
1207 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
1209 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1211 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
1212 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and comparing it to the provided signature.</summary>
1213 <param name="data">The signed data.</param>
1214 <param name="signature">The signature data to be verified.</param>
1215 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
1216 <exception cref="T:System.ArgumentNullException">
1217 <paramref name="data" /> is <see langword="null" />.
1221 <paramref name="signature" /> is <see langword="null" />.</exception>
1222 <exception cref="T:System.ArgumentException">
1223 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1224 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
1228 Verifying the signature otherwise failed.</exception>
1230 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
1232 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
1233 <summary>Verifies that a digital signature is valid for the provided data.</summary>
1234 <param name="data">The signed data.</param>
1235 <param name="signature">The signature to verify.</param>
1236 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
1237 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1238 <exception cref="T:System.ArgumentNullException">
1239 <paramref name="data" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
1240 <exception cref="T:System.ArgumentOutOfRangeException">
1241 <paramref name="signatureFormat" /> is not a known format.</exception>
1242 <exception cref="T:System.ArgumentException">
1243 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
1244 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
1246 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1248 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName)">
1249 <summary>Verifies that a digital signature is valid by calculating the hash value of the data in a byte span using the specified hash algorithm and comparing it to the provided signature.</summary>
1250 <param name="data">The signed data.</param>
1251 <param name="signature">The signature to be verified.</param>
1252 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
1253 <exception cref="T:System.ArgumentException">
1254 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
1255 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash algorithm is not SHA-1.
1259 Verifying the signature otherwise failed.</exception>
1261 <see langword="true" /> if the digital signature is valid; otherwise, <see langword="false" />.</returns>
1263 <member name="M:System.Security.Cryptography.DSA.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
1264 <summary>Verifies that a digital signature is valid for the provided data.</summary>
1265 <param name="data">The signed data.</param>
1266 <param name="signature">The signature to verify.</param>
1267 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
1268 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1269 <exception cref="T:System.ArgumentOutOfRangeException">
1270 <paramref name="signatureFormat" /> is not a known format.</exception>
1271 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
1273 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1275 <member name="M:System.Security.Cryptography.DSA.VerifyDataCore(System.IO.Stream,System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
1276 <summary>Verifies that a digital signature is valid for the provided data.</summary>
1277 <param name="data">The signed data.</param>
1278 <param name="signature">The signature to verify.</param>
1279 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
1280 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1281 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
1283 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1285 <member name="M:System.Security.Cryptography.DSA.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
1286 <summary>Verifies that a digital signature is valid for the provided data.</summary>
1287 <param name="data">The signed data.</param>
1288 <param name="signature">The signature to verify.</param>
1289 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
1290 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1291 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
1293 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1295 <member name="M:System.Security.Cryptography.DSA.VerifySignature(System.Byte[],System.Byte[])">
1296 <summary>When overridden in a derived class, verifies the <see cref="T:System.Security.Cryptography.DSA" /> signature for the specified data.</summary>
1297 <param name="rgbHash">The hash of the data signed with <paramref name="rgbSignature" />.</param>
1298 <param name="rgbSignature">The signature to be verified for <c>rgbData</c>.</param>
1299 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash value is not 20 bytes long.
1303 Verifying the signature otherwise failed.</exception>
1305 <see langword="true" /> if <paramref name="rgbSignature" /> matches the signature computed using the specified hash algorithm and key on <paramref name="rgbHash" />; otherwise, <see langword="false" />.</returns>
1307 <member name="M:System.Security.Cryptography.DSA.VerifySignature(System.Byte[],System.Byte[],System.Security.Cryptography.DSASignatureFormat)">
1308 <summary>Verifies that a digital signature is valid for the provided hash.</summary>
1309 <param name="rgbHash">The signed hash.</param>
1310 <param name="rgbSignature">The signature to verify.</param>
1311 <param name="signatureFormat">The encoding format for <paramref name="rgbSignature" />.</param>
1312 <exception cref="T:System.ArgumentNullException">
1313 <paramref name="rgbHash" /> or <paramref name="rgbSignature" /> is <see langword="null" />.</exception>
1314 <exception cref="T:System.ArgumentOutOfRangeException">
1315 <paramref name="signatureFormat" /> is not a known format.</exception>
1316 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the verification operation.</exception>
1318 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1320 <member name="M:System.Security.Cryptography.DSA.VerifySignature(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
1321 <summary>Verifies that a digital signature is valid for a provided data hash.</summary>
1322 <param name="hash">The data hash to verify.</param>
1323 <param name="signature">The signature to be verify.</param>
1324 <exception cref="T:System.Security.Cryptography.CryptographicException">The implementation type only supports legacy DSA (FIPS 186-2), and the hash value is not 20 bytes long.
1328 Verifying the signature otherwise failed.</exception>
1330 <see langword="true" /> if the digital signature is valid for the hash; otherwise, <see langword="false" />.</returns>
1332 <member name="M:System.Security.Cryptography.DSA.VerifySignature(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.DSASignatureFormat)">
1333 <summary>Verifies that a digital signature is valid for the provided hash.</summary>
1334 <param name="hash">The signed hash.</param>
1335 <param name="signature">The signature to verify.</param>
1336 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1337 <exception cref="T:System.ArgumentOutOfRangeException">
1338 <paramref name="signatureFormat" /> is not a known format.</exception>
1339 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the verification operation.</exception>
1341 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1343 <member name="M:System.Security.Cryptography.DSA.VerifySignatureCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.DSASignatureFormat)">
1344 <summary>Verifies that a digital signature is valid for the provided hash.</summary>
1345 <param name="hash">The signed hash.</param>
1346 <param name="signature">The signature to verify.</param>
1347 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
1348 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the verification operation.</exception>
1350 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
1352 <member name="T:System.Security.Cryptography.DSAParameters">
1353 <summary>Contains the typical parameters for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1355 <member name="F:System.Security.Cryptography.DSAParameters.Counter">
1356 <summary>Specifies the counter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1358 <member name="F:System.Security.Cryptography.DSAParameters.G">
1359 <summary>Specifies the <see langword="G" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1361 <member name="F:System.Security.Cryptography.DSAParameters.J">
1362 <summary>Specifies the <see langword="J" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1364 <member name="F:System.Security.Cryptography.DSAParameters.P">
1365 <summary>Specifies the <see langword="P" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1367 <member name="F:System.Security.Cryptography.DSAParameters.Q">
1368 <summary>Specifies the <see langword="Q" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1370 <member name="F:System.Security.Cryptography.DSAParameters.Seed">
1371 <summary>Specifies the seed for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1373 <member name="F:System.Security.Cryptography.DSAParameters.X">
1374 <summary>Specifies the <see langword="X" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1376 <member name="F:System.Security.Cryptography.DSAParameters.Y">
1377 <summary>Specifies the <see langword="Y" /> parameter for the <see cref="T:System.Security.Cryptography.DSA" /> algorithm.</summary>
1379 <member name="T:System.Security.Cryptography.DSASignatureDeformatter">
1380 <summary>Verifies a Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) PKCS#1 v1.5 signature.</summary>
1382 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.#ctor">
1383 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureDeformatter" /> class.</summary>
1385 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
1386 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureDeformatter" /> class with the specified key.</summary>
1387 <param name="key">The instance of Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) that holds the key.</param>
1388 <exception cref="T:System.ArgumentNullException">
1389 <paramref name="key" /> is <see langword="null" />.</exception>
1391 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.SetHashAlgorithm(System.String)">
1392 <summary>Specifies the hash algorithm for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature deformatter.</summary>
1393 <param name="strName">The name of the hash algorithm to use for the signature deformatter.</param>
1394 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The <paramref name="strName" /> parameter does not map to the <see cref="T:System.Security.Cryptography.SHA1" /> hash algorithm.</exception>
1396 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
1397 <summary>Specifies the key to be used for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature deformatter.</summary>
1398 <param name="key">The instance of <see cref="T:System.Security.Cryptography.DSA" /> that holds the key.</param>
1399 <exception cref="T:System.ArgumentNullException">
1400 <paramref name="key" /> is <see langword="null" />.</exception>
1402 <member name="M:System.Security.Cryptography.DSASignatureDeformatter.VerifySignature(System.Byte[],System.Byte[])">
1403 <summary>Verifies the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature on the data.</summary>
1404 <param name="rgbHash">The data signed with <paramref name="rgbSignature" />.</param>
1405 <param name="rgbSignature">The signature to be verified for <paramref name="rgbHash" />.</param>
1406 <exception cref="T:System.ArgumentNullException">
1407 <paramref name="rgbHash" /> is <see langword="null" />.
1411 <paramref name="rgbSignature" /> is <see langword="null" />.</exception>
1412 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The DSA key is missing.</exception>
1414 <see langword="true" /> if the signature is valid for the data; otherwise, <see langword="false" />.</returns>
1416 <member name="T:System.Security.Cryptography.DSASignatureFormat">
1417 <summary>Specifies the data format for signatures with the DSA family of algorithms.</summary>
1419 <member name="F:System.Security.Cryptography.DSASignatureFormat.IeeeP1363FixedFieldConcatenation">
1420 <summary>The signature format from IEEE P1363, which produces a fixed-size signature for a given key.</summary>
1422 <member name="F:System.Security.Cryptography.DSASignatureFormat.Rfc3279DerSequence">
1423 <summary>The signature format from IETF RFC 3279, which produces a variably-sized signature.</summary>
1425 <member name="T:System.Security.Cryptography.DSASignatureFormatter">
1426 <summary>Creates a Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature.</summary>
1428 <member name="M:System.Security.Cryptography.DSASignatureFormatter.#ctor">
1429 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureFormatter" /> class.</summary>
1431 <member name="M:System.Security.Cryptography.DSASignatureFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
1432 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSASignatureFormatter" /> class with the specified key.</summary>
1433 <param name="key">The instance of the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) that holds the key.</param>
1434 <exception cref="T:System.ArgumentNullException">
1435 <paramref name="key" /> is <see langword="null" />.</exception>
1437 <member name="M:System.Security.Cryptography.DSASignatureFormatter.CreateSignature(System.Byte[])">
1438 <summary>Creates the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) PKCS #1 signature for the specified data.</summary>
1439 <param name="rgbHash">The data to be signed.</param>
1440 <exception cref="T:System.ArgumentNullException">
1441 <paramref name="rgbHash" /> is <see langword="null" />.</exception>
1442 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The OID is <see langword="null" />.
1446 The DSA key is <see langword="null" />.</exception>
1447 <returns>The digital signature for the specified data.</returns>
1449 <member name="M:System.Security.Cryptography.DSASignatureFormatter.SetHashAlgorithm(System.String)">
1450 <summary>Specifies the hash algorithm for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature formatter.</summary>
1451 <param name="strName">The name of the hash algorithm to use for the signature formatter.</param>
1452 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The <paramref name="strName" /> parameter does not map to the <see cref="T:System.Security.Cryptography.SHA1" /> hash algorithm.</exception>
1454 <member name="M:System.Security.Cryptography.DSASignatureFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
1455 <summary>Specifies the key to be used for the Digital Signature Algorithm (<see cref="T:System.Security.Cryptography.DSA" />) signature formatter.</summary>
1456 <param name="key">The instance of <see cref="T:System.Security.Cryptography.DSA" /> that holds the key.</param>
1457 <exception cref="T:System.ArgumentNullException">
1458 <paramref name="key" /> is <see langword="null" />.</exception>
1460 <member name="T:System.Security.Cryptography.ECCurve">
1461 <summary>Represents an elliptic curve.</summary>
1463 <member name="F:System.Security.Cryptography.ECCurve.A">
1464 <summary>The first coefficient for an explicit curve. <c>A</c> for short Weierstrass, Montgomery, and Twisted Edwards curves.</summary>
1466 <member name="F:System.Security.Cryptography.ECCurve.B">
1467 <summary>The second coefficient for an explicit curve. <c>B</c> for short Weierstrass and <c>d</c> for Twisted Edwards curves.</summary>
1469 <member name="F:System.Security.Cryptography.ECCurve.Cofactor">
1470 <summary>The cofactor of the curve.</summary>
1472 <member name="F:System.Security.Cryptography.ECCurve.CurveType">
1473 <summary>Identifies the composition of the <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
1475 <member name="F:System.Security.Cryptography.ECCurve.G">
1476 <summary>The generator, or base point, for operations on the curve.</summary>
1478 <member name="F:System.Security.Cryptography.ECCurve.Hash">
1479 <summary>The name of the hash algorithm which was used to generate the curve coefficients (<see cref="F:System.Security.Cryptography.ECCurve.A" /> and <see cref="F:System.Security.Cryptography.ECCurve.B" />) from the <see cref="F:System.Security.Cryptography.ECCurve.Seed" /> under the ANSI X9.62 generation algorithm. Applies only to explicit curves.</summary>
1481 <member name="F:System.Security.Cryptography.ECCurve.Order">
1482 <summary>The order of the curve. Applies only to explicit curves.</summary>
1484 <member name="F:System.Security.Cryptography.ECCurve.Polynomial">
1485 <summary>The curve polynomial. Applies only to characteristic 2 curves.</summary>
1487 <member name="F:System.Security.Cryptography.ECCurve.Prime">
1488 <summary>The prime specifying the base field. Applies only to prime curves.</summary>
1490 <member name="F:System.Security.Cryptography.ECCurve.Seed">
1491 <summary>The seed value for coefficient generation under the ANSI X9.62 generation algorithm. Applies only to explicit curves.</summary>
1493 <member name="M:System.Security.Cryptography.ECCurve.CreateFromFriendlyName(System.String)">
1494 <summary>Creates a named curve using the specified friendly name of the identifier.</summary>
1495 <param name="oidFriendlyName">The friendly name of the identifier.</param>
1496 <exception cref="T:System.ArgumentNullException">
1497 <paramref name="oidFriendlyName" /> is <see langword="null" />.</exception>
1498 <returns>An object representing the named curve.</returns>
1500 <member name="M:System.Security.Cryptography.ECCurve.CreateFromOid(System.Security.Cryptography.Oid)">
1501 <summary>Creates a named curve using the specified <see cref="T:System.Security.Cryptography.Oid" /> object.</summary>
1502 <param name="curveOid">The object identifier to use.</param>
1503 <returns>An object representing the named curve.</returns>
1505 <member name="M:System.Security.Cryptography.ECCurve.CreateFromValue(System.String)">
1506 <summary>Creates a named curve using the specified dotted-decimal representation of the identifier.</summary>
1507 <param name="oidValue">The dotted number of the identifier.</param>
1508 <exception cref="T:System.ArgumentNullException">
1509 <paramref name="oidValue" /> is <see langword="null" />.</exception>
1510 <returns>An object representing the named curve.</returns>
1512 <member name="M:System.Security.Cryptography.ECCurve.Validate">
1513 <summary>Validates the integrity of the current curve. Throws a <see cref="T:System.Security.Cryptography.CryptographicException" /> exception if the structure is not valid.</summary>
1514 <exception cref="T:System.Security.Cryptography.CryptographicException">The curve parameters are not valid for the current curve type.</exception>
1516 <member name="P:System.Security.Cryptography.ECCurve.IsCharacteristic2">
1517 <summary>Gets a value that indicates whether the curve type indicates an explicit characteristic 2 curve.</summary>
1519 <see langword="true" /> if the curve is an explicit characteristic 2 curve; <see langword="false" /> if the curve is a named characteristic 2, prime, or implicit curve.</returns>
1521 <member name="P:System.Security.Cryptography.ECCurve.IsExplicit">
1522 <summary>Gets a value that indicates whether the curve type indicates an explicit curve (either prime or characteristic 2).</summary>
1524 <see langword="true" /> if the curve is an explicit curve (either prime or characteristic 2); <see langword="false" /> if the curve is a named or implicit curve.</returns>
1526 <member name="P:System.Security.Cryptography.ECCurve.IsNamed">
1527 <summary>Gets a value that indicates whether the curve type indicates a named curve.</summary>
1529 <see langword="true" /> if the curve is a named curve; <see langword="false" /> if the curve is an implicit or an explicit curve (either prime or characteristic 2).</returns>
1531 <member name="P:System.Security.Cryptography.ECCurve.IsPrime">
1532 <summary>Gets a value that indicates whether the curve type indicates an explicit prime curve.</summary>
1534 <see langword="true" /> if the curve is an explicit prime curve; <see langword="false" /> if the curve is a named prime, characteristic 2 or implicit curves.</returns>
1536 <member name="P:System.Security.Cryptography.ECCurve.Oid">
1537 <summary>Gets the identifier of a named curve.</summary>
1538 <returns>The identifier of a named curve.</returns>
1540 <member name="T:System.Security.Cryptography.ECCurve.ECCurveType">
1541 <summary>Indicates how to interpret the data contained in an <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
1543 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.Characteristic2">
1544 <summary>The curve parameters represent a characteristic 2 curve.</summary>
1546 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.Implicit">
1547 <summary>No curve data is interpreted. The caller is assumed to know what the curve is.</summary>
1549 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.Named">
1550 <summary>The curve parameters represent a named curve.</summary>
1552 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.PrimeMontgomery">
1553 <summary>The curve parameters represent a prime curve with the formula B*y^2 = x^3 + A*x^2 + x.</summary>
1555 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.PrimeShortWeierstrass">
1556 <summary>The curve parameters represent a prime curve with the formula y^2 = x^3 + A*x + B in the prime field P.</summary>
1558 <member name="F:System.Security.Cryptography.ECCurve.ECCurveType.PrimeTwistedEdwards">
1559 <summary>The curve parameters represent a prime curve with the formula A*x^2 + y^2 = 1 + B*x^2*y^2 in the prime field P.</summary>
1561 <member name="T:System.Security.Cryptography.ECCurve.NamedCurves">
1562 <summary>Represents a factory class for creating named curves.</summary>
1564 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP160r1">
1565 <summary>Gets a brainpoolP160r1 named curve.</summary>
1566 <returns>A brainpoolP160r1 named curve.</returns>
1568 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP160t1">
1569 <summary>Gets a brainpoolP160t1 named curve.</summary>
1570 <returns>A brainpoolP160t1 named curve.</returns>
1572 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP192r1">
1573 <summary>Gets a brainpoolP192r1 named curve.</summary>
1574 <returns>A brainpoolP192r1 named curve.</returns>
1576 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP192t1">
1577 <summary>Gets a brainpoolP192t1 named curve.</summary>
1578 <returns>A brainpoolP192t1 named curve.</returns>
1580 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP224r1">
1581 <summary>Gets a brainpoolP224r1 named curve.</summary>
1582 <returns>A brainpoolP224r1 named curve.</returns>
1584 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP224t1">
1585 <summary>Gets a brainpoolP224t1 named curve.</summary>
1586 <returns>A brainpoolP224t1 named curve.</returns>
1588 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP256r1">
1589 <summary>Gets a brainpoolP256r1 named curve.</summary>
1590 <returns>A brainpoolP256r1 named curve.</returns>
1592 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP256t1">
1593 <summary>Gets a brainpoolP256t1 named curve.</summary>
1594 <returns>A brainpoolP256t1 named curve.</returns>
1596 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP320r1">
1597 <summary>Gets a brainpoolP320r1 named curve.</summary>
1598 <returns>A brainpoolP320r1 named curve.</returns>
1600 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP320t1">
1601 <summary>Gets a brainpoolP320t1 named curve.</summary>
1602 <returns>A brainpoolP320t1 named curve.</returns>
1604 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP384r1">
1605 <summary>Gets a brainpoolP384r1 named curve.</summary>
1606 <returns>A brainpoolP384r1 named curve.</returns>
1608 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP384t1">
1609 <summary>Gets a brainpoolP384t1 named curve.</summary>
1610 <returns>A brainpoolP384t1 named curve.</returns>
1612 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP512r1">
1613 <summary>Gets a brainpoolP512r1 named curve.</summary>
1614 <returns>A brainpoolP512r1 named curve.</returns>
1616 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.brainpoolP512t1">
1617 <summary>Gets a brainpoolP512t1 named curve.</summary>
1618 <returns>A brainpoolP512t1 named curve.</returns>
1620 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.nistP256">
1621 <summary>Gets a nistP256 named curve.</summary>
1622 <returns>A nistP256 named curve.</returns>
1624 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.nistP384">
1625 <summary>Gets a nistP384 named curve.</summary>
1626 <returns>A nistP384 named curve.</returns>
1628 <member name="P:System.Security.Cryptography.ECCurve.NamedCurves.nistP521">
1629 <summary>Gets a nistP521 named curve.</summary>
1630 <returns>A nistP521 named curve.</returns>
1632 <member name="T:System.Security.Cryptography.ECDiffieHellman">
1633 <summary>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.</summary>
1635 <member name="M:System.Security.Cryptography.ECDiffieHellman.#ctor">
1636 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> class.</summary>
1638 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create">
1639 <summary>Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</summary>
1640 <returns>A new instance of the default implementation of this class.</returns>
1642 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create(System.Security.Cryptography.ECCurve)">
1643 <summary>Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with a new public/private key-pair generated over the specified curve.</summary>
1644 <param name="curve">The curve to use to generate a new public/private key-pair.</param>
1645 <exception cref="T:System.Security.Cryptography.CryptographicException">
1646 <paramref name="curve" /> does not validate.</exception>
1647 <returns>A new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</returns>
1649 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create(System.Security.Cryptography.ECParameters)">
1650 <summary>Creates a new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm with the key described by the specified <see cref="T:System.Security.Cryptography.ECParameters" /> object.</summary>
1651 <param name="parameters">The parameters for the elliptic curve cryptography (ECC) algorithm.</param>
1652 <exception cref="T:System.Security.Cryptography.CryptographicException">
1653 <paramref name="parameters" /> does not validate.</exception>
1654 <returns>A new instance of the default implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</returns>
1656 <member name="M:System.Security.Cryptography.ECDiffieHellman.Create(System.String)">
1657 <summary>Creates a new instance of the specified implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm.</summary>
1658 <param name="algorithm">The name of an implementation of the ECDH algorithm.</param>
1659 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithm" /> parameter is <see langword="null" />.</exception>
1660 <returns>A new instance of the specified implementation of this class. If the specified algorithm name does not map to an ECDH implementation, this method returns <see langword="null" />.</returns>
1662 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName)">
1663 <summary>Performs key derivation using a specified hash algorithm.</summary>
1664 <param name="otherPartyPublicKey">The other party's public key.</param>
1665 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1666 <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.
1670 The <paramref name="hashAlgorithm" /> parameter does not specify a hash.</exception>
1671 <exception cref="T:System.ArgumentNullException">
1672 <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
1673 <exception cref="T:System.Security.Cryptography.CryptographicException">The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
1677 This instance represents only a public key.</exception>
1678 <returns>The hash of the shared secret.</returns>
1680 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[])">
1681 <summary>When implemented in a derived class, performs key derivation using a specified hash algorithm with optional prepended or appended data.</summary>
1682 <param name="otherPartyPublicKey">The other party's public key.</param>
1683 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1684 <param name="secretPrepend">A value to prepend to the derived secret before hashing.</param>
1685 <param name="secretAppend">A value to append to the derived secret before hashing.</param>
1686 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1687 <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.
1691 The <paramref name="hashAlgorithm" /> parameter does not specify a hash.</exception>
1692 <exception cref="T:System.ArgumentNullException">
1693 <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
1694 <exception cref="T:System.Security.Cryptography.CryptographicException">The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
1698 This instance represents only a public key.</exception>
1699 <returns>The hash of the shared secret after prepending or appending data as requested.</returns>
1701 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHmac(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[])">
1702 <summary>Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm.</summary>
1703 <param name="otherPartyPublicKey">The other party's public key.</param>
1704 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1705 <param name="hmacKey">The key for the HMAC.</param>
1706 <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.
1710 The <paramref name="hashAlgorithm" /> parameter does not specify a hash.</exception>
1711 <exception cref="T:System.ArgumentNullException">
1712 <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
1713 <exception cref="T:System.Security.Cryptography.CryptographicException">The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
1717 This instance represents only a public key.</exception>
1718 <returns>The HMAC of the shared secret.</returns>
1720 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyFromHmac(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[],System.Byte[])">
1721 <summary>When implemented in a derived class, performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm with optional prepended or appended data.</summary>
1722 <param name="otherPartyPublicKey">The other party's public key.</param>
1723 <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
1724 <param name="hmacKey">The key for the HMAC.</param>
1725 <param name="secretPrepend">A value to prepend to the derived secret before hashing.</param>
1726 <param name="secretAppend">A value to append to the derived secret before hashing.</param>
1727 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1728 <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.
1732 The <paramref name="hashAlgorithm" /> parameter does not specify a hash.</exception>
1733 <exception cref="T:System.ArgumentNullException">
1734 <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
1735 <exception cref="T:System.Security.Cryptography.CryptographicException">The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
1739 This instance represents only a public key.</exception>
1740 <returns>The HMAC of the shared secret after prepending or appending data as requested.</returns>
1742 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyMaterial(System.Security.Cryptography.ECDiffieHellmanPublicKey)">
1743 <summary>When implemented in a derived class, performs a key derivation on the shared secret.</summary>
1744 <param name="otherPartyPublicKey">The other party's public key.</param>
1745 <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.</exception>
1746 <exception cref="T:System.ArgumentNullException">
1747 <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
1748 <exception cref="T:System.Security.Cryptography.CryptographicException">The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
1752 This instance represents only a public key.</exception>
1753 <returns>The result of the key derivation function, using the shared secret as an input.</returns>
1755 <member name="M:System.Security.Cryptography.ECDiffieHellman.DeriveKeyTls(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Byte[],System.Byte[])">
1756 <summary>When implemented in a derived class, performs key derivation using the TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).</summary>
1757 <param name="otherPartyPublicKey">The other party's public key.</param>
1758 <param name="prfLabel">The ASCII-encoded PRF label.</param>
1759 <param name="prfSeed">The 64-byte PRF seed.</param>
1760 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1761 <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.</exception>
1762 <exception cref="T:System.ArgumentNullException">
1763 <paramref name="otherPartyPublicKey" />, <paramref name="prfLabel" /> or <paramref name="prfSeed" /> is <see langword="null" />.</exception>
1764 <exception cref="T:System.Security.Cryptography.CryptographicException">
1765 <paramref name="prfSeed" /> is not exactly 64 bytes in length.
1769 The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
1773 This instance represents only a public key.</exception>
1774 <returns>The first 48 bytes from the TLS 1.1 PRF, using the shared secret as the key.</returns>
1776 <member name="M:System.Security.Cryptography.ECDiffieHellman.ExportECPrivateKey">
1777 <summary>Exports the current key in the ECPrivateKey format.</summary>
1778 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1779 <returns>A byte array containing the ECPrivateKey representation of this key.</returns>
1781 <member name="M:System.Security.Cryptography.ECDiffieHellman.ExportExplicitParameters(System.Boolean)">
1782 <summary>When overridden in a derived class, exports either the public or the public and private key information using the explicit curve form from a working <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> key to an <see cref="T:System.Security.Cryptography.ECParameters" /> structure so that it can be passed to the <see cref="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)" /> method.</summary>
1783 <param name="includePrivateParameters">
1784 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
1785 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1786 <returns>An object that represents the point on the curve for this key, using the explicit curve format.</returns>
1788 <member name="M:System.Security.Cryptography.ECDiffieHellman.ExportParameters(System.Boolean)">
1789 <summary>When overridden in a derived class, exports either the public or the public and private key information from a working <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> key to an <see cref="T:System.Security.Cryptography.ECParameters" /> structure so that it can be passed to the <see cref="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)" /> method.</summary>
1790 <param name="includePrivateParameters">
1791 <see langword="true" /> to include private parameters; otherwise, <see langword="false" /> to include public parameters only.</param>
1792 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1793 <returns>An object that represents the point on the curve for this key. It can be passed to the <see cref="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)" /> method.</returns>
1795 <member name="M:System.Security.Cryptography.ECDiffieHellman.FromXmlString(System.String)">
1796 <summary>This method throws in all cases.</summary>
1797 <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object.</param>
1798 <exception cref="T:System.NotImplementedException">In all cases.</exception>
1800 <member name="M:System.Security.Cryptography.ECDiffieHellman.GenerateKey(System.Security.Cryptography.ECCurve)">
1801 <summary>When overridden in a derived class, generates a new ephemeral public/private key pair for the specified curve.</summary>
1802 <param name="curve">The curve used to generate an ephemeral public/private key pair.</param>
1803 <exception cref="T:System.Security.Cryptography.CryptographicException">
1804 <paramref name="curve" /> does not validate.</exception>
1805 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1807 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportECPrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
1808 <summary>Imports the public/private keypair from an ECPrivateKey structure, replacing the keys for this object.</summary>
1809 <param name="source">The bytes of an ECPrivateKey structure in the ASN.1-BER encoding.</param>
1810 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1811 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 ECPrivateKey structure.
1815 The key import failed.</exception>
1817 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
1818 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
1819 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
1820 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1821 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1822 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
1826 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
1830 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1834 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1838 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1842 The algorithm-specific key import failed.</exception>
1844 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
1845 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
1846 <param name="password">The password to use for decrypting the key material.</param>
1847 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1848 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1849 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
1853 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1857 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1861 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1865 The algorithm-specific key import failed.</exception>
1867 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
1868 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
1869 <param name="input">The PEM text of the encrypted key to import.</param>
1870 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
1871 <exception cref="T:System.ArgumentException">
1872 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
1876 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
1877 <exception cref="T:System.Security.Cryptography.CryptographicException">
1878 The password is incorrect.
1882 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1886 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1890 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
1894 The algorithm-specific key import failed.</exception>
1896 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
1897 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
1898 <param name="input">The PEM text of the encrypted key to import.</param>
1899 <param name="password">The password to use for decrypting the key material.</param>
1900 <exception cref="T:System.ArgumentException">
1901 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
1905 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
1906 <exception cref="T:System.Security.Cryptography.CryptographicException">
1907 The password is incorrect.
1911 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
1915 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1919 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
1923 The algorithm-specific key import failed.</exception>
1925 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportFromPem(System.ReadOnlySpan{System.Char})">
1926 <summary>Imports an RFC 7468 PEM-encoded key, replacing the keys for this object.</summary>
1927 <param name="input">The PEM text of the key to import.</param>
1928 <exception cref="T:System.ArgumentException">
1929 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
1933 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.
1937 <paramref name="input" /> contains an encrypted PEM-encoded key.</exception>
1939 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportParameters(System.Security.Cryptography.ECParameters)">
1940 <summary>When overridden in a derived class, imports the specified parameters for an <see cref="T:System.Security.Cryptography.ECCurve" /> as an ephemeral key into the current <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> object.</summary>
1941 <param name="parameters">The curve's parameters to import.</param>
1942 <exception cref="T:System.Security.Cryptography.CryptographicException">
1943 <paramref name="parameters" /> does not validate.</exception>
1944 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
1946 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
1947 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
1948 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
1949 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1950 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
1954 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1958 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1962 The algorithm-specific key import failed.</exception>
1964 <member name="M:System.Security.Cryptography.ECDiffieHellman.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
1965 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
1966 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
1967 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
1968 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
1972 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
1976 The contents of <paramref name="source" /> represent the key in a format that is not supported.
1980 The algorithm-specific key import failed.</exception>
1982 <member name="M:System.Security.Cryptography.ECDiffieHellman.ToXmlString(System.Boolean)">
1983 <summary>This method throws in all cases.</summary>
1984 <param name="includePrivateParameters">
1985 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
1986 <exception cref="T:System.NotImplementedException">In all cases.</exception>
1987 <returns>This method does not return a value.</returns>
1989 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportECPrivateKey(System.Span{System.Byte},System.Int32@)">
1990 <summary>Attempts to export the current key in the <see langword="ECPrivateKey" /> format into a provided buffer.</summary>
1991 <param name="destination">The byte span to receive the <see langword="ECPrivateKey" /> data.</param>
1992 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
1993 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
1995 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
1997 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
1998 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
1999 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
2000 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
2001 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
2002 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2003 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
2007 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
2009 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2011 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
2012 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
2013 <param name="password">The password to use when encrypting the key material.</param>
2014 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
2015 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
2016 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2017 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2019 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2021 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
2022 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
2023 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
2024 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2025 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2027 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2029 <member name="M:System.Security.Cryptography.ECDiffieHellman.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
2030 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
2031 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
2032 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2033 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2035 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2037 <member name="P:System.Security.Cryptography.ECDiffieHellman.KeyExchangeAlgorithm">
2038 <summary>Gets the name of the key exchange algorithm.</summary>
2039 <returns>The name of the key exchange algorithm.</returns>
2041 <member name="P:System.Security.Cryptography.ECDiffieHellman.PublicKey">
2042 <summary>Gets the public key that is being used by the current Elliptic Curve Diffie-Hellman (ECDH) instance.</summary>
2043 <returns>The public part of the ECDH key pair that is being used by this <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> instance.</returns>
2045 <member name="P:System.Security.Cryptography.ECDiffieHellman.SignatureAlgorithm">
2046 <summary>Gets the name of the signature algorithm.</summary>
2047 <returns>Always <see langword="null" />.</returns>
2049 <member name="T:System.Security.Cryptography.ECDiffieHellmanPublicKey">
2050 <summary>Provides an abstract base class from which all <see cref="T:System.Security.Cryptography.ECDiffieHellmanCngPublicKey" /> implementations must inherit.</summary>
2052 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.#ctor">
2053 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> class.</summary>
2055 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.#ctor(System.Byte[])">
2056 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> class.</summary>
2057 <param name="keyBlob">A byte array that represents an <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> object.</param>
2058 <exception cref="T:System.ArgumentNullException">
2059 <paramref name="keyBlob" /> is <see langword="null" />.</exception>
2061 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.Dispose">
2062 <summary>Releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> class.</summary>
2064 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.Dispose(System.Boolean)">
2065 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> class and optionally releases the managed resources.</summary>
2066 <param name="disposing">
2067 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
2069 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ExportExplicitParameters">
2070 <summary>When overridden in a derived class, exports the explicit <see cref="T:System.Security.Cryptography.ECParameters" /> for an <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
2071 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
2072 <returns>An object that represents the point on the curve for this key, using the explicit curve format.</returns>
2074 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ExportParameters">
2075 <summary>When overridden in a derived class, exports the named or explicit <see cref="T:System.Security.Cryptography.ECParameters" /> for an <see cref="T:System.Security.Cryptography.ECCurve" /> object.</summary>
2076 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
2077 <returns>An object that represents the point on the curve for this key.</returns>
2079 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ExportSubjectPublicKeyInfo">
2080 <summary>Exports the current key in the X.509 SubjectPublicKeyInfo format.</summary>
2081 <exception cref="T:System.NotSupportedException">The member <see cref="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ExportParameters" /> has not been overridden in a derived class.</exception>
2082 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
2083 <exception cref="T:System.Security.Cryptography.CryptographicException">The key is invalid and could not be exported.</exception>
2084 <returns>A byte array containing the X.509 SubjectPublicKeyInfo representation of this key.</returns>
2086 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ToByteArray">
2087 <summary>Serializes the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> key BLOB to a byte array.</summary>
2088 <returns>A byte array that contains the serialized Elliptic Curve Diffie-Hellman (ECDH) public key.</returns>
2090 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ToXmlString">
2091 <summary>Serializes the <see cref="T:System.Security.Cryptography.ECDiffieHellmanPublicKey" /> public key to an XML string.</summary>
2092 <returns>An XML string that contains the serialized Elliptic Curve Diffie-Hellman (ECDH) public key.</returns>
2094 <member name="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
2095 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format.</summary>
2096 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
2097 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />.
2098 This parameter is treated as uninitialized.</param>
2099 <exception cref="T:System.NotSupportedException">The member <see cref="M:System.Security.Cryptography.ECDiffieHellmanPublicKey.ExportParameters" /> has not been overridden in a derived class.</exception>
2100 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
2101 <exception cref="T:System.Security.Cryptography.CryptographicException">The key is invalid and could not be exported.</exception>
2103 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2105 <member name="T:System.Security.Cryptography.ECDsa">
2106 <summary>Provides an abstract base class that encapsulates the Elliptic Curve Digital Signature Algorithm (ECDSA).</summary>
2108 <member name="M:System.Security.Cryptography.ECDsa.#ctor">
2109 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDsa" /> class.</summary>
2111 <member name="M:System.Security.Cryptography.ECDsa.Create">
2112 <summary>Creates a new instance of the default implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA).</summary>
2113 <returns>A new instance of the default implementation (<see cref="T:System.Security.Cryptography.ECDsaCng" />) of this class.</returns>
2115 <member name="M:System.Security.Cryptography.ECDsa.Create(System.Security.Cryptography.ECCurve)">
2116 <summary>Creates a new instance of the default implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) with a newly generated key over the specified curve.</summary>
2117 <param name="curve">The curve to use for key generation.</param>
2118 <returns>A new instance of the default implementation (<see cref="T:System.Security.Cryptography.ECDsaCng" />) of this class.</returns>
2120 <member name="M:System.Security.Cryptography.ECDsa.Create(System.Security.Cryptography.ECParameters)">
2121 <summary>Creates a new instance of the default implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) using the specified parameters as the key.</summary>
2122 <param name="parameters">The parameters representing the key to use.</param>
2123 <returns>A new instance of the default implementation (<see cref="T:System.Security.Cryptography.ECDsaCng" />) of this class.</returns>
2125 <member name="M:System.Security.Cryptography.ECDsa.Create(System.String)">
2126 <summary>Creates a new instance of the specified implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA).</summary>
2127 <param name="algorithm">The name of an ECDSA implementation. The following strings all refer to the same implementation, which is the only implementation currently supported in the .NET Framework:
2133 - "System.Security.Cryptography.ECDsaCng"
2135 You can also provide the name of a custom ECDSA implementation.</param>
2136 <exception cref="T:System.ArgumentNullException">The <paramref name="algorithm" /> parameter is <see langword="null" />.</exception>
2137 <returns>A new instance of the specified implementation of this class. If the specified algorithm name does not map to an ECDSA implementation, this method returns <see langword="null" />.</returns>
2139 <member name="M:System.Security.Cryptography.ECDsa.ExportECPrivateKey">
2140 <summary>Exports the current key in the ECPrivateKey format.</summary>
2141 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2142 <returns>A byte array containing the ECPrivateKey representation of this key.</returns>
2144 <member name="M:System.Security.Cryptography.ECDsa.ExportExplicitParameters(System.Boolean)">
2145 <summary>When overridden in a derived class, exports the explicit parameters for an elliptic curve.</summary>
2146 <param name="includePrivateParameters">
2147 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
2148 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
2149 <returns>The parameters representing the point on the curve for this key, using the explicit curve format.</returns>
2151 <member name="M:System.Security.Cryptography.ECDsa.ExportParameters(System.Boolean)">
2152 <summary>When overridden in a derived class, exports the named or explicit parameters for an elliptic curve. If the curve has a name, the <see cref="F:System.Security.Cryptography.ECParameters.Curve" /> field contains named curve parameters, otherwise it contains explicit parameters.</summary>
2153 <param name="includePrivateParameters">
2154 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
2155 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
2156 <returns>The parameters representing the point on the curve for this key.</returns>
2158 <member name="M:System.Security.Cryptography.ECDsa.FromXmlString(System.String)">
2159 <summary>This method throws in all cases.</summary>
2160 <param name="xmlString">The XML string to use to reconstruct the <see cref="T:System.Security.Cryptography.AsymmetricAlgorithm" /> object.</param>
2161 <exception cref="T:System.NotImplementedException">In all cases.</exception>
2163 <member name="M:System.Security.Cryptography.ECDsa.GenerateKey(System.Security.Cryptography.ECCurve)">
2164 <summary>When overridden in a derived class, generates a new ephemeral public/private key pair for the specified curve, replacing the current key.</summary>
2165 <param name="curve">The curve to use to generate the key.</param>
2166 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
2168 <member name="M:System.Security.Cryptography.ECDsa.GetMaxSignatureSize(System.Security.Cryptography.DSASignatureFormat)">
2169 <summary>Gets the largest size, in bytes, for a signature produced by this key in the indicated format.</summary>
2170 <param name="signatureFormat">The encoding format for a signature.</param>
2171 <exception cref="T:System.ArgumentOutOfRangeException">
2172 <paramref name="signatureFormat" /> is not a known format.</exception>
2173 <returns>The largest size, in bytes, for a signature produced by this key in the indicated format.</returns>
2175 <member name="M:System.Security.Cryptography.ECDsa.HashData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
2176 <summary>When overridden in a derived class, computes the hash value of the specified portion of a byte array by using the specified hashing algorithm.</summary>
2177 <param name="data">The data to be hashed.</param>
2178 <param name="offset">The index of the first byte in <paramref name="data" /> to be hashed.</param>
2179 <param name="count">The number of bytes to hash.</param>
2180 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
2181 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2182 <returns>The hashed data.</returns>
2184 <member name="M:System.Security.Cryptography.ECDsa.HashData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
2185 <summary>When overridden in a derived class, computes the hash value of the specified binary stream by using the specified hashing algorithm.</summary>
2186 <param name="data">The binary stream to hash.</param>
2187 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
2188 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
2189 <returns>The hashed data.</returns>
2191 <member name="M:System.Security.Cryptography.ECDsa.ImportECPrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
2192 <summary>Imports the public/private keypair from an ECPrivateKey structure, replacing the keys for this object.</summary>
2193 <param name="source">The bytes of an ECPrivateKey structure in the ASN.1-BER encoding.</param>
2194 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2195 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 ECPrivateKey structure.
2199 The key import failed.</exception>
2201 <member name="M:System.Security.Cryptography.ECDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
2202 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
2203 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
2204 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
2205 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2206 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
2210 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
2214 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
2218 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2222 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2226 The algorithm-specific key import failed.</exception>
2228 <member name="M:System.Security.Cryptography.ECDsa.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
2229 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
2230 <param name="password">The password to use for decrypting the key material.</param>
2231 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
2232 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2233 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
2237 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
2241 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2245 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2249 The algorithm-specific key import failed.</exception>
2251 <member name="M:System.Security.Cryptography.ECDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
2252 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
2253 <param name="input">The PEM text of the encrypted key to import.</param>
2254 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
2255 <exception cref="T:System.ArgumentException">
2256 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
2260 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
2261 <exception cref="T:System.Security.Cryptography.CryptographicException">
2262 The password is incorrect.
2266 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
2270 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2274 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
2278 The algorithm-specific key import failed.</exception>
2280 <member name="M:System.Security.Cryptography.ECDsa.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
2281 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
2282 <param name="input">The PEM text of the encrypted key to import.</param>
2283 <param name="password">The password to use for decrypting the key material.</param>
2284 <exception cref="T:System.ArgumentException">
2285 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
2289 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
2290 <exception cref="T:System.Security.Cryptography.CryptographicException">
2291 The password is incorrect.
2295 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
2299 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2303 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
2307 The algorithm-specific key import failed.</exception>
2309 <member name="M:System.Security.Cryptography.ECDsa.ImportFromPem(System.ReadOnlySpan{System.Char})">
2310 <summary>Imports an RFC 7468 PEM-encoded key, replacing the keys for this object.</summary>
2311 <param name="input">The PEM text of the key to import.</param>
2312 <exception cref="T:System.ArgumentException">
2313 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
2317 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.
2321 <paramref name="input" /> contains an encrypted PEM-encoded key.</exception>
2323 <member name="M:System.Security.Cryptography.ECDsa.ImportParameters(System.Security.Cryptography.ECParameters)">
2324 <summary>When overridden in a derived class, imports the specified parameters.</summary>
2325 <param name="parameters">The curve parameters.</param>
2326 <exception cref="T:System.NotSupportedException">A derived class must override this method.</exception>
2328 <member name="M:System.Security.Cryptography.ECDsa.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
2329 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
2330 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
2331 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2332 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
2336 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2340 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2344 The algorithm-specific key import failed.</exception>
2346 <member name="M:System.Security.Cryptography.ECDsa.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
2347 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
2348 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
2349 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
2350 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
2354 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
2358 The contents of <paramref name="source" /> represent the key in a format that is not supported.
2362 The algorithm-specific key import failed.</exception>
2364 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
2365 <summary>Computes the hash value of a portion of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
2366 <param name="data">The input data for which to compute the hash.</param>
2367 <param name="offset">The offset into the array at which to begin using data.</param>
2368 <param name="count">The number of bytes in the array to use as data.</param>
2369 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2370 <exception cref="T:System.ArgumentNullException">
2371 <paramref name="data" /> is <see langword="null" />.</exception>
2372 <exception cref="T:System.ArgumentException">
2373 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2374 <exception cref="T:System.ArgumentOutOfRangeException">
2375 <paramref name="offset" /> is less than zero.
2379 <paramref name="count" /> is less than zero.
2383 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
2384 <returns>The ECDSA signature for the specified data.</returns>
2386 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2387 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
2388 <param name="data">The data to sign.</param>
2389 <param name="offset">The offset into <paramref name="data" /> at which to begin hashing.</param>
2390 <param name="count">The number of bytes to read from <paramref name="data" />.</param>
2391 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2392 <param name="signatureFormat">The encoding format to use for the signature.</param>
2393 <exception cref="T:System.ArgumentNullException">
2394 <paramref name="data" /> is <see langword="null" />.</exception>
2395 <exception cref="T:System.ArgumentOutOfRangeException">
2396 <paramref name="signatureFormat" /> is not a known format.
2400 <paramref name="offset" /> is less than zero.
2404 <paramref name="count" /> is less than zero.
2408 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
2409 <exception cref="T:System.ArgumentException">
2410 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
2411 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
2412 <returns>The ECDSA signature for the specified data.</returns>
2414 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
2415 <summary>Computes the hash value of the specified byte array using the specified hash algorithm and signs the resulting hash value.</summary>
2416 <param name="data">The input data for which to compute the hash.</param>
2417 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2418 <exception cref="T:System.ArgumentNullException">
2419 <paramref name="data" /> is <see langword="null" />.</exception>
2420 <exception cref="T:System.ArgumentException">
2421 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2422 <returns>The ECDSA signature for the specified data.</returns>
2424 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2425 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
2426 <param name="data">The data to sign.</param>
2427 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2428 <param name="signatureFormat">The encoding format to use for the signature.</param>
2429 <exception cref="T:System.ArgumentNullException">
2430 <paramref name="data" /> is <see langword="null" />.</exception>
2431 <exception cref="T:System.ArgumentOutOfRangeException">
2432 <paramref name="signatureFormat" /> is not a known format.</exception>
2433 <exception cref="T:System.ArgumentException">
2434 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
2435 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
2436 <returns>The ECDSA signature for the specified data.</returns>
2438 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
2439 <summary>Computes the hash value of the specified stream using the specified hash algorithm and signs the resulting hash value.</summary>
2440 <param name="data">The input stream for which to compute the hash.</param>
2441 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2442 <exception cref="T:System.ArgumentNullException">
2443 <paramref name="data" /> is <see langword="null" />.</exception>
2444 <exception cref="T:System.ArgumentException">
2445 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2446 <returns>The ECDSA signature for the specified data.</returns>
2448 <member name="M:System.Security.Cryptography.ECDsa.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2449 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
2450 <param name="data">The data to sign.</param>
2451 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2452 <param name="signatureFormat">The encoding format to use for the signature.</param>
2453 <exception cref="T:System.ArgumentNullException">
2454 <paramref name="data" /> is <see langword="null" />.</exception>
2455 <exception cref="T:System.ArgumentOutOfRangeException">
2456 <paramref name="signatureFormat" /> is not a known format.</exception>
2457 <exception cref="T:System.ArgumentException">
2458 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
2459 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
2460 <returns>The ECDSA signature for the specified data.</returns>
2462 <member name="M:System.Security.Cryptography.ECDsa.SignDataCore(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2463 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
2464 <param name="data">The data to sign.</param>
2465 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2466 <param name="signatureFormat">The encoding format to use for the signature.</param>
2467 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
2468 <returns>The ECDSA signature for the specified data.</returns>
2470 <member name="M:System.Security.Cryptography.ECDsa.SignDataCore(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2471 <summary>Computes the hash value of the specified data and signs it using the specified signature format.</summary>
2472 <param name="data">The data to sign.</param>
2473 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2474 <param name="signatureFormat">The encoding format to use for the signature.</param>
2475 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or signing operation.</exception>
2476 <returns>The ECDSA signature for the specified data.</returns>
2478 <member name="M:System.Security.Cryptography.ECDsa.SignHash(System.Byte[])">
2479 <summary>Generates a digital signature for the specified hash value.</summary>
2480 <param name="hash">The hash value of the data that is being signed.</param>
2481 <exception cref="T:System.ArgumentNullException">The <paramref name="hash" /> parameter is <see langword="null" />.</exception>
2482 <returns>A digital signature for the specified hash value.</returns>
2484 <member name="M:System.Security.Cryptography.ECDsa.SignHash(System.Byte[],System.Security.Cryptography.DSASignatureFormat)">
2485 <summary>Computes the ECDSA signature for the specified hash value in the indicated format.</summary>
2486 <param name="hash">The hash value to sign.</param>
2487 <param name="signatureFormat">The encoding format to use for the signature.</param>
2488 <exception cref="T:System.ArgumentNullException">
2489 <paramref name="hash" /> is <see langword="null" />.</exception>
2490 <exception cref="T:System.ArgumentOutOfRangeException">
2491 <paramref name="signatureFormat" /> is not a known format.</exception>
2492 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
2493 <returns>The ECDSA signature for the specified data.</returns>
2495 <member name="M:System.Security.Cryptography.ECDsa.SignHashCore(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.DSASignatureFormat)">
2496 <summary>Computes the ECDSA signature for the specified hash value in the indicated format.</summary>
2497 <param name="hash">The hash value to sign.</param>
2498 <param name="signatureFormat">The encoding format to use for the signature.</param>
2499 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
2500 <returns>The ECDSA signature for the specified data.</returns>
2502 <member name="M:System.Security.Cryptography.ECDsa.ToXmlString(System.Boolean)">
2503 <summary>This method throws in all cases.</summary>
2504 <param name="includePrivateParameters">
2505 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
2506 <exception cref="T:System.NotImplementedException">In all cases.</exception>
2507 <returns>This method does not return a value.</returns>
2509 <member name="M:System.Security.Cryptography.ECDsa.TryExportECPrivateKey(System.Span{System.Byte},System.Int32@)">
2510 <summary>Attempts to export the current key in the ECPrivateKey format into a provided buffer.</summary>
2511 <param name="destination">The byte span to receive the ECPrivateKey data.</param>
2512 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2513 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2515 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2517 <member name="M:System.Security.Cryptography.ECDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
2518 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
2519 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
2520 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
2521 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
2522 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2523 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
2527 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
2529 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2531 <member name="M:System.Security.Cryptography.ECDsa.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
2532 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
2533 <param name="password">The password to use when encrypting the key material.</param>
2534 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
2535 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
2536 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2537 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2539 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2541 <member name="M:System.Security.Cryptography.ECDsa.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
2542 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
2543 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
2544 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2545 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2547 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2549 <member name="M:System.Security.Cryptography.ECDsa.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
2550 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
2551 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
2552 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2553 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
2555 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
2557 <member name="M:System.Security.Cryptography.ECDsa.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
2558 <summary>Attempts to compute the hash value of the specified read-only span of bytes into the provided destination by using the specified hashing algorithm.</summary>
2559 <param name="data">The data to be hashed.</param>
2560 <param name="destination">The buffer to receive the hash value.</param>
2561 <param name="hashAlgorithm">The algorithm to use to hash the data.</param>
2562 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2564 <see langword="false" /> if <paramref name="destination" /> is not long enough to receive the hash value.</returns>
2566 <member name="M:System.Security.Cryptography.ECDsa.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
2567 <summary>Attempts to compute the ECDSA digital signature for the specified read-only span of bytes into the provided destination by using the specified hashing algorithm and the current key.</summary>
2568 <param name="data">The data to be signed.</param>
2569 <param name="destination">The buffer to receive the signature.</param>
2570 <param name="hashAlgorithm">The algorithm to use to hash the data for signing.</param>
2571 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2573 <see langword="false" /> if <paramref name="destination" /> is not long enough to receive the signature.</returns>
2575 <member name="M:System.Security.Cryptography.ECDsa.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
2576 <summary>Attempts to create the ECDSA signature for the specified data in the indicated format into the provided buffer.</summary>
2577 <param name="data">The data to hash and sign.</param>
2578 <param name="destination">The buffer to receive the signature.</param>
2579 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2580 <param name="signatureFormat">The encoding format to use for the signature.</param>
2581 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2582 <exception cref="T:System.ArgumentOutOfRangeException">
2583 <paramref name="signatureFormat" /> is not a known format.</exception>
2584 <exception cref="T:System.ArgumentException">
2585 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
2586 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
2588 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the signature; otherwise, <see langword="false" />.</returns>
2590 <member name="M:System.Security.Cryptography.ECDsa.TrySignDataCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
2591 <summary>Attempts to create the ECDSA signature for the specified data in the indicated format into the provided buffer.</summary>
2592 <param name="data">The data to hash and sign.</param>
2593 <param name="destination">The buffer to receive the signature.</param>
2594 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
2595 <param name="signatureFormat">The encoding format to use for the signature.</param>
2596 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2597 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
2599 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the signature; otherwise, <see langword="false" />.</returns>
2601 <member name="M:System.Security.Cryptography.ECDsa.TrySignHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
2602 <summary>Attempts to compute the ECDSA digital signature for the specified read-only span of bytes representing a data hash into the provided destination by using the current key.</summary>
2603 <param name="hash">The hash value of the data that is being signed.</param>
2604 <param name="destination">The buffer to receive the signature.</param>
2605 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2607 <see langword="false" /> if <paramref name="destination" /> is not long enough to receive the signature.</returns>
2609 <member name="M:System.Security.Cryptography.ECDsa.TrySignHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
2610 <summary>Attempts to create the ECDSA signature for the specified hash value in the indicated format into the provided buffer.</summary>
2611 <param name="hash">The hash value to sign.</param>
2612 <param name="destination">The buffer to receive the signature.</param>
2613 <param name="signatureFormat">The encoding format to use for the signature.</param>
2614 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2615 <exception cref="T:System.ArgumentOutOfRangeException">
2616 <paramref name="signatureFormat" /> is not a known format.</exception>
2617 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
2619 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the signature; otherwise, <see langword="false" />.</returns>
2621 <member name="M:System.Security.Cryptography.ECDsa.TrySignHashCore(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.DSASignatureFormat,System.Int32@)">
2622 <summary>Attempts to create the ECDSA signature for the specified hash value in the indicated format into the provided buffer.</summary>
2623 <param name="hash">The hash value to sign.</param>
2624 <param name="destination">The buffer to receive the signature.</param>
2625 <param name="signatureFormat">The encoding format to use for the signature.</param>
2626 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
2627 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the signing operation.</exception>
2629 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the signature; otherwise, <see langword="false" />.</returns>
2631 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
2632 <summary>Verifies that a digital signature is appropriate for the current key and provided data with a specified hash algorithm.</summary>
2633 <param name="data">The signed data.</param>
2634 <param name="signature">The signature data to be verified.</param>
2635 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2636 <exception cref="T:System.ArgumentNullException">
2637 <paramref name="data" /> is <see langword="null" />.
2641 <paramref name="signature" /> is <see langword="null" />.</exception>
2642 <exception cref="T:System.ArgumentException">
2643 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2645 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2647 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2648 <summary>Verifies that a digital signature is valid for the provided data.</summary>
2649 <param name="data">The signed data.</param>
2650 <param name="signature">The signature to verify.</param>
2651 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
2652 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2653 <exception cref="T:System.ArgumentNullException">
2654 <paramref name="data" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
2655 <exception cref="T:System.ArgumentOutOfRangeException">
2656 <paramref name="signatureFormat" /> is not a known format.</exception>
2657 <exception cref="T:System.ArgumentException">
2658 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
2659 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
2661 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2663 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
2664 <summary>Verifies that a digital signature is appropriate for the current key and provided portion of data with a specified hash algorithm.</summary>
2665 <param name="data">The signed data.</param>
2666 <param name="offset">The starting index at which to compute the hash.</param>
2667 <param name="count">The number of bytes to hash.</param>
2668 <param name="signature">The signature data to be verified.</param>
2669 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2670 <exception cref="T:System.ArgumentNullException">
2671 <paramref name="data" /> is <see langword="null" />.
2675 <paramref name="signature" /> is <see langword="null" />.</exception>
2676 <exception cref="T:System.ArgumentException">
2677 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2678 <exception cref="T:System.ArgumentOutOfRangeException">
2679 <paramref name="offset" /> is less than zero.
2683 <paramref name="count" /> is less than zero.
2687 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
2689 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2691 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2692 <summary>Verifies that a digital signature is valid for the provided data.</summary>
2693 <param name="data">An array that contains the signed data.</param>
2694 <param name="offset">The starting index of the signed portion of <paramref name="data" />.</param>
2695 <param name="count">The number of bytes in <paramref name="data" /> that were signed.</param>
2696 <param name="signature">The signature to verify.</param>
2697 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
2698 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2699 <exception cref="T:System.ArgumentNullException">
2700 <paramref name="data" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
2701 <exception cref="T:System.ArgumentOutOfRangeException">
2702 <paramref name="signatureFormat" /> is not a known format.
2706 <paramref name="offset" /> is less than zero.
2710 <paramref name="count" /> is less than zero.
2714 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
2715 <exception cref="T:System.ArgumentException">
2716 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
2717 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
2719 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2721 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName)">
2722 <summary>Verifies that a digital signature is appropriate for the current key and provided data with a specified hash algorithm.</summary>
2723 <param name="data">The signed data.</param>
2724 <param name="signature">The signature data to be verified.</param>
2725 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2726 <exception cref="T:System.ArgumentNullException">
2727 <paramref name="data" /> is <see langword="null" />.
2731 <paramref name="signature" /> is <see langword="null" />.</exception>
2732 <exception cref="T:System.ArgumentException">
2733 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2735 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2737 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2738 <summary>Verifies that a digital signature is valid for the provided data.</summary>
2739 <param name="data">The signed data.</param>
2740 <param name="signature">The signature to verify.</param>
2741 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
2742 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2743 <exception cref="T:System.ArgumentNullException">
2744 <paramref name="data" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
2745 <exception cref="T:System.ArgumentOutOfRangeException">
2746 <paramref name="signatureFormat" /> is not a known format.</exception>
2747 <exception cref="T:System.ArgumentException">
2748 <paramref name="hashAlgorithm" /> has a <see langword="null" /> or empty <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" />.</exception>
2749 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
2751 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2753 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName)">
2754 <summary>Verifies that a digital signature is appropriate for the current key and provided data with a specified hash algorithm.</summary>
2755 <param name="data">The signed data.</param>
2756 <param name="signature">The signature to be verified.</param>
2757 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
2758 <exception cref="T:System.ArgumentException">
2759 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
2761 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2763 <member name="M:System.Security.Cryptography.ECDsa.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2764 <summary>Verifies that a digital signature is valid for the provided data.</summary>
2765 <param name="data">The signed data.</param>
2766 <param name="signature">The signature to verify.</param>
2767 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
2768 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2769 <exception cref="T:System.ArgumentOutOfRangeException">
2770 <paramref name="signatureFormat" /> is not a known format.</exception>
2771 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
2773 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2775 <member name="M:System.Security.Cryptography.ECDsa.VerifyDataCore(System.IO.Stream,System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2776 <summary>Verifies that a digital signature is valid for the provided data.</summary>
2777 <param name="data">The signed data.</param>
2778 <param name="signature">The signature to verify.</param>
2779 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
2780 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2781 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
2783 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2785 <member name="M:System.Security.Cryptography.ECDsa.VerifyDataCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.DSASignatureFormat)">
2786 <summary>Verifies that a digital signature is valid for the provided data.</summary>
2787 <param name="data">The signed data.</param>
2788 <param name="signature">The signature to verify.</param>
2789 <param name="hashAlgorithm">The hash algorithm used to hash the data for the verification process.</param>
2790 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2791 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the hashing or verification operation.</exception>
2793 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2795 <member name="M:System.Security.Cryptography.ECDsa.VerifyHash(System.Byte[],System.Byte[])">
2796 <summary>Verifies that a digital signature is appropriate for the current key and provided data hash.</summary>
2797 <param name="hash">The hash value of the data to be verified.</param>
2798 <param name="signature">The digital signature of the data to be verified against the hash value.</param>
2799 <exception cref="T:System.ArgumentNullException">
2800 <paramref name="hash" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
2802 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2804 <member name="M:System.Security.Cryptography.ECDsa.VerifyHash(System.Byte[],System.Byte[],System.Security.Cryptography.DSASignatureFormat)">
2805 <summary>Verifies that a digital signature is valid for the provided hash.</summary>
2806 <param name="hash">The signed hash.</param>
2807 <param name="signature">The signature to verify.</param>
2808 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2809 <exception cref="T:System.ArgumentNullException">
2810 <paramref name="hash" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
2811 <exception cref="T:System.ArgumentOutOfRangeException">
2812 <paramref name="signatureFormat" /> is not a known format.</exception>
2813 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the verification operation.</exception>
2815 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2817 <member name="M:System.Security.Cryptography.ECDsa.VerifyHash(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
2818 <summary>Verifies that a digital signature is appropriate for the current key and provided data hash.</summary>
2819 <param name="hash">The hash value of the data to be verified.</param>
2820 <param name="signature">The digital signature of the data to be verified against the hash value.</param>
2822 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
2824 <member name="M:System.Security.Cryptography.ECDsa.VerifyHash(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.DSASignatureFormat)">
2825 <summary>Verifies that a digital signature is valid for the provided hash.</summary>
2826 <param name="hash">The signed hash.</param>
2827 <param name="signature">The signature to verify.</param>
2828 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2829 <exception cref="T:System.ArgumentOutOfRangeException">
2830 <paramref name="signatureFormat" /> is not a known format.</exception>
2831 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the verification operation.</exception>
2833 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2835 <member name="M:System.Security.Cryptography.ECDsa.VerifyHashCore(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.DSASignatureFormat)">
2836 <summary>Verifies that a digital signature is valid for the provided hash.</summary>
2837 <param name="hash">The signed hash.</param>
2838 <param name="signature">The signature to verify.</param>
2839 <param name="signatureFormat">The encoding format for <paramref name="signature" />.</param>
2840 <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred in the verification operation.</exception>
2842 <see langword="true" /> if the digital signature is valid for the provided data; otherwise, <see langword="false" />.</returns>
2844 <member name="P:System.Security.Cryptography.ECDsa.KeyExchangeAlgorithm">
2845 <summary>Gets the name of the key exchange algorithm.</summary>
2846 <returns>Always <see langword="null" />.</returns>
2848 <member name="P:System.Security.Cryptography.ECDsa.SignatureAlgorithm">
2849 <summary>Gets the name of the signature algorithm.</summary>
2850 <returns>The string "ECDsa".</returns>
2852 <member name="T:System.Security.Cryptography.ECParameters">
2853 <summary>Represents the standard parameters for the elliptic curve cryptography (ECC) algorithm.</summary>
2855 <member name="F:System.Security.Cryptography.ECParameters.Curve">
2856 <summary>Represents the curve associated with the public key (<see cref="F:System.Security.Cryptography.ECParameters.Q" />) and the optional private key (<see cref="F:System.Security.Cryptography.ECParameters.D" />).</summary>
2858 <member name="F:System.Security.Cryptography.ECParameters.D">
2859 <summary>Represents the private key <see langword="D" /> for the elliptic curve cryptography (ECC) algorithm, stored in big-endian format.</summary>
2861 <member name="F:System.Security.Cryptography.ECParameters.Q">
2862 <summary>Represents the public key <see langword="Q" /> for the elliptic curve cryptography (ECC) algorithm.</summary>
2864 <member name="M:System.Security.Cryptography.ECParameters.Validate">
2865 <summary>Validates the current object.</summary>
2866 <exception cref="T:System.Security.Cryptography.CryptographicException">The key or curve parameters are not valid for the current curve type.</exception>
2868 <member name="T:System.Security.Cryptography.ECPoint">
2869 <summary>Represents a (X,Y) coordinate pair for elliptic curve cryptography (ECC) structures.</summary>
2871 <member name="F:System.Security.Cryptography.ECPoint.X">
2872 <summary>Represents the X coordinate.</summary>
2874 <member name="F:System.Security.Cryptography.ECPoint.Y">
2875 <summary>Represents the Y coordinate.</summary>
2877 <member name="T:System.Security.Cryptography.HKDF">
2878 <summary>RFC5869 HMAC-based Extract-and-Expand Key Derivation (HKDF)</summary>
2880 <member name="M:System.Security.Cryptography.HKDF.DeriveKey(System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Int32,System.Byte[],System.Byte[])">
2881 <summary>Performs the key derivation HKDF Expand and Extract functions.</summary>
2882 <param name="hashAlgorithmName">The hash algorithm used for HMAC operations.</param>
2883 <param name="ikm">The input keying material.</param>
2884 <param name="outputLength">The length of the output keying material.</param>
2885 <param name="salt">The optional salt value (a non-secret random value). If not provided, it defaults to a byte array of the same length as the output of the specified hash algorithm.</param>
2886 <param name="info">The optional context and application specific information.</param>
2887 <exception cref="T:System.ArgumentNullException">
2888 <paramref name="ikm" />is <see langword="null" />.</exception>
2889 <exception cref="T:System.ArgumentOutOfRangeException">
2890 <paramref name="outputLength" /> is less than 1.</exception>
2891 <returns>The output keying material.</returns>
2893 <member name="M:System.Security.Cryptography.HKDF.DeriveKey(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
2894 <summary>Performs the key derivation HKDF Expand and Extract functions.</summary>
2895 <param name="hashAlgorithmName">The hash algorithm used for HMAC operations.</param>
2896 <param name="ikm">The input keying material.</param>
2897 <param name="output">The output buffer that represents output keying material.</param>
2898 <param name="salt">The salt value (a non-secret random value).</param>
2899 <param name="info">The context and application specific information (can be an empty span).</param>
2900 <exception cref="T:System.ArgumentException">
2901 <paramref name="ikm" /> is empty, or is larger than the maximum allowed length.</exception>
2903 <member name="M:System.Security.Cryptography.HKDF.Expand(System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Int32,System.Byte[])">
2904 <summary>Performs the HKDF-Expand function See section 2.3 of RFC5869.</summary>
2905 <param name="hashAlgorithmName">The hash algorithm used for HMAC operations.</param>
2906 <param name="prk">The pseudorandom key that is at least as long as the output byte array of the specified hash algorithm (usually the output from the Extract step).</param>
2907 <param name="outputLength">The length of the output keying material.</param>
2908 <param name="info">The optional context and application specific information.</param>
2909 <exception cref="T:System.ArgumentNullException">
2910 <paramref name="prk" />is <see langword="null" />.</exception>
2911 <exception cref="T:System.ArgumentOutOfRangeException">
2912 <paramref name="outputLength" /> is less than 1.</exception>
2913 <returns>The output keying material.</returns>
2915 <member name="M:System.Security.Cryptography.HKDF.Expand(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
2916 <summary>Performs the HKDF-Expand function. See section 2.3 of RFC5869.</summary>
2917 <param name="hashAlgorithmName">The hash algorithm used for HMAC operations.</param>
2918 <param name="prk">The pseudorandom key that is at least as long as as the output byte array of the specified hash algorithm (usually the output from the Extract step).</param>
2919 <param name="output">The destination buffer to receive the output keying material.</param>
2920 <param name="info">The context and application specific information (can be an empty span).</param>
2921 <exception cref="T:System.ArgumentException">
2922 <paramref name="output" /> is empty, or is larger than the maximum allowed length.</exception>
2924 <member name="M:System.Security.Cryptography.HKDF.Extract(System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[])">
2925 <summary>Performs the HKDF-Extract function.
2926 See section 2.2 of RFC5869.</summary>
2927 <param name="hashAlgorithmName">The hash algorithm used for HMAC operations.</param>
2928 <param name="ikm">The input keying material.</param>
2929 <param name="salt">The optional salt value (a non-secret random value). If not provided it defaults to a byte array of the same length as the output of the specified hash algorithm.</param>
2930 <returns>The pseudorandom key (prk).</returns>
2932 <member name="M:System.Security.Cryptography.HKDF.Extract(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
2933 <summary>Performs the HKDF-Extract function.
2934 See section 2.2 of RFC5869.</summary>
2935 <param name="hashAlgorithmName">The hash algorithm used for HMAC operations.</param>
2936 <param name="ikm">The input keying material.</param>
2937 <param name="salt">The salt value (a non-secret random value).</param>
2938 <param name="prk">The destination buffer to receive the pseudorandom key (prk).</param>
2939 <returns>The number of bytes written to the <paramref name="prk" /> buffer.</returns>
2941 <member name="T:System.Security.Cryptography.HMACMD5">
2942 <summary>Computes a Hash-based Message Authentication Code (HMAC) by using the <see cref="T:System.Security.Cryptography.MD5" /> hash function.</summary>
2944 <member name="M:System.Security.Cryptography.HMACMD5.#ctor">
2945 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACMD5" /> class by using a randomly generated key.</summary>
2947 <member name="M:System.Security.Cryptography.HMACMD5.#ctor(System.Byte[])">
2948 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACMD5" /> class by using the specified key.</summary>
2949 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACMD5" /> encryption. The key can be any length, but if it is more than 64 bytes long it will be hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes.</param>
2950 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
2952 <member name="M:System.Security.Cryptography.HMACMD5.Dispose(System.Boolean)">
2953 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HMACMD5" /> and optionally releases the managed resources.</summary>
2954 <param name="disposing">
2955 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
2957 <member name="M:System.Security.Cryptography.HMACMD5.HashCore(System.Byte[],System.Int32,System.Int32)">
2958 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
2959 <param name="rgb">The input to compute the HMAC for.</param>
2960 <param name="ib">The offset into the byte array from which to begin using data.</param>
2961 <param name="cb">The number of bytes in the byte array to use as data.</param>
2963 <member name="M:System.Security.Cryptography.HMACMD5.HashCore(System.ReadOnlySpan{System.Byte})">
2964 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
2965 <param name="source">The input to compute the HMAC for.</param>
2967 <member name="M:System.Security.Cryptography.HMACMD5.HashData(System.Byte[],System.Byte[])">
2968 <summary>Computes the HMAC of data using the MD5 algorithm.</summary>
2969 <param name="key">The HMAC key.</param>
2970 <param name="source">The data to HMAC.</param>
2971 <exception cref="T:System.ArgumentNullException">
2972 <paramref name="key" /> or <paramref name="source" /> is <see langword="null" />.</exception>
2973 <returns>The HMAC of the data.</returns>
2975 <member name="M:System.Security.Cryptography.HMACMD5.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
2976 <summary>Computes the HMAC of data using the MD5 algorithm.</summary>
2977 <param name="key">The HMAC key.</param>
2978 <param name="source">The data to HMAC.</param>
2979 <returns>The HMAC of the data.</returns>
2981 <member name="M:System.Security.Cryptography.HMACMD5.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
2982 <summary>Computes the HMAC of data using the MD5 algorithm.</summary>
2983 <param name="key">The HMAC key.</param>
2984 <param name="source">The data to HMAC.</param>
2985 <param name="destination">The buffer to receive the HMAC value.</param>
2986 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The MD5 algorithm always produces a 128-bit HMAC, or 16 bytes.</exception>
2987 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
2989 <member name="M:System.Security.Cryptography.HMACMD5.HashFinal">
2990 <summary>Finalizes the HMAC computation after the last data is processed by the algorithm.</summary>
2991 <returns>The computed HMAC value in a byte array.</returns>
2993 <member name="M:System.Security.Cryptography.HMACMD5.Initialize">
2994 <summary>Resets the hash algorithm to its initial state.</summary>
2996 <member name="M:System.Security.Cryptography.HMACMD5.TryHashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
2997 <summary>Attempts to compute the HMAC of data using the MD5 algorithm.</summary>
2998 <param name="key">The HMAC key.</param>
2999 <param name="source">The data to HMAC.</param>
3000 <param name="destination">The buffer to receive the HMAC value.</param>
3001 <param name="bytesWritten">When this method returns, contains the total number of bytes written into <paramref name="destination" />.</param>
3003 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
3005 <member name="M:System.Security.Cryptography.HMACMD5.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3006 <summary>Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.</summary>
3007 <param name="destination">The buffer to receive the HMAC value.</param>
3008 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
3010 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the HMAC value; otherwise, <see langword="false" />.</returns>
3012 <member name="P:System.Security.Cryptography.HMACMD5.Key">
3013 <summary>Gets or sets the key to use in the HMAC calculation.</summary>
3014 <returns>The key to use in the HMAC calculation.</returns>
3016 <member name="T:System.Security.Cryptography.HMACSHA1">
3017 <summary>Computes a Hash-based Message Authentication Code (HMAC) using the <see cref="T:System.Security.Cryptography.SHA1" /> hash function.</summary>
3019 <member name="M:System.Security.Cryptography.HMACSHA1.#ctor">
3020 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA1" /> class with a randomly generated key.</summary>
3022 <member name="M:System.Security.Cryptography.HMACSHA1.#ctor(System.Byte[])">
3023 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA1" /> class with the specified key data.</summary>
3024 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA1" /> encryption. The key can be any length, but if it is more than 64 bytes long it is hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes.</param>
3025 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
3027 <member name="M:System.Security.Cryptography.HMACSHA1.#ctor(System.Byte[],System.Boolean)">
3028 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA1" /> class with the specified key data and a value that specifies whether to use the managed version of the SHA1 algorithm.</summary>
3029 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA1" /> encryption. The key can be any length, but if it is more than 64 bytes long, it is hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes.</param>
3030 <param name="useManagedSha1">
3031 <see langword="true" /> to use the managed implementation of the SHA1 algorithm (the <see cref="T:System.Security.Cryptography.SHA1Managed" /> class); <see langword="false" /> to use the unmanaged implementation (the <see cref="T:System.Security.Cryptography.SHA1CryptoServiceProvider" /> class).</param>
3033 <member name="M:System.Security.Cryptography.HMACSHA1.Dispose(System.Boolean)">
3034 <summary>This member overrides <see cref="M:System.Security.Cryptography.KeyedHashAlgorithm.Dispose(System.Boolean)" />, and more complete documentation might be available in that topic.
3036 Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.KeyedHashAlgorithm" /> and optionally releases the managed resources.</summary>
3037 <param name="disposing">
3038 <see langword="true" /> to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
3040 <member name="M:System.Security.Cryptography.HMACSHA1.HashCore(System.Byte[],System.Int32,System.Int32)">
3041 <summary>Routes data written to the object into the SHA1 hash algorithm for computing the Hash-based Message Authentication Code (HMAC).</summary>
3042 <param name="rgb">The input data.</param>
3043 <param name="ib">The offset into the byte array from which to begin using data.</param>
3044 <param name="cb">The number of bytes in the array to use as data.</param>
3046 <member name="M:System.Security.Cryptography.HMACSHA1.HashCore(System.ReadOnlySpan{System.Byte})">
3047 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
3048 <param name="source">The input to compute the HMAC for.</param>
3050 <member name="M:System.Security.Cryptography.HMACSHA1.HashData(System.Byte[],System.Byte[])">
3051 <summary>Computes the HMAC of data using the SHA1 algorithm.</summary>
3052 <param name="key">The HMAC key.</param>
3053 <param name="source">The data to HMAC.</param>
3054 <exception cref="T:System.ArgumentNullException">
3055 <paramref name="key" /> or <paramref name="source" /> is <see langword="null" />.</exception>
3056 <returns>The HMAC of the data.</returns>
3058 <member name="M:System.Security.Cryptography.HMACSHA1.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
3059 <summary>Computes the HMAC of data using the SHA1 algorithm.</summary>
3060 <param name="key">The HMAC key.</param>
3061 <param name="source">The data to HMAC.</param>
3062 <returns>The HMAC of the data.</returns>
3064 <member name="M:System.Security.Cryptography.HMACSHA1.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
3065 <summary>Computes the HMAC of data using the SHA1 algorithm.</summary>
3066 <param name="key">The HMAC key.</param>
3067 <param name="source">The data to HMAC.</param>
3068 <param name="destination">The buffer to receive the HMAC value.</param>
3069 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA1 algorithm always produces a 160-bit HMAC, or 20 bytes.</exception>
3070 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
3072 <member name="M:System.Security.Cryptography.HMACSHA1.HashFinal">
3073 <summary>Finalizes the HMAC computation after the last data is processed by the algorithm.</summary>
3074 <returns>The computed HMAC value in a byte array.</returns>
3076 <member name="M:System.Security.Cryptography.HMACSHA1.Initialize">
3077 <summary>Resets the hash algorithm to its initial state.</summary>
3079 <member name="M:System.Security.Cryptography.HMACSHA1.TryHashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
3080 <summary>Attempts to compute the HMAC of data using the SHA1 algorithm.</summary>
3081 <param name="key">The HMAC key.</param>
3082 <param name="source">The data to HMAC.</param>
3083 <param name="destination">The buffer to receive the HMAC value.</param>
3084 <param name="bytesWritten">When this method returns, contains the total number of bytes written into <paramref name="destination" />.</param>
3086 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
3088 <member name="M:System.Security.Cryptography.HMACSHA1.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3089 <summary>Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.</summary>
3090 <param name="destination">The buffer to receive the HMAC value.</param>
3091 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
3093 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the HMAC value; otherwise, <see langword="false" />.</returns>
3095 <member name="P:System.Security.Cryptography.HMACSHA1.Key">
3096 <summary>Gets or sets the key to use in the hash algorithm.</summary>
3097 <returns>The key to use in the hash algorithm.</returns>
3099 <member name="T:System.Security.Cryptography.HMACSHA256">
3100 <summary>Computes a Hash-based Message Authentication Code (HMAC) by using the <see cref="T:System.Security.Cryptography.SHA256" /> hash function.</summary>
3102 <member name="M:System.Security.Cryptography.HMACSHA256.#ctor">
3103 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA256" /> class with a randomly generated key.</summary>
3105 <member name="M:System.Security.Cryptography.HMACSHA256.#ctor(System.Byte[])">
3106 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA256" /> class with the specified key data.</summary>
3107 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA256" /> encryption. The key can be any length. However, the recommended size is 64 bytes. If the key is more than 64 bytes long, it is hashed (using SHA-256) to derive a 64-byte key. If it is less than 64 bytes long, it is padded to 64 bytes.</param>
3108 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
3110 <member name="M:System.Security.Cryptography.HMACSHA256.Dispose(System.Boolean)">
3111 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HMACSHA256" /> and optionally releases the managed resources.</summary>
3112 <param name="disposing">
3113 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3115 <member name="M:System.Security.Cryptography.HMACSHA256.HashCore(System.Byte[],System.Int32,System.Int32)">
3116 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
3117 <param name="rgb">The input to compute the HMAC for.</param>
3118 <param name="ib">The offset into the byte array from which to begin using data.</param>
3119 <param name="cb">The number of bytes in the byte array to use as data.</param>
3121 <member name="M:System.Security.Cryptography.HMACSHA256.HashCore(System.ReadOnlySpan{System.Byte})">
3122 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
3123 <param name="source">The input to compute the HMAC for.</param>
3125 <member name="M:System.Security.Cryptography.HMACSHA256.HashData(System.Byte[],System.Byte[])">
3126 <summary>Computes the HMAC of data using the SHA256 algorithm.</summary>
3127 <param name="key">The HMAC key.</param>
3128 <param name="source">The data to HMAC.</param>
3129 <exception cref="T:System.ArgumentNullException">
3130 <paramref name="key" /> or <paramref name="source" /> is <see langword="null" />.</exception>
3131 <returns>The HMAC of the data.</returns>
3133 <member name="M:System.Security.Cryptography.HMACSHA256.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
3134 <summary>Computes the HMAC of data using the SHA256 algorithm.</summary>
3135 <param name="key">The HMAC key.</param>
3136 <param name="source">The data to HMAC.</param>
3137 <returns>The HMAC of the data.</returns>
3139 <member name="M:System.Security.Cryptography.HMACSHA256.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
3140 <summary>Computes the HMAC of data using the SHA256 algorithm.</summary>
3141 <param name="key">The HMAC key.</param>
3142 <param name="source">The data to HMAC.</param>
3143 <param name="destination">The buffer to receive the HMAC value.</param>
3144 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA256 algorithm always produces a 256-bit HMAC, or 32 bytes.</exception>
3145 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
3147 <member name="M:System.Security.Cryptography.HMACSHA256.HashFinal">
3148 <summary>Finalizes the HMAC computation after the last data is processed by the algorithm.</summary>
3149 <returns>The computed HMAC value in a byte array.</returns>
3151 <member name="M:System.Security.Cryptography.HMACSHA256.Initialize">
3152 <summary>Resets the hash algorithm to its initial state.</summary>
3154 <member name="M:System.Security.Cryptography.HMACSHA256.TryHashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
3155 <summary>Attempts to compute the HMAC of data using the SHA256 algorithm.</summary>
3156 <param name="key">The HMAC key.</param>
3157 <param name="source">The data to HMAC.</param>
3158 <param name="destination">The buffer to receive the HMAC value.</param>
3159 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.</param>
3161 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
3163 <member name="M:System.Security.Cryptography.HMACSHA256.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3164 <summary>Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.</summary>
3165 <param name="destination">The buffer to receive the HMAC value.</param>
3166 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
3168 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the HMAC value; otherwise, <see langword="false" />.</returns>
3170 <member name="P:System.Security.Cryptography.HMACSHA256.Key">
3171 <summary>Gets or sets the key to use in the HMAC calculation.</summary>
3172 <returns>The key to use in the HMAC calculation.</returns>
3174 <member name="T:System.Security.Cryptography.HMACSHA384">
3175 <summary>Computes a Hash-based Message Authentication Code (HMAC) using the <see cref="T:System.Security.Cryptography.SHA384" /> hash function.</summary>
3177 <member name="M:System.Security.Cryptography.HMACSHA384.#ctor">
3178 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA384" /> class by using a randomly generated key.</summary>
3180 <member name="M:System.Security.Cryptography.HMACSHA384.#ctor(System.Byte[])">
3181 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA384" /> class by using the specified key data.</summary>
3182 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA384" /> encryption. The key can be any length. However, the recommended size is 128 bytes. If the key is more than 128 bytes long, it is hashed (using SHA-384) to derive a 128-byte key. If it is less than 128 bytes long, it is padded to 128 bytes.</param>
3183 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
3185 <member name="M:System.Security.Cryptography.HMACSHA384.Dispose(System.Boolean)">
3186 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HMACSHA384" /> and optionally releases the managed resources.</summary>
3187 <param name="disposing">
3188 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3190 <member name="M:System.Security.Cryptography.HMACSHA384.HashCore(System.Byte[],System.Int32,System.Int32)">
3191 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
3192 <param name="rgb">The input to compute the HMAC for.</param>
3193 <param name="ib">The offset into the byte array from which to begin using data.</param>
3194 <param name="cb">The number of bytes in the byte array to use as data.</param>
3196 <member name="M:System.Security.Cryptography.HMACSHA384.HashCore(System.ReadOnlySpan{System.Byte})">
3197 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
3198 <param name="source">The input to compute the HMAC for.</param>
3200 <member name="M:System.Security.Cryptography.HMACSHA384.HashData(System.Byte[],System.Byte[])">
3201 <summary>Computes the HMAC of data using the SHA384 algorithm.</summary>
3202 <param name="key">The HMAC key.</param>
3203 <param name="source">The data to HMAC.</param>
3204 <exception cref="T:System.ArgumentNullException">
3205 <paramref name="key" /> or <paramref name="source" /> is <see langword="null" />.</exception>
3206 <returns>The HMAC of the data.</returns>
3208 <member name="M:System.Security.Cryptography.HMACSHA384.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
3209 <summary>Computes the HMAC of data using the SHA384 algorithm.</summary>
3210 <param name="key">The HMAC key.</param>
3211 <param name="source">The data to HMAC.</param>
3212 <returns>The HMAC of the data.</returns>
3214 <member name="M:System.Security.Cryptography.HMACSHA384.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
3215 <summary>Computes the HMAC of data using the SHA384 algorithm.</summary>
3216 <param name="key">The HMAC key.</param>
3217 <param name="source">The data to HMAC.</param>
3218 <param name="destination">The buffer to receive the HMAC value.</param>
3219 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA384 algorithm always produces a 384-bit HMAC, or 48 bytes.</exception>
3220 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
3222 <member name="M:System.Security.Cryptography.HMACSHA384.HashFinal">
3223 <summary>Finalizes the HMAC computation after the last data is processed by the algorithm.</summary>
3224 <returns>The computed HMAC value in a byte array.</returns>
3226 <member name="M:System.Security.Cryptography.HMACSHA384.Initialize">
3227 <summary>Resets the hash algorithm to its initial state.</summary>
3229 <member name="M:System.Security.Cryptography.HMACSHA384.TryHashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
3230 <summary>Attempts to compute the HMAC of data using the SHA384 algorithm.</summary>
3231 <param name="key">The HMAC key.</param>
3232 <param name="source">The data to HMAC.</param>
3233 <param name="destination">The buffer to receive the HMAC value.</param>
3234 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.</param>
3236 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
3238 <member name="M:System.Security.Cryptography.HMACSHA384.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3239 <summary>Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.</summary>
3240 <param name="destination">The buffer to receive the HMAC value.</param>
3241 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
3243 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the HMAC value; otherwise, <see langword="false" />.</returns>
3245 <member name="P:System.Security.Cryptography.HMACSHA384.Key">
3246 <summary>Gets or sets the key to use in the HMAC calculation.</summary>
3247 <returns>The key to use in the HMAC calculation.</returns>
3249 <member name="P:System.Security.Cryptography.HMACSHA384.ProduceLegacyHmacValues">
3250 <summary>Provides a workaround for the .NET Framework 2.0 implementation of the <see cref="T:System.Security.Cryptography.HMACSHA384" /> algorithm, which is inconsistent with the .NET Framework 2.0 Service Pack 1 implementation of the algorithm.</summary>
3252 <see langword="true" /> to enable .NET Framework 2.0 Service Pack 1 applications to interact with .NET Framework 2.0 applications; otherwise, <see langword="false" />.</returns>
3254 <member name="T:System.Security.Cryptography.HMACSHA512">
3255 <summary>Computes a Hash-based Message Authentication Code (HMAC) using the <see cref="T:System.Security.Cryptography.SHA512" /> hash function.</summary>
3257 <member name="M:System.Security.Cryptography.HMACSHA512.#ctor">
3258 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA512" /> class with a randomly generated key.</summary>
3260 <member name="M:System.Security.Cryptography.HMACSHA512.#ctor(System.Byte[])">
3261 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.HMACSHA512" /> class with the specified key data.</summary>
3262 <param name="key">The secret key for <see cref="T:System.Security.Cryptography.HMACSHA512" /> encryption. The key can be any length. However, the recommended size is 128 bytes. If the key is more than 128 bytes long, it is hashed (using SHA-512) to derive a 128-byte key. If it is less than 128 bytes long, it is padded to 128 bytes.</param>
3263 <exception cref="T:System.ArgumentNullException">The <paramref name="key" /> parameter is <see langword="null" />.</exception>
3265 <member name="M:System.Security.Cryptography.HMACSHA512.Dispose(System.Boolean)">
3266 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.HMACSHA512" /> and optionally releases the managed resources.</summary>
3267 <param name="disposing">
3268 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3270 <member name="M:System.Security.Cryptography.HMACSHA512.HashCore(System.Byte[],System.Int32,System.Int32)">
3271 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
3272 <param name="rgb">The input to compute the HMAC for.</param>
3273 <param name="ib">The offset into the byte array from which to begin using data.</param>
3274 <param name="cb">The number of bytes in the byte array to use as data.</param>
3276 <member name="M:System.Security.Cryptography.HMACSHA512.HashCore(System.ReadOnlySpan{System.Byte})">
3277 <summary>Routes data written to the object into the HMAC algorithm for computing the HMAC.</summary>
3278 <param name="source">The input to compute the HMAC for.</param>
3280 <member name="M:System.Security.Cryptography.HMACSHA512.HashData(System.Byte[],System.Byte[])">
3281 <summary>Computes the HMAC of data using the SHA512 algorithm.</summary>
3282 <param name="key">The HMAC key.</param>
3283 <param name="source">The data to HMAC.</param>
3284 <exception cref="T:System.ArgumentNullException">
3285 <paramref name="key" /> or <paramref name="source" /> is <see langword="null" />.</exception>
3286 <returns>The HMAC of the data.</returns>
3288 <member name="M:System.Security.Cryptography.HMACSHA512.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
3289 <summary>Computes the HMAC of data using the SHA512 algorithm.</summary>
3290 <param name="key">The HMAC key.</param>
3291 <param name="source">The data to HMAC.</param>
3292 <returns>The HMAC of the data.</returns>
3294 <member name="M:System.Security.Cryptography.HMACSHA512.HashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
3295 <summary>Computes the HMAC of data using the SHA512 algorithm.</summary>
3296 <param name="key">The HMAC key.</param>
3297 <param name="source">The data to HMAC.</param>
3298 <param name="destination">The buffer to receive the HMAC value.</param>
3299 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA512 algorithm always produces a 512-bit HMAC, or 64 bytes.</exception>
3300 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
3302 <member name="M:System.Security.Cryptography.HMACSHA512.HashFinal">
3303 <summary>Finalizes the HMAC computation after the last data is processed by the algorithm.</summary>
3304 <returns>The computed HMAC value in a byte array.</returns>
3306 <member name="M:System.Security.Cryptography.HMACSHA512.Initialize">
3307 <summary>Resets the hash algorithm to its initial state.</summary>
3309 <member name="M:System.Security.Cryptography.HMACSHA512.TryHashData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
3310 <summary>Attempts to compute the HMAC of data using the SHA512 algorithm.</summary>
3311 <param name="key">The HMAC key.</param>
3312 <param name="source">The data to HMAC.</param>
3313 <param name="destination">The buffer to receive the HMAC value.</param>
3314 <param name="bytesWritten">When this method returns, contains the total number of bytes written into <paramref name="destination" />.</param>
3316 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
3318 <member name="M:System.Security.Cryptography.HMACSHA512.TryHashFinal(System.Span{System.Byte},System.Int32@)">
3319 <summary>Attempts to finalize the HMAC computation after the last data is processed by the HMAC algorithm.</summary>
3320 <param name="destination">The buffer to receive the HMAC value.</param>
3321 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
3323 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the HMAC value; otherwise, <see langword="false" />.</returns>
3325 <member name="P:System.Security.Cryptography.HMACSHA512.Key">
3326 <summary>Gets or sets the key to use in the HMAC calculation.</summary>
3327 <returns>The key to use in the HMAC calculation.</returns>
3329 <member name="P:System.Security.Cryptography.HMACSHA512.ProduceLegacyHmacValues">
3330 <summary>Provides a workaround for the .NET Framework 2.0 implementation of the <see cref="T:System.Security.Cryptography.HMACSHA512" /> algorithm, which is inconsistent with the .NET Framework 2.0 Service Pack 1 implementation.</summary>
3332 <see langword="true" /> to enable .NET Framework 2.0 Service Pack 1 applications to interact with .NET Framework 2.0 applications; otherwise, <see langword="false" />.</returns>
3334 <member name="T:System.Security.Cryptography.IncrementalHash">
3335 <summary>Provides support for computing a hash or Hash-based Message Authentication Code (HMAC) value incrementally across several segments.</summary>
3337 <member name="M:System.Security.Cryptography.IncrementalHash.AppendData(System.Byte[])">
3338 <summary>Appends the specified data to the data already processed in the hash or HMAC.</summary>
3339 <param name="data">The data to process.</param>
3340 <exception cref="T:System.ArgumentNullException">
3341 <paramref name="data" /> is <see langword="null" />.</exception>
3342 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
3344 <member name="M:System.Security.Cryptography.IncrementalHash.AppendData(System.Byte[],System.Int32,System.Int32)">
3345 <summary>Appends the specified number of bytes from the specified data, starting at the specified offset, to the data already processed in the hash or Hash-based Message Authentication Code (HMAC).</summary>
3346 <param name="data">The data to process.</param>
3347 <param name="offset">The offset into the byte array from which to begin using data.</param>
3348 <param name="count">The number of bytes to use from <paramref name="data" />.</param>
3349 <exception cref="T:System.ArgumentNullException">
3350 <paramref name="data" /> is <see langword="null" />.</exception>
3351 <exception cref="T:System.ArgumentOutOfRangeException">
3352 <paramref name="count" /> or <paramref name="offset" /> is negative.
3356 <paramref name="count" /> is larger than the length of <paramref name="data" />.</exception>
3357 <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the data length.</exception>
3358 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
3360 <member name="M:System.Security.Cryptography.IncrementalHash.AppendData(System.ReadOnlySpan{System.Byte})">
3361 <summary>Appends the specified data to the data already processed in the hash or Hash-based Message Authentication Code (HMAC).</summary>
3362 <param name="data">The data to process.</param>
3363 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
3365 <member name="M:System.Security.Cryptography.IncrementalHash.CreateHash(System.Security.Cryptography.HashAlgorithmName)">
3366 <summary>Creates an <see cref="T:System.Security.Cryptography.IncrementalHash" /> for the specified algorithm.</summary>
3367 <param name="hashAlgorithm">The name of the hash algorithm to perform.</param>
3368 <exception cref="T:System.ArgumentException">
3369 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or an empty string.</exception>
3370 <exception cref="T:System.Security.Cryptography.CryptographicException">
3371 <paramref name="hashAlgorithm" /> is not a known hash algorithm.</exception>
3372 <returns>An <see cref="T:System.Security.Cryptography.IncrementalHash" /> instance ready to compute the hash algorithm specified by <paramref name="hashAlgorithm" />.</returns>
3374 <member name="M:System.Security.Cryptography.IncrementalHash.CreateHMAC(System.Security.Cryptography.HashAlgorithmName,System.Byte[])">
3375 <summary>Creates an <see cref="T:System.Security.Cryptography.IncrementalHash" /> for the Hash-based Message Authentication Code (HMAC) algorithm using the specified hash algorithm and key.</summary>
3376 <param name="hashAlgorithm">The name of the hash algorithm to perform within the HMAC.</param>
3377 <param name="key">The secret key for the HMAC. The key can be of any length, but a key longer than the output size of the specified hash algorithm will be hashed to derive a correctly-sized key. Therefore, the recommended size of the secret key is the output size of the specified hash algorithm.</param>
3378 <exception cref="T:System.ArgumentNullException">
3379 <paramref name="key" /> is <see langword="null" />.</exception>
3380 <exception cref="T:System.ArgumentException">
3381 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or an empty string.</exception>
3382 <exception cref="T:System.Security.Cryptography.CryptographicException">
3383 <paramref name="hashAlgorithm" /> is not a known hash algorithm.</exception>
3384 <returns>An instance of the <see cref="T:System.Security.Cryptography.IncrementalHash" /> class ready to compute the specified hash algorithm.</returns>
3386 <member name="M:System.Security.Cryptography.IncrementalHash.CreateHMAC(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan{System.Byte})">
3387 <summary>Create an <see cref="T:System.Security.Cryptography.IncrementalHash" /> for the Hash-based Message Authentication Code (HMAC) algorithm utilizing the hash algorithm specified by <paramref name="hashAlgorithm" />, and a key specified by <paramref name="key" />.</summary>
3388 <param name="hashAlgorithm">The name of the hash algorithm to perform within the HMAC.</param>
3389 <param name="key">The secret key for the HMAC. The key can be any length, but a key longer than the output size of the hash algorithm specified by <paramref name="hashAlgorithm" /> will be hashed (using the algorithm specified by <paramref name="hashAlgorithm" />) to derive a correctly-sized key. Therefore, the recommended size of the secret key is the output size of the hash specified by <paramref name="hashAlgorithm" />.</param>
3390 <exception cref="T:System.ArgumentException">
3391 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or the empty string.</exception>
3392 <exception cref="T:System.Security.Cryptography.CryptographicException">
3393 <paramref name="hashAlgorithm" /> is not a known hash algorithm.</exception>
3394 <returns>A hash instance to compute the hash algorithm specified by <paramref name="hashAlgorithm" />.</returns>
3396 <member name="M:System.Security.Cryptography.IncrementalHash.Dispose">
3397 <summary>Releases the resources used by the current instance of the <see cref="T:System.Security.Cryptography.IncrementalHash" /> class.</summary>
3399 <member name="M:System.Security.Cryptography.IncrementalHash.GetCurrentHash">
3400 <summary>Retrieves the hash or Hash-based Message Authentication Code (HMAC) for the data accumulated from prior calls to the <see cref="M:System.Security.Cryptography.IncrementalHash.AppendData(System.ReadOnlySpan{System.Byte})" /> methods, without resetting the object to its initial state.</summary>
3401 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
3402 <returns>The computed hash or HMAC.</returns>
3404 <member name="M:System.Security.Cryptography.IncrementalHash.GetCurrentHash(System.Span{System.Byte})">
3405 <summary>Retrieves the hash or Hash-based Message Authentication Code (HMAC) for the data accumulated from prior calls to the <see cref="M:System.Security.Cryptography.IncrementalHash.AppendData(System.ReadOnlySpan{System.Byte})" /> methods, without resetting the object to its initial state.</summary>
3406 <param name="destination">The buffer to receive the hash or HMAC value.</param>
3407 <exception cref="T:System.ArgumentException">
3408 <paramref name="destination" /> has a <see cref="P:System.Span`1.Length" /> value less than <see cref="P:System.Security.Cryptography.IncrementalHash.HashLengthInBytes" />.</exception>
3409 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
3410 <returns>The number of bytes written to <paramref name="destination" />.</returns>
3412 <member name="M:System.Security.Cryptography.IncrementalHash.GetHashAndReset">
3413 <summary>Retrieves the hash or Hash-based Message Authentication Code (HMAC) for the data accumulated from prior calls to the <see cref="Overload:System.Security.Cryptography.IncrementalHash.AppendData" /> methods, and resets the object to its initial state.</summary>
3414 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
3415 <returns>The computed hash or HMAC.</returns>
3417 <member name="M:System.Security.Cryptography.IncrementalHash.GetHashAndReset(System.Span{System.Byte})">
3418 <summary>Retrieves the hash or Hash-based Message Authentication Code (HMAC) for the data accumulated from prior calls to the <see cref="M:System.Security.Cryptography.IncrementalHash.AppendData(System.ReadOnlySpan{System.Byte})" /> methods, and resets the object to its initial state.</summary>
3419 <param name="destination">The buffer to receive the hash or HMAC value.</param>
3420 <exception cref="T:System.ArgumentException">
3421 <paramref name="destination" /> has a <see cref="P:System.Span`1.Length" /> value less than <see cref="P:System.Security.Cryptography.IncrementalHash.HashLengthInBytes" />.</exception>
3422 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
3423 <returns>The number of bytes written to <paramref name="destination" />.</returns>
3425 <member name="M:System.Security.Cryptography.IncrementalHash.TryGetCurrentHash(System.Span{System.Byte},System.Int32@)">
3426 <summary>Attempts to retrieve the hash or Hash-based Message Authentication Code (HMAC) for the data accumulated from prior calls to the <see cref="M:System.Security.Cryptography.IncrementalHash.AppendData(System.ReadOnlySpan{System.Byte})" /> methods, without resetting the object to its initial state.</summary>
3427 <param name="destination">The buffer to receive the hash or HMAC value.</param>
3428 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.
3429 This parameter is treated as uninitialized.</param>
3430 <exception cref="T:System.ObjectDisposedException">The object has already been disposed.</exception>
3432 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the hash or HMAC value; otherwise, <see langword="false" />.</returns>
3434 <member name="M:System.Security.Cryptography.IncrementalHash.TryGetHashAndReset(System.Span{System.Byte},System.Int32@)">
3435 <summary>Attempts to finalize the hash computation after the last data is processed by the hash algorithm.</summary>
3436 <param name="destination">The buffer to receive the hash or Hash-Based Message Authentication Code (HMAC) value.</param>
3437 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
3438 <exception cref="T:System.ObjectDisposedException">The <see cref="T:System.Security.Cryptography.IncrementalHash" /> object has already been disposed.</exception>
3440 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the hash or HMAC value; otherwise, <see langword="false" />.</returns>
3442 <member name="P:System.Security.Cryptography.IncrementalHash.AlgorithmName">
3443 <summary>Gets the name of the algorithm being performed. HMAC algorithms are prepended with "HMAC" to distinguish them from an unkeyed digest.</summary>
3444 <returns>The name of the algorithm being performed.</returns>
3446 <member name="P:System.Security.Cryptography.IncrementalHash.HashLengthInBytes">
3447 <summary>Gets the output size of this hash or HMAC algorithm, in bytes.</summary>
3448 <returns>The output size of this hash or HMAC algorithm, in bytes.</returns>
3450 <member name="T:System.Security.Cryptography.MaskGenerationMethod">
3451 <summary>Represents the abstract class from which all mask generator algorithms must derive.</summary>
3453 <member name="M:System.Security.Cryptography.MaskGenerationMethod.#ctor">
3454 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.MaskGenerationMethod" /> class.</summary>
3456 <member name="M:System.Security.Cryptography.MaskGenerationMethod.GenerateMask(System.Byte[],System.Int32)">
3457 <summary>When overridden in a derived class, generates a mask with the specified length using the specified random seed.</summary>
3458 <param name="rgbSeed">The random seed to use to compute the mask.</param>
3459 <param name="cbReturn">The length of the generated mask in bytes.</param>
3460 <returns>A randomly generated mask whose length is equal to the <paramref name="cbReturn" /> parameter.</returns>
3462 <member name="T:System.Security.Cryptography.MD5">
3463 <summary>Represents the abstract class from which all implementations of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm inherit.</summary>
3465 <member name="M:System.Security.Cryptography.MD5.#ctor">
3466 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.MD5" />.</summary>
3468 <member name="M:System.Security.Cryptography.MD5.Create">
3469 <summary>Creates an instance of the default implementation of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm.</summary>
3470 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3471 <returns>A new instance of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm.</returns>
3473 <member name="M:System.Security.Cryptography.MD5.Create(System.String)">
3474 <summary>Creates an instance of the specified implementation of the <see cref="T:System.Security.Cryptography.MD5" /> hash algorithm.</summary>
3475 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.MD5" /> to use.</param>
3476 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="algName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3477 <returns>A new instance of the specified implementation of <see cref="T:System.Security.Cryptography.MD5" />.</returns>
3479 <member name="M:System.Security.Cryptography.MD5.HashData(System.Byte[])">
3480 <summary>Computes the hash of data using the MD5 algorithm.</summary>
3481 <param name="source">The data to hash.</param>
3482 <exception cref="T:System.ArgumentNullException">
3483 <paramref name="source" /> is <see langword="null" />.</exception>
3484 <returns>The hash of the data.</returns>
3486 <member name="M:System.Security.Cryptography.MD5.HashData(System.ReadOnlySpan{System.Byte})">
3487 <summary>Computes the hash of data using the MD5 algorithm.</summary>
3488 <param name="source">The data to hash.</param>
3489 <returns>The hash of the data.</returns>
3491 <member name="M:System.Security.Cryptography.MD5.HashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
3492 <summary>Computes the hash of data using the MD5 algorithm.</summary>
3493 <param name="source">The data to hash.</param>
3494 <param name="destination">The buffer to receive the hash value.</param>
3495 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The MD5 algorithm always produces a 128-bit hash, or 16 bytes.</exception>
3496 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
3498 <member name="M:System.Security.Cryptography.MD5.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
3499 <summary>Attempts to compute the hash of data using the MD5 algorithm.</summary>
3500 <param name="source">The data to hash.</param>
3501 <param name="destination">The buffer to receive the hash value.</param>
3502 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.</param>
3504 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
3506 <member name="T:System.Security.Cryptography.PKCS1MaskGenerationMethod">
3507 <summary>Computes masks according to PKCS #1 for use by key exchange algorithms.</summary>
3509 <member name="M:System.Security.Cryptography.PKCS1MaskGenerationMethod.#ctor">
3510 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PKCS1MaskGenerationMethod" /> class.</summary>
3512 <member name="M:System.Security.Cryptography.PKCS1MaskGenerationMethod.GenerateMask(System.Byte[],System.Int32)">
3513 <summary>Generates and returns a mask from the specified random seed of the specified length.</summary>
3514 <param name="rgbSeed">The random seed to use for computing the mask.</param>
3515 <param name="cbReturn">The length of the generated mask in bytes.</param>
3516 <returns>A randomly generated mask whose length is equal to the <paramref name="cbReturn" /> parameter.</returns>
3518 <member name="P:System.Security.Cryptography.PKCS1MaskGenerationMethod.HashName">
3519 <summary>Gets or sets the name of the hash algorithm type to use for generating the mask.</summary>
3520 <returns>The name of the type that implements the hash algorithm to use for computing the mask.</returns>
3522 <member name="T:System.Security.Cryptography.RandomNumberGenerator">
3523 <summary>Represents the abstract class from which all implementations of cryptographic random number generators derive.</summary>
3525 <member name="M:System.Security.Cryptography.RandomNumberGenerator.#ctor">
3526 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.RandomNumberGenerator" />.</summary>
3528 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Create">
3529 <summary>Creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data.</summary>
3530 <returns>A new instance of a cryptographic random number generator.</returns>
3532 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Create(System.String)">
3533 <summary>Creates an instance of the specified implementation of a cryptographic random number generator.</summary>
3534 <param name="rngName">The name of the random number generator implementation to use.</param>
3535 <returns>A new instance of a cryptographic random number generator.</returns>
3537 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Dispose">
3538 <summary>When overridden in a derived class, releases all resources used by the current instance of the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> class.</summary>
3540 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Dispose(System.Boolean)">
3541 <summary>When overridden in a derived class, releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.RandomNumberGenerator" /> and optionally releases the managed resources.</summary>
3542 <param name="disposing">
3543 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3545 <member name="M:System.Security.Cryptography.RandomNumberGenerator.Fill(System.Span{System.Byte})">
3546 <summary>Fills a span with cryptographically strong random bytes.</summary>
3547 <param name="data">The span to fill with cryptographically strong random bytes.</param>
3549 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Byte[])">
3550 <summary>When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of values.</summary>
3551 <param name="data">The array to fill with cryptographically strong random bytes.</param>
3553 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Byte[],System.Int32,System.Int32)">
3554 <summary>Fills the specified byte array with a cryptographically strong random sequence of values.</summary>
3555 <param name="data">The array to fill with cryptographically strong random bytes.</param>
3556 <param name="offset">The index of the array to start the fill operation.</param>
3557 <param name="count">The number of bytes to fill.</param>
3558 <exception cref="T:System.ArgumentNullException">
3559 <paramref name="data" /> is <see langword="null" />.</exception>
3560 <exception cref="T:System.ArgumentOutOfRangeException">
3561 <paramref name="offset" /> or <paramref name="count" /> is less than 0</exception>
3562 <exception cref="T:System.ArgumentException">
3563 <paramref name="offset" /> plus <paramref name="count" /> exceeds the length of <paramref name="data" />.</exception>
3565 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Int32)">
3566 <summary>Creates an array of bytes with a cryptographically strong random sequence of values.</summary>
3567 <param name="count">The number of bytes of random values to create.</param>
3568 <exception cref="T:System.ArgumentOutOfRangeException">
3569 <paramref name="count" /> is less than zero.</exception>
3570 <returns>An array populated with cryptographically strong random values.</returns>
3572 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetBytes(System.Span{System.Byte})">
3573 <summary>Fills a span with cryptographically strong random bytes.</summary>
3574 <param name="data">The span to fill with cryptographically strong random bytes.</param>
3576 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetInt32(System.Int32)">
3577 <summary>Generates a random integer between 0 (inclusive) and a specified exclusive upper bound using a cryptographically strong random number generator.</summary>
3578 <param name="toExclusive">The exclusive upper bound of the random range.</param>
3579 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="toExclusive" /> parameter is less than or equal to 0.</exception>
3580 <returns>A random integer between 0 (inclusive) and <paramref name="toExclusive" /> (exclusive).</returns>
3582 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetInt32(System.Int32,System.Int32)">
3583 <summary>Generates a random integer between a specified inclusive lower bound and a specified exclusive upper bound using a cryptographically strong random number generator.</summary>
3584 <param name="fromInclusive">The inclusive lower bound of the random range.</param>
3585 <param name="toExclusive">The exclusive upper bound of the random range.</param>
3586 <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="toExclusive" /> parameter is less than or equal to the <paramref name="fromInclusive" /> parameter.</exception>
3587 <returns>A random integer between <paramref name="fromInclusive" /> (inclusive) and <paramref name="toExclusive" /> (exclusive).</returns>
3589 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetNonZeroBytes(System.Byte[])">
3590 <summary>When overridden in a derived class, fills an array of bytes with a cryptographically strong random sequence of nonzero values.</summary>
3591 <param name="data">The array to fill with cryptographically strong random nonzero bytes.</param>
3593 <member name="M:System.Security.Cryptography.RandomNumberGenerator.GetNonZeroBytes(System.Span{System.Byte})">
3594 <summary>Fills a byte span with a cryptographically strong random sequence of nonzero values.</summary>
3595 <param name="data">The span to fill with cryptographically strong random nonzero bytes.</param>
3597 <member name="T:System.Security.Cryptography.RC2">
3598 <summary>Represents the base class from which all implementations of the <see cref="T:System.Security.Cryptography.RC2" /> algorithm must derive.</summary>
3600 <member name="F:System.Security.Cryptography.RC2.EffectiveKeySizeValue">
3601 <summary>Represents the effective size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm in bits.</summary>
3603 <member name="M:System.Security.Cryptography.RC2.#ctor">
3604 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.RC2" />.</summary>
3606 <member name="M:System.Security.Cryptography.RC2.Create">
3607 <summary>Creates an instance of a cryptographic object to perform the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</summary>
3608 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3609 <returns>An instance of a cryptographic object.</returns>
3611 <member name="M:System.Security.Cryptography.RC2.Create(System.String)">
3612 <summary>Creates an instance of a cryptographic object to perform the specified implementation of the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</summary>
3613 <param name="AlgName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.RC2" /> to use.</param>
3614 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="algName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3615 <returns>An instance of a cryptographic object.</returns>
3617 <member name="P:System.Security.Cryptography.RC2.EffectiveKeySize">
3618 <summary>Gets or sets the effective size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm in bits.</summary>
3619 <exception cref="T:System.Security.Cryptography.CryptographicException">The effective key size is invalid.</exception>
3620 <returns>The effective key size used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</returns>
3622 <member name="P:System.Security.Cryptography.RC2.KeySize">
3623 <summary>Gets or sets the size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm in bits.</summary>
3624 <exception cref="T:System.Security.Cryptography.CryptographicException">The value for the RC2 key size is less than the effective key size value.</exception>
3625 <returns>The size of the secret key used by the <see cref="T:System.Security.Cryptography.RC2" /> algorithm.</returns>
3627 <member name="T:System.Security.Cryptography.Rfc2898DeriveBytes">
3628 <summary>Implements password-based key derivation functionality, PBKDF2, by using a pseudo-random number generator based on <see cref="T:System.Security.Cryptography.HMACSHA1" />.</summary>
3630 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.Byte[],System.Byte[],System.Int32)">
3631 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password, a salt, and number of iterations to derive the key.</summary>
3632 <param name="password">The password used to derive the key.</param>
3633 <param name="salt">The key salt used to derive the key.</param>
3634 <param name="iterations">The number of iterations for the operation.</param>
3635 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
3636 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
3638 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.Byte[],System.Byte[],System.Int32,System.Security.Cryptography.HashAlgorithmName)">
3639 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the specified password, salt, number of iterations and the hash algorithm name to derive the key.</summary>
3640 <param name="password">The password to use to derive the key.</param>
3641 <param name="salt">The key salt to use to derive the key.</param>
3642 <param name="iterations">The number of iterations for the operation.</param>
3643 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3644 <exception cref="T:System.ArgumentOutOfRangeException">
3645 <paramref name="saltSize" /> is less than zero.</exception>
3646 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
3647 <exception cref="T:System.Security.Cryptography.CryptographicException">Hash algorithm name is invalid.</exception>
3649 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Byte[])">
3650 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password and salt to derive the key.</summary>
3651 <param name="password">The password used to derive the key.</param>
3652 <param name="salt">The key salt used to derive the key.</param>
3653 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
3654 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
3656 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Byte[],System.Int32)">
3657 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password, a salt, and number of iterations to derive the key.</summary>
3658 <param name="password">The password used to derive the key.</param>
3659 <param name="salt">The key salt used to derive the key.</param>
3660 <param name="iterations">The number of iterations for the operation.</param>
3661 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
3662 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
3664 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Byte[],System.Int32,System.Security.Cryptography.HashAlgorithmName)">
3665 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the specified password, salt, number of iterations and the hash algorithm name to derive the key.</summary>
3666 <param name="password">The password to use to derive the key.</param>
3667 <param name="salt">The key salt to use to derive the key.</param>
3668 <param name="iterations">The number of iterations for the operation.</param>
3669 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3670 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
3671 <exception cref="T:System.Security.Cryptography.CryptographicException">Hash algorithm name is invalid.</exception>
3673 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Int32)">
3674 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the password and salt size to derive the key.</summary>
3675 <param name="password">The password used to derive the key.</param>
3676 <param name="saltSize">The size of the random salt that you want the class to generate.</param>
3677 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes.</exception>
3678 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
3680 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Int32,System.Int32)">
3681 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using a password, a salt size, and number of iterations to derive the key.</summary>
3682 <param name="password">The password used to derive the key.</param>
3683 <param name="saltSize">The size of the random salt that you want the class to generate.</param>
3684 <param name="iterations">The number of iterations for the operation.</param>
3685 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes or the iteration count is less than 1.</exception>
3686 <exception cref="T:System.ArgumentNullException">The password or salt is <see langword="null" />.</exception>
3687 <exception cref="T:System.ArgumentOutOfRangeException">
3688 <paramref name="iterations" /> is out of range. This parameter requires a non-negative number.</exception>
3690 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.#ctor(System.String,System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
3691 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class using the specified password, salt size, number of iterations and the hash algorithm name to derive the key.</summary>
3692 <param name="password">The password to use to derive the key.</param>
3693 <param name="saltSize">The size of the random salt that you want the class to generate.</param>
3694 <param name="iterations">The number of iterations for the operation.</param>
3695 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3696 <exception cref="T:System.ArgumentOutOfRangeException">
3697 <paramref name="saltSize" /> is less than zero.</exception>
3698 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
3699 <exception cref="T:System.Security.Cryptography.CryptographicException">Hash algorithm name is invalid.</exception>
3701 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.CryptDeriveKey(System.String,System.String,System.Int32,System.Byte[])">
3702 <summary>Derives a cryptographic key from the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> object.</summary>
3703 <param name="algname">The algorithm name for which to derive the key.</param>
3704 <param name="alghashname">The hash algorithm name to use to derive the key.</param>
3705 <param name="keySize">The size of the key, in bits, to derive.</param>
3706 <param name="rgbIV">The initialization vector (IV) to use to derive the key.</param>
3707 <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="keySize" /> parameter is incorrect.
3711 The cryptographic service provider (CSP) cannot be acquired.
3715 The <paramref name="algname" /> parameter is not a valid algorithm name.
3719 The <paramref name="alghashname" /> parameter is not a valid hash algorithm name.</exception>
3720 <returns>The derived key.</returns>
3722 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Dispose(System.Boolean)">
3723 <summary>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.Rfc2898DeriveBytes" /> class and optionally releases the managed resources.</summary>
3724 <param name="disposing">
3725 <see langword="true" /> to release both managed and unmanaged resources; <see langword="false" /> to release only unmanaged resources.</param>
3727 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.GetBytes(System.Int32)">
3728 <summary>Returns the pseudo-random key for this object.</summary>
3729 <param name="cb">The number of pseudo-random key bytes to generate.</param>
3730 <exception cref="T:System.ArgumentOutOfRangeException">
3731 <paramref name="cb" /> is out of range. This parameter requires a non-negative number.</exception>
3732 <returns>A byte array filled with pseudo-random key bytes.</returns>
3734 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2(System.Byte[],System.Byte[],System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Int32)">
3735 <summary>Creates a PBKDF2 derived key from password bytes.</summary>
3736 <param name="password">The password used to derive the key.</param>
3737 <param name="salt">The key salt used to derive the key.</param>
3738 <param name="iterations">The number of iterations for the operation.</param>
3739 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3740 <param name="outputLength">The size of key to derive.</param>
3741 <exception cref="T:System.ArgumentNullException">
3742 <paramref name="password" /> or <paramref name="salt" /> is <see langword="null" />.</exception>
3743 <exception cref="T:System.ArgumentOutOfRangeException">
3744 <paramref name="outputLength" /> is not zero or a positive value.
3748 <paramref name="iterations" /> is not a positive value.</exception>
3749 <exception cref="T:System.ArgumentException">
3750 <paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that is empty or <see langword="null" />.</exception>
3751 <exception cref="T:System.Security.Cryptography.CryptographicException">
3752 <paramref name="hashAlgorithm" /> is an unsupported hash algorithm. Supported algorithms are <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA1" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA256" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA384" />, and <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA512" />.</exception>
3753 <returns>A byte array containing the created PBKDF2 derived key.</returns>
3755 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Int32)">
3756 <summary>Creates a PBKDF2 derived key from password bytes.</summary>
3757 <param name="password">The password used to derive the key.</param>
3758 <param name="salt">The key salt used to derive the key.</param>
3759 <param name="iterations">The number of iterations for the operation.</param>
3760 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3761 <param name="outputLength">The size of key to derive.</param>
3762 <exception cref="T:System.ArgumentOutOfRangeException">
3763 <paramref name="outputLength" /> is not zero or a positive value.
3767 <paramref name="iterations" /> is not a positive value.</exception>
3768 <exception cref="T:System.ArgumentException">
3769 <paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that is empty or <see langword="null" />.</exception>
3770 <exception cref="T:System.Security.Cryptography.CryptographicException">
3771 <paramref name="hashAlgorithm" /> is an unsupported hash algorithm. Supported algorithms are <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA1" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA256" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA384" />, and <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA512" />.</exception>
3772 <returns>A byte array containing the created PBKDF2 derived key.</returns>
3774 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32,System.Security.Cryptography.HashAlgorithmName)">
3775 <summary>Fills a buffer with a PBKDF2 derived key.</summary>
3776 <param name="password">The password used to derive the key.</param>
3777 <param name="salt">The key salt used to derive the key.</param>
3778 <param name="destination">The buffer to fill with a derived key.</param>
3779 <param name="iterations">The number of iterations for the operation.</param>
3780 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3781 <exception cref="T:System.ArgumentOutOfRangeException">
3782 <paramref name="iterations" /> is not a positive value.</exception>
3783 <exception cref="T:System.ArgumentException">
3784 <paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that is empty or <see langword="null" />.</exception>
3785 <exception cref="T:System.Security.Cryptography.CryptographicException">
3786 <paramref name="hashAlgorithm" /> is an unsupported hash algorithm. Supported algorithms are <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA1" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA256" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA384" />, and <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA512" />.</exception>
3788 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Int32)">
3789 <summary>Creates a PBKDF2 derived key from a password.</summary>
3790 <param name="password">The password used to derive the key.</param>
3791 <param name="salt">The key salt used to derive the key.</param>
3792 <param name="iterations">The number of iterations for the operation.</param>
3793 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3794 <param name="outputLength">The size of key to derive.</param>
3795 <exception cref="T:System.ArgumentOutOfRangeException">
3796 <paramref name="outputLength" /> is not zero or a positive value.
3800 <paramref name="iterations" /> is not a positive value.</exception>
3801 <exception cref="T:System.ArgumentException">
3802 <paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that is empty or <see langword="null" />.</exception>
3803 <exception cref="T:System.Security.Cryptography.CryptographicException">
3804 <paramref name="hashAlgorithm" /> is an unsupported hash algorithm. Supported algorithms are <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA1" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA256" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA384" />, and <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA512" />.</exception>
3805 <exception cref="T:System.Text.EncoderFallbackException">
3806 <paramref name="password" /> contains text that cannot be converted to UTF8.</exception>
3807 <returns>A byte array of length <paramref name="outputLength" /> that is filled with pseudo-random key bytes.</returns>
3809 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32,System.Security.Cryptography.HashAlgorithmName)">
3810 <summary>Fills a buffer with a PBKDF2 derived key.</summary>
3811 <param name="password">The password used to derive the key.</param>
3812 <param name="salt">The key salt used to derive the key.</param>
3813 <param name="destination">The buffer to fill with a derived key.</param>
3814 <param name="iterations">The number of iterations for the operation.</param>
3815 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3816 <exception cref="T:System.ArgumentOutOfRangeException">
3817 <paramref name="iterations" /> is not a positive value.</exception>
3818 <exception cref="T:System.ArgumentException">
3819 <paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that is empty or <see langword="null" />.</exception>
3820 <exception cref="T:System.Security.Cryptography.CryptographicException">
3821 <paramref name="hashAlgorithm" /> is an unsupported hash algorithm. Supported algorithms are <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA1" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA256" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA384" />, and <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA512" />.</exception>
3822 <exception cref="T:System.Text.EncoderFallbackException">
3823 <paramref name="password" /> contains text that cannot be converted to UTF8.</exception>
3825 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Pbkdf2(System.String,System.Byte[],System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Int32)">
3826 <summary>Creates a PBKDF2 derived key from a password.</summary>
3827 <param name="password">The password used to derive the key.</param>
3828 <param name="salt">The key salt used to derive the key.</param>
3829 <param name="iterations">The number of iterations for the operation.</param>
3830 <param name="hashAlgorithm">The hash algorithm to use to derive the key.</param>
3831 <param name="outputLength">The size of key to derive.</param>
3832 <exception cref="T:System.ArgumentNullException">
3833 <paramref name="password" /> or <paramref name="salt" /> is <see langword="null" />.</exception>
3834 <exception cref="T:System.ArgumentOutOfRangeException">
3835 <paramref name="outputLength" /> is not zero or a positive value.
3839 <paramref name="iterations" /> is not a positive value.</exception>
3840 <exception cref="T:System.ArgumentException">
3841 <paramref name="hashAlgorithm" /> has a <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> that is empty or <see langword="null" />.</exception>
3842 <exception cref="T:System.Security.Cryptography.CryptographicException">
3843 <paramref name="hashAlgorithm" /> is an unsupported hash algorithm. Supported algorithms are <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA1" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA256" />, <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA384" />, and <see cref="P:System.Security.Cryptography.HashAlgorithmName.SHA512" />.</exception>
3844 <exception cref="T:System.Text.EncoderFallbackException">
3845 <paramref name="password" /> contains text that cannot be converted to UTF8.</exception>
3846 <returns>A byte array of length <paramref name="outputLength" /> that is filled with pseudo-random key bytes.</returns>
3848 <member name="M:System.Security.Cryptography.Rfc2898DeriveBytes.Reset">
3849 <summary>Resets the state of the operation.</summary>
3851 <member name="P:System.Security.Cryptography.Rfc2898DeriveBytes.HashAlgorithm">
3852 <summary>Gets the hash algorithm used for byte derivation.</summary>
3853 <returns>The hash algorithm used for byte derivation.</returns>
3855 <member name="P:System.Security.Cryptography.Rfc2898DeriveBytes.IterationCount">
3856 <summary>Gets or sets the number of iterations for the operation.</summary>
3857 <exception cref="T:System.ArgumentOutOfRangeException">The number of iterations is less than 1.</exception>
3858 <returns>The number of iterations for the operation.</returns>
3860 <member name="P:System.Security.Cryptography.Rfc2898DeriveBytes.Salt">
3861 <summary>Gets or sets the key salt value for the operation.</summary>
3862 <exception cref="T:System.ArgumentException">The specified salt size is smaller than 8 bytes.</exception>
3863 <exception cref="T:System.ArgumentNullException">The salt is <see langword="null" />.</exception>
3864 <returns>The key salt value for the operation.</returns>
3866 <member name="T:System.Security.Cryptography.Rijndael">
3867 <summary>Represents the base class from which all implementations of the <see cref="T:System.Security.Cryptography.Rijndael" /> symmetric encryption algorithm must inherit.</summary>
3869 <member name="M:System.Security.Cryptography.Rijndael.#ctor">
3870 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.Rijndael" />.</summary>
3872 <member name="M:System.Security.Cryptography.Rijndael.Create">
3873 <summary>Creates a cryptographic object to perform the <see cref="T:System.Security.Cryptography.Rijndael" /> algorithm.</summary>
3874 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3875 <returns>A cryptographic object.</returns>
3877 <member name="M:System.Security.Cryptography.Rijndael.Create(System.String)">
3878 <summary>Creates a cryptographic object to perform the specified implementation of the <see cref="T:System.Security.Cryptography.Rijndael" /> algorithm.</summary>
3879 <param name="algName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.Rijndael" /> to create.</param>
3880 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="algName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
3881 <returns>A cryptographic object.</returns>
3883 <member name="T:System.Security.Cryptography.RijndaelManaged">
3884 <summary>Accesses the managed version of the <see cref="T:System.Security.Cryptography.Rijndael" /> algorithm. This class cannot be inherited.</summary>
3886 <member name="M:System.Security.Cryptography.RijndaelManaged.#ctor">
3887 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RijndaelManaged" /> class.</summary>
3888 <exception cref="T:System.InvalidOperationException">This class is not compliant with the FIPS algorithm.</exception>
3890 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateDecryptor">
3891 <summary>Creates a symmetric decryptor object with the current <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
3892 <returns>A symmetric decryptor object.</returns>
3894 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateDecryptor(System.Byte[],System.Byte[])">
3895 <summary>Creates a symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> decryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
3896 <param name="rgbKey">The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits.</param>
3897 <param name="rgbIV">The IV to be used for the symmetric algorithm.</param>
3898 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbKey" /> parameter is <see langword="null" />.
3902 The <paramref name="rgbIV" /> parameter is <see langword="null" />.</exception>
3903 <exception cref="T:System.Security.Cryptography.CryptographicException">The value of the <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Mode" /> property is not <see cref="F:System.Security.Cryptography.CipherMode.ECB" />, <see cref="F:System.Security.Cryptography.CipherMode.CBC" />, or <see cref="F:System.Security.Cryptography.CipherMode.CFB" />.</exception>
3904 <returns>A symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> decryptor object.</returns>
3906 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateEncryptor">
3907 <summary>Creates a symmetric encryptor object with the current <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> property and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
3908 <returns>A symmetric encryptor object.</returns>
3910 <member name="M:System.Security.Cryptography.RijndaelManaged.CreateEncryptor(System.Byte[],System.Byte[])">
3911 <summary>Creates a symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> encryptor object with the specified <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> and initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />).</summary>
3912 <param name="rgbKey">The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits.</param>
3913 <param name="rgbIV">The IV to be used for the symmetric algorithm.</param>
3914 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbKey" /> parameter is <see langword="null" />.
3918 The <paramref name="rgbIV" /> parameter is <see langword="null" />.</exception>
3919 <exception cref="T:System.Security.Cryptography.CryptographicException">The value of the <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Mode" /> property is not <see cref="F:System.Security.Cryptography.CipherMode.ECB" />, <see cref="F:System.Security.Cryptography.CipherMode.CBC" />, or <see cref="F:System.Security.Cryptography.CipherMode.CFB" />.</exception>
3920 <returns>A symmetric <see cref="T:System.Security.Cryptography.Rijndael" /> encryptor object.</returns>
3922 <member name="M:System.Security.Cryptography.RijndaelManaged.GenerateIV">
3923 <summary>Generates a random initialization vector (<see cref="P:System.Security.Cryptography.SymmetricAlgorithm.IV" />) to be used for the algorithm.</summary>
3925 <member name="M:System.Security.Cryptography.RijndaelManaged.GenerateKey">
3926 <summary>Generates a random <see cref="P:System.Security.Cryptography.SymmetricAlgorithm.Key" /> to be used for the algorithm.</summary>
3928 <member name="P:System.Security.Cryptography.RijndaelManaged.BlockSize">
3929 <summary>Gets or sets the block size, in bits, of the cryptographic operation.</summary>
3930 <returns>The block size, in bits, of the cryptographic operation. The default is 128 bits.</returns>
3932 <member name="P:System.Security.Cryptography.RijndaelManaged.FeedbackSize">
3933 <summary>Gets or sets the feedback size, in bits, of the cryptographic operation for the Cipher Feedback (CFB) and Output Feedback (OFB) cipher modes.</summary>
3934 <exception cref="T:System.Security.Cryptography.CryptographicException">The feedback size is larger than the block size.</exception>
3935 <returns>The feedback size in bits.</returns>
3937 <member name="P:System.Security.Cryptography.RijndaelManaged.IV">
3938 <summary>Gets or sets the initialization vector (IV) to use for the symmetric algorithm.</summary>
3939 <returns>The initialization vector (IV) to use for the symmetric algorithm.</returns>
3941 <member name="P:System.Security.Cryptography.RijndaelManaged.Key">
3942 <summary>Gets or sets the secret key used for the symmetric algorithm.</summary>
3943 <returns>The secret key used for the symmetric algorithm.</returns>
3945 <member name="P:System.Security.Cryptography.RijndaelManaged.KeySize">
3946 <summary>Gets or sets the size, in bits, of the secret key used for the symmetric algorithm.</summary>
3947 <returns>The size, in bits, of the secret key used for the symmetric algorithm. The default is 256 bits.</returns>
3949 <member name="P:System.Security.Cryptography.RijndaelManaged.LegalKeySizes">
3950 <summary>Gets the key sizes, in bits, that are supported by the symmetric algorithm.</summary>
3951 <returns>The key sizes, in bits, that are supported by the symmetric algorithm.</returns>
3953 <member name="P:System.Security.Cryptography.RijndaelManaged.Mode">
3954 <summary>Gets or sets the mode for operation of the symmetric algorithm.</summary>
3955 <returns>The mode for operation of the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.CipherMode.CBC" /></returns>
3957 <member name="P:System.Security.Cryptography.RijndaelManaged.Padding">
3958 <summary>Gets or sets the padding mode used in the symmetric algorithm.</summary>
3959 <returns>The padding mode used in the symmetric algorithm. The default is <see cref="F:System.Security.Cryptography.PaddingMode.PKCS7" />.</returns>
3961 <member name="T:System.Security.Cryptography.RSA">
3962 <summary>Represents the base class from which all implementations of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm inherit.</summary>
3964 <member name="M:System.Security.Cryptography.RSA.#ctor">
3965 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSA" /> class.</summary>
3967 <member name="M:System.Security.Cryptography.RSA.Create">
3968 <summary>Creates an instance of the default implementation of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
3969 <returns>A new instance of the default implementation of <see cref="T:System.Security.Cryptography.RSA" />.</returns>
3971 <member name="M:System.Security.Cryptography.RSA.Create(System.Int32)">
3972 <summary>Creates a new ephemeral RSA key with the specified key size.</summary>
3973 <param name="keySizeInBits">The key size, in bits.</param>
3974 <exception cref="T:System.Security.Cryptography.CryptographicException">
3975 <paramref name="keySizeInBits" /> is not supported by the default implementation.</exception>
3976 <returns>A new ephemeral RSA key with the specified key size.</returns>
3978 <member name="M:System.Security.Cryptography.RSA.Create(System.Security.Cryptography.RSAParameters)">
3979 <summary>Creates a new ephemeral RSA key with the specified RSA key parameters.</summary>
3980 <param name="parameters">The parameters for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</param>
3981 <exception cref="T:System.Security.Cryptography.CryptographicException">
3982 <paramref name="parameters" /> does not represent a valid RSA key.</exception>
3983 <returns>A new ephemeral RSA key.</returns>
3985 <member name="M:System.Security.Cryptography.RSA.Create(System.String)">
3986 <summary>Creates an instance of the specified implementation of <see cref="T:System.Security.Cryptography.RSA" />.</summary>
3987 <param name="algName">The name of the implementation of <see cref="T:System.Security.Cryptography.RSA" /> to use.</param>
3988 <returns>A new instance of the specified implementation of <see cref="T:System.Security.Cryptography.RSA" />.</returns>
3990 <member name="M:System.Security.Cryptography.RSA.Decrypt(System.Byte[],System.Security.Cryptography.RSAEncryptionPadding)">
3991 <summary>When overridden in a derived class, decrypts the input data using the specified padding mode.</summary>
3992 <param name="data">The data to decrypt.</param>
3993 <param name="padding">The padding mode.</param>
3994 <exception cref="T:System.ArgumentNullException">
3995 <paramref name="data" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
3996 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
3997 <exception cref="T:System.Security.Cryptography.CryptographicException">
3998 <paramref name="padding" /> is unknown, or not supported by this implementation.
4002 The length of <paramref name="data" /> is not equal to the number of bytes for <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize" />.
4006 This instance represents only a public key.
4010 The decryption operation failed.</exception>
4011 <returns>The decrypted data.</returns>
4013 <member name="M:System.Security.Cryptography.RSA.DecryptValue(System.Byte[])">
4014 <summary>When overridden in a derived class, decrypts the input data using the private key.</summary>
4015 <param name="rgb">The cipher text to be decrypted.</param>
4016 <exception cref="T:System.NotSupportedException">This method call is not supported. This exception is thrown starting with the .NET Framework 4.6.</exception>
4017 <returns>The resulting decryption of the <paramref name="rgb" /> parameter in plain text.</returns>
4019 <member name="M:System.Security.Cryptography.RSA.Encrypt(System.Byte[],System.Security.Cryptography.RSAEncryptionPadding)">
4020 <summary>When overridden in a derived class, encrypts the input data using the specified padding mode.</summary>
4021 <param name="data">The data to encrypt.</param>
4022 <param name="padding">The padding mode.</param>
4023 <exception cref="T:System.ArgumentNullException">
4024 <paramref name="data" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
4025 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
4026 <exception cref="T:System.Security.Cryptography.CryptographicException">
4027 <paramref name="padding" /> is unknown, or not supported by this implementation.
4031 The length of <paramref name="data" /> is too long for the combination of <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize" /> and the selected padding.
4035 The encryption operation failed.</exception>
4036 <returns>The encrypted data.</returns>
4038 <member name="M:System.Security.Cryptography.RSA.EncryptValue(System.Byte[])">
4039 <summary>When overridden in a derived class, encrypts the input data using the public key.</summary>
4040 <param name="rgb">The plain text to be encrypted.</param>
4041 <exception cref="T:System.NotSupportedException">This method call is not supported. This exception is thrown starting with the .NET Framework 4.6.</exception>
4042 <returns>The resulting encryption of the <paramref name="rgb" /> parameter as cipher text.</returns>
4044 <member name="M:System.Security.Cryptography.RSA.ExportParameters(System.Boolean)">
4045 <summary>When overridden in a derived class, exports the <see cref="T:System.Security.Cryptography.RSAParameters" />.</summary>
4046 <param name="includePrivateParameters">
4047 <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
4048 <exception cref="T:System.Security.Cryptography.CryptographicException">The parameters could not be exported.</exception>
4049 <returns>The parameters for <see cref="T:System.Security.Cryptography.RSA" />.</returns>
4051 <member name="M:System.Security.Cryptography.RSA.ExportRSAPrivateKey">
4052 <summary>Exports the current key in the PKCS#1 RSAPrivateKey format.</summary>
4053 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
4054 <returns>A byte array containing the PKCS#1 RSAPrivateKey representation of this key.</returns>
4056 <member name="M:System.Security.Cryptography.RSA.ExportRSAPublicKey">
4057 <summary>Exports the public-key portion of the current key in the PKCS#1 RSAPublicKey format.</summary>
4058 <returns>A byte array containing the PKCS#1 RSAPublicKey representation of this key.</returns>
4060 <member name="M:System.Security.Cryptography.RSA.FromXmlString(System.String)">
4061 <summary>Initializes an <see cref="T:System.Security.Cryptography.RSA" /> object from the key information from an XML string.</summary>
4062 <param name="xmlString">The XML string containing <see cref="T:System.Security.Cryptography.RSA" /> key information.</param>
4063 <exception cref="T:System.ArgumentNullException">The <paramref name="xmlString" /> parameter is <see langword="null" />.</exception>
4064 <exception cref="T:System.Security.Cryptography.CryptographicException">The format of the <paramref name="xmlString" /> parameter is not valid.</exception>
4065 <exception cref="T:System.PlatformNotSupportedException">.NET Core and .NET 5+ only: In all cases.</exception>
4067 <member name="M:System.Security.Cryptography.RSA.HashData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName)">
4068 <summary>When overridden in a derived class, computes the hash value of a specified portion of a byte array by using a specified hashing algorithm.</summary>
4069 <param name="data">The data to be hashed.</param>
4070 <param name="offset">The index of the first byte in <paramref name="data" /> that is to be hashed.</param>
4071 <param name="count">The number of bytes to hash.</param>
4072 <param name="hashAlgorithm">The algorithm to use in hash the data.</param>
4073 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
4074 <returns>The hashed data.</returns>
4076 <member name="M:System.Security.Cryptography.RSA.HashData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName)">
4077 <summary>When overridden in a derived class, computes the hash value of a specified binary stream by using a specified hashing algorithm.</summary>
4078 <param name="data">The binary stream to hash.</param>
4079 <param name="hashAlgorithm">The hash algorithm.</param>
4080 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
4081 <returns>The hashed data.</returns>
4083 <member name="M:System.Security.Cryptography.RSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Int32@)">
4084 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a byte-based password, replacing the keys for this object.</summary>
4085 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
4086 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
4087 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
4088 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
4092 The contents of <paramref name="source" /> indicate the Key Derivation Function (KDF) to apply is the legacy PKCS#12 KDF, which requires <see cref="T:System.Char" />-based passwords.
4096 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
4100 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
4104 The contents of <paramref name="source" /> represent the key in a format that is not supported.
4108 The algorithm-specific key import failed.</exception>
4110 <member name="M:System.Security.Cryptography.RSA.ImportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte},System.Int32@)">
4111 <summary>Imports the public/private keypair from a PKCS#8 EncryptedPrivateKeyInfo structure after decrypting with a char-based password, replacing the keys for this object.</summary>
4112 <param name="password">The password to use for decrypting the key material.</param>
4113 <param name="source">The bytes of a PKCS#8 EncryptedPrivateKeyInfo structure in the ASN.1-BER encoding.</param>
4114 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
4115 <exception cref="T:System.Security.Cryptography.CryptographicException">The password is incorrect.
4119 The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
4123 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
4127 The contents of <paramref name="source" /> represent the key in a format that is not supported.
4131 The algorithm-specific key import failed.</exception>
4133 <member name="M:System.Security.Cryptography.RSA.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Byte})">
4134 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
4135 <param name="input">The PEM text of the encrypted key to import.</param>
4136 <param name="passwordBytes">The bytes to use as a password when decrypting the key material.</param>
4137 <exception cref="T:System.ArgumentException">
4138 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
4142 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
4143 <exception cref="T:System.Security.Cryptography.CryptographicException">
4144 The password is incorrect.
4148 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
4152 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
4156 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
4160 The algorithm-specific key import failed.</exception>
4162 <member name="M:System.Security.Cryptography.RSA.ImportFromEncryptedPem(System.ReadOnlySpan{System.Char},System.ReadOnlySpan{System.Char})">
4163 <summary>Imports an encrypted RFC 7468 PEM-encoded private key, replacing the keys for this object.</summary>
4164 <param name="input">The PEM text of the encrypted key to import.</param>
4165 <param name="password">The password to use for decrypting the key material.</param>
4166 <exception cref="T:System.ArgumentException">
4167 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
4171 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.</exception>
4172 <exception cref="T:System.Security.Cryptography.CryptographicException">
4173 The password is incorrect.
4177 The base-64 decoded contents of the PEM text from <paramref name="input" /> do not represent an ASN.1-BER-encoded PKCS#8 EncryptedPrivateKeyInfo structure.
4181 The base-64 decoded contents of the PEM text from <paramref name="input" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
4185 The base-64 decoded contents of the PEM text from <paramref name="input" /> represent the key in a format that is not supported.
4189 The algorithm-specific key import failed.</exception>
4191 <member name="M:System.Security.Cryptography.RSA.ImportFromPem(System.ReadOnlySpan{System.Char})">
4192 <summary>Imports an RFC 7468 PEM-encoded key, replacing the keys for this object.</summary>
4193 <param name="input">The PEM text of the key to import.</param>
4194 <exception cref="T:System.ArgumentException">
4195 <paramref name="input" /> does not contain a PEM-encoded key with a recognized label.
4199 <paramref name="input" /> contains multiple PEM-encoded keys with a recognized label.
4203 <paramref name="input" /> contains an encrypted PEM-encoded key.</exception>
4205 <member name="M:System.Security.Cryptography.RSA.ImportParameters(System.Security.Cryptography.RSAParameters)">
4206 <summary>When overridden in a derived class, imports the specified <see cref="T:System.Security.Cryptography.RSAParameters" />.</summary>
4207 <param name="parameters">The parameters for <see cref="T:System.Security.Cryptography.RSA" />.</param>
4209 <member name="M:System.Security.Cryptography.RSA.ImportPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
4210 <summary>Imports the public/private keypair from a PKCS#8 PrivateKeyInfo structure after decryption, replacing the keys for this object.</summary>
4211 <param name="source">The bytes of a PKCS#8 PrivateKeyInfo structure in the ASN.1-BER encoding.</param>
4212 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
4213 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#8 PrivateKeyInfo structure.
4217 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
4221 The contents of <paramref name="source" /> represent the key in a format that is not supported.
4225 The algorithm-specific key import failed.</exception>
4227 <member name="M:System.Security.Cryptography.RSA.ImportRSAPrivateKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
4228 <summary>Imports the public/private keypair from a PKCS#1 RSAPrivateKey structure after decryption, replacing the keys for this object.</summary>
4229 <param name="source">The bytes of a PKCS#1 RSAPrivateKey structure in the ASN.1-BER encoding.</param>
4230 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
4231 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#1 RSAPrivateKey structure.
4235 The key import failed.</exception>
4237 <member name="M:System.Security.Cryptography.RSA.ImportRSAPublicKey(System.ReadOnlySpan{System.Byte},System.Int32@)">
4238 <summary>Imports the public key from a PKCS#1 RSAPublicKey structure after decryption, replacing the keys for this object.</summary>
4239 <param name="source">The bytes of a PKCS#1 RSAPublicKey structure in the ASN.1-BER encoding.</param>
4240 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
4241 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-BER-encoded PKCS#1 RSAPublicKey structure.
4245 The key import failed.</exception>
4247 <member name="M:System.Security.Cryptography.RSA.ImportSubjectPublicKeyInfo(System.ReadOnlySpan{System.Byte},System.Int32@)">
4248 <summary>Imports the public key from an X.509 SubjectPublicKeyInfo structure after decryption, replacing the keys for this object.</summary>
4249 <param name="source">The bytes of an X.509 SubjectPublicKeyInfo structure in the ASN.1-DER encoding.</param>
4250 <param name="bytesRead">When this method returns, contains a value that indicates the number of bytes read from <paramref name="source" />. This parameter is treated as uninitialized.</param>
4251 <exception cref="T:System.Security.Cryptography.CryptographicException">The contents of <paramref name="source" /> do not represent an ASN.1-DER-encoded X.509 SubjectPublicKeyInfo structure.
4255 The contents of <paramref name="source" /> indicate the key is for an algorithm other than the algorithm represented by this instance.
4259 The contents of <paramref name="source" /> represent the key in a format that is not supported.
4263 The algorithm-specific key import failed.</exception>
4265 <member name="M:System.Security.Cryptography.RSA.SignData(System.Byte[],System.Int32,System.Int32,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4266 <summary>Computes the hash value of a portion of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.</summary>
4267 <param name="data">The input data to hash and sign.</param>
4268 <param name="offset">The offset into the array at which to begin using data.</param>
4269 <param name="count">The number of bytes in the array to use as data.</param>
4270 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
4271 <param name="padding">The padding mode.</param>
4272 <exception cref="T:System.ArgumentNullException">
4273 <paramref name="data" /> is <see langword="null" />.
4277 <paramref name="padding" /> is <see langword="null" />.</exception>
4278 <exception cref="T:System.ArgumentException">
4279 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4280 <exception cref="T:System.ArgumentOutOfRangeException">
4281 <paramref name="offset" /> is less than zero.
4285 <paramref name="count" /> is less than zero.
4289 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
4290 <exception cref="T:System.Security.Cryptography.CryptographicException">
4291 <paramref name="padding" /> is unknown, or not supported by this implementation.
4295 This instance represents only a public key.
4299 An error occurred creating the signature.</exception>
4300 <returns>The RSA signature for the specified data.</returns>
4302 <member name="M:System.Security.Cryptography.RSA.SignData(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4303 <summary>Computes the hash value of the specified byte array using the specified hash algorithm and padding mode, and signs the resulting hash value.</summary>
4304 <param name="data">The input data to hash and sign.</param>
4305 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
4306 <param name="padding">The padding mode.</param>
4307 <exception cref="T:System.ArgumentNullException">
4308 <paramref name="data" /> is <see langword="null" />.
4312 <paramref name="padding" /> is <see langword="null" />.</exception>
4313 <exception cref="T:System.ArgumentException">
4314 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4315 <exception cref="T:System.Security.Cryptography.CryptographicException">
4316 <paramref name="padding" /> is unknown, or not supported by this implementation.
4320 This instance represents only a public key.
4324 An error occurred creating the signature.</exception>
4325 <returns>The RSA signature for the specified data.</returns>
4327 <member name="M:System.Security.Cryptography.RSA.SignData(System.IO.Stream,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4328 <summary>Computes the hash value of the specified stream using the specified hash algorithm and padding mode, and signs the resulting hash value.</summary>
4329 <param name="data">The input stream to hash and sign.</param>
4330 <param name="hashAlgorithm">The hash algorithm to use to create the hash value.</param>
4331 <param name="padding">The padding mode.</param>
4332 <exception cref="T:System.ArgumentNullException">
4333 <paramref name="data" /> is <see langword="null" />.
4337 <paramref name="padding" /> is <see langword="null" />.</exception>
4338 <exception cref="T:System.ArgumentException">
4339 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4340 <exception cref="T:System.Security.Cryptography.CryptographicException">
4341 <paramref name="padding" /> is unknown, or not supported by this implementation.
4345 This instance represents only a public key.
4349 An error occurred creating the signature.</exception>
4350 <returns>The RSA signature for the specified data.</returns>
4352 <member name="M:System.Security.Cryptography.RSA.SignHash(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4353 <summary>When overridden in a derived class, computes the signature for the specified hash value using the specified padding.</summary>
4354 <param name="hash">The hash value of the data to be signed.</param>
4355 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
4356 <param name="padding">The padding.</param>
4357 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
4358 <exception cref="T:System.ArgumentNullException">
4359 <paramref name="data" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
4360 <exception cref="T:System.ArgumentException">
4361 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4362 <exception cref="T:System.Security.Cryptography.CryptographicException">
4363 <paramref name="padding" /> is unknown, or not supported by this implementation.
4367 This instance represents only a public key.
4371 An error occurred creating the signature.</exception>
4372 <returns>The RSA signature for the specified hash value.</returns>
4374 <member name="M:System.Security.Cryptography.RSA.ToXmlString(System.Boolean)">
4375 <summary>Creates and returns an XML string containing the key of the current <see cref="T:System.Security.Cryptography.RSA" /> object.</summary>
4376 <param name="includePrivateParameters">
4377 <see langword="true" /> to include a public and private RSA key; <see langword="false" /> to include only the public key.</param>
4378 <exception cref="T:System.PlatformNotSupportedException">.NET Core and .NET 5+ only: In all cases.</exception>
4379 <returns>An XML string containing the key of the current <see cref="T:System.Security.Cryptography.RSA" /> object.</returns>
4381 <member name="M:System.Security.Cryptography.RSA.TryDecrypt(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.RSAEncryptionPadding,System.Int32@)">
4382 <summary>Attempts to decrypt the input data using the specified padding mode, writing the result into a provided buffer.</summary>
4383 <param name="data">The data to decrypt.</param>
4384 <param name="destination">The buffer to receive the decrypted data.</param>
4385 <param name="padding">The padding mode.</param>
4386 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4387 <exception cref="T:System.ArgumentNullException">
4388 <paramref name="padding" /> is <see langword="null" />.</exception>
4389 <exception cref="T:System.Security.Cryptography.CryptographicException">
4390 <paramref name="padding" /> is unknown, or not supported by this implementation.
4394 The length of <paramref name="data" /> is not equal to the number of bytes for <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize" />.
4398 This instance represents only a public key.
4402 The decryption operation failed.</exception>
4404 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the decrypted data; otherwise, <see langword="false" />.</returns>
4406 <member name="M:System.Security.Cryptography.RSA.TryEncrypt(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.RSAEncryptionPadding,System.Int32@)">
4407 <summary>Attempts to encrypt the input data with a specified padding mode into a provided buffer.</summary>
4408 <param name="data">The data to encrypt.</param>
4409 <param name="destination">The buffer to receive the encrypted data.</param>
4410 <param name="padding">The padding mode.</param>
4411 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4412 <exception cref="T:System.ArgumentNullException">
4413 <paramref name="padding" /> is <see langword="null" />.</exception>
4414 <exception cref="T:System.Security.Cryptography.CryptographicException">
4415 <paramref name="padding" /> is unknown, or not supported by this implementation.
4419 The length of <paramref name="data" /> is too long for the combination of <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize" /> and the selected padding.
4423 The encryption operation failed.</exception>
4425 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the encrypted data; otherwise, <see langword="false" />.</returns>
4427 <member name="M:System.Security.Cryptography.RSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Byte},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
4428 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a byte-based password.</summary>
4429 <param name="passwordBytes">The bytes to use as a password when encrypting the key material.</param>
4430 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
4431 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
4432 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4433 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.
4437 <paramref name="pbeParameters" /> indicates that <see cref="F:System.Security.Cryptography.PbeEncryptionAlgorithm.TripleDes3KeyPkcs12" /> should be used, which requires <see cref="T:System.Char" />-based passwords.</exception>
4439 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
4441 <member name="M:System.Security.Cryptography.RSA.TryExportEncryptedPkcs8PrivateKey(System.ReadOnlySpan{System.Char},System.Security.Cryptography.PbeParameters,System.Span{System.Byte},System.Int32@)">
4442 <summary>Attempts to export the current key in the PKCS#8 EncryptedPrivateKeyInfo format into a provided buffer, using a char-based password.</summary>
4443 <param name="password">The password to use when encrypting the key material.</param>
4444 <param name="pbeParameters">The password-based encryption (PBE) parameters to use when encrypting the key material.</param>
4445 <param name="destination">The byte span to receive the PKCS#8 EncryptedPrivateKeyInfo data.</param>
4446 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4447 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
4449 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
4451 <member name="M:System.Security.Cryptography.RSA.TryExportPkcs8PrivateKey(System.Span{System.Byte},System.Int32@)">
4452 <summary>Attempts to export the current key in the PKCS#8 PrivateKeyInfo format into a provided buffer.</summary>
4453 <param name="destination">The byte span to receive the PKCS#8 PrivateKeyInfo data.</param>
4454 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4455 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
4457 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
4459 <member name="M:System.Security.Cryptography.RSA.TryExportRSAPrivateKey(System.Span{System.Byte},System.Int32@)">
4460 <summary>Attempts to export the current key in the PKCS#1 RSAPrivateKey format into a provided buffer.</summary>
4461 <param name="destination">The byte span to receive the PKCS#1 RSAPrivateKey data.</param>
4462 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4463 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
4465 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
4467 <member name="M:System.Security.Cryptography.RSA.TryExportRSAPublicKey(System.Span{System.Byte},System.Int32@)">
4468 <summary>Attempts to export the current key in the PKCS#1 RSAPublicKey format into a provided buffer.</summary>
4469 <param name="destination">The byte span to receive the PKCS#1 RSAPublicKey data.</param>
4470 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4471 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
4473 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
4475 <member name="M:System.Security.Cryptography.RSA.TryExportSubjectPublicKeyInfo(System.Span{System.Byte},System.Int32@)">
4476 <summary>Attempts to export the current key in the X.509 SubjectPublicKeyInfo format into a provided buffer.</summary>
4477 <param name="destination">The byte span to receive the X.509 SubjectPublicKeyInfo data.</param>
4478 <param name="bytesWritten">When this method returns, contains a value that indicates the number of bytes written to <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4479 <exception cref="T:System.Security.Cryptography.CryptographicException">The key could not be exported.</exception>
4481 <see langword="true" /> if <paramref name="destination" /> is big enough to receive the output; otherwise, <see langword="false" />.</returns>
4483 <member name="M:System.Security.Cryptography.RSA.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Int32@)">
4484 <summary>Attempts to compute the hash of the provided data by using the specified algorithm, writing the results into a provided buffer.</summary>
4485 <param name="data">The data to be hashed.</param>
4486 <param name="destination">The buffer to receive the hash value.</param>
4487 <param name="hashAlgorithm">The algorithm to use in hash the data.</param>
4488 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4490 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the hash value; otherwise, <see langword="false" />.</returns>
4492 <member name="M:System.Security.Cryptography.RSA.TrySignData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding,System.Int32@)">
4493 <summary>Attempts to hash the provided data with the specified algorithm and sign the hash with the current key, writing the signature into a provided buffer.</summary>
4494 <param name="data">The input data to hash and sign.</param>
4495 <param name="destination">The buffer to receive the RSA signature.</param>
4496 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
4497 <param name="padding">The padding mode.</param>
4498 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4499 <exception cref="T:System.ArgumentNullException">
4500 <paramref name="padding" /> is <see langword="null" />.</exception>
4501 <exception cref="T:System.ArgumentException">
4502 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4503 <exception cref="T:System.Security.Cryptography.CryptographicException">This instance represents only a public key.
4507 An error occurred creating the signature.</exception>
4509 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the RSA signature; otherwise, <see langword="false" />.</returns>
4511 <member name="M:System.Security.Cryptography.RSA.TrySignHash(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding,System.Int32@)">
4512 <summary>Attempts to sign the hash with the current key, writing the signature into a provided buffer.</summary>
4513 <param name="hash">The hash value of the data to be signed.</param>
4514 <param name="destination">The buffer to receive the RSA signature.</param>
4515 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
4516 <param name="padding">The padding.</param>
4517 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />. This parameter is treated as uninitialized.</param>
4518 <exception cref="T:System.ArgumentNullException">
4519 <paramref name="padding" /> is <see langword="null" />.</exception>
4520 <exception cref="T:System.ArgumentException">
4521 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4522 <exception cref="T:System.Security.Cryptography.CryptographicException">
4523 <paramref name="padding" /> is unknown, or not supported by this implementation.
4527 This instance represents only a public key.
4531 An error occurred creating the signature.</exception>
4533 <see langword="true" /> if <paramref name="destination" /> is long enough to receive the RSA signature; otherwise, <see langword="false" />.</returns>
4535 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4536 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature.</summary>
4537 <param name="data">The signed data.</param>
4538 <param name="signature">The signature data to be verified.</param>
4539 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
4540 <param name="padding">The padding mode.</param>
4541 <exception cref="T:System.ArgumentNullException">
4542 <paramref name="data" /> is <see langword="null" />.
4546 <paramref name="signature" /> is <see langword="null" />.
4550 <paramref name="padding" /> is <see langword="null" />.</exception>
4551 <exception cref="T:System.ArgumentException">
4552 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4553 <exception cref="T:System.Security.Cryptography.CryptographicException">
4554 <paramref name="padding" /> is unknown, or not supported by this implementation.</exception>
4556 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
4558 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4559 <summary>Verifies that a digital signature is valid by calculating the hash value of the data in a portion of a byte array using the specified hash algorithm and padding, and comparing it to the provided signature.</summary>
4560 <param name="data">The signed data.</param>
4561 <param name="offset">The starting index at which to compute the hash.</param>
4562 <param name="count">The number of bytes to hash.</param>
4563 <param name="signature">The signature data to be verified.</param>
4564 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
4565 <param name="padding">The padding mode.</param>
4566 <exception cref="T:System.ArgumentNullException">
4567 <paramref name="data" /> is <see langword="null" />.
4571 <paramref name="signature" /> is <see langword="null" />.
4575 <paramref name="padding" /> is <see langword="null" />.</exception>
4576 <exception cref="T:System.ArgumentException">
4577 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4578 <exception cref="T:System.ArgumentOutOfRangeException">
4579 <paramref name="offset" /> is less than zero.
4583 <paramref name="count" /> is less than zero.
4587 <paramref name="offset" /> + <paramref name="count" /> - 1 results in an index that is beyond the upper bound of <paramref name="data" />.</exception>
4588 <exception cref="T:System.Security.Cryptography.CryptographicException">
4589 <paramref name="padding" /> is unknown, or not supported by this implementation.</exception>
4591 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
4593 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.IO.Stream,System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4594 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified stream using the specified hash algorithm and padding, and comparing it to the provided signature.</summary>
4595 <param name="data">The signed data.</param>
4596 <param name="signature">The signature data to be verified.</param>
4597 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
4598 <param name="padding">The padding mode.</param>
4599 <exception cref="T:System.ArgumentNullException">
4600 <paramref name="data" /> is <see langword="null" />.
4604 <paramref name="signature" /> is <see langword="null" />.
4608 <paramref name="padding" /> is <see langword="null" />.</exception>
4609 <exception cref="T:System.ArgumentException">
4610 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4611 <exception cref="T:System.Security.Cryptography.CryptographicException">
4612 <paramref name="padding" /> is unknown, or not supported by this implementation.</exception>
4614 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
4616 <member name="M:System.Security.Cryptography.RSA.VerifyData(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4617 <summary>Verifies that a digital signature is valid by calculating the hash value of the specified data using the specified hash algorithm and padding, and comparing it to the provided signature.</summary>
4618 <param name="data">The signed data.</param>
4619 <param name="signature">The signature data to be verified.</param>
4620 <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
4621 <param name="padding">The padding mode.</param>
4622 <exception cref="T:System.ArgumentException">
4623 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4624 <exception cref="T:System.Security.Cryptography.CryptographicException">
4625 <paramref name="padding" /> is unknown, or not supported by this implementation.</exception>
4627 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
4629 <member name="M:System.Security.Cryptography.RSA.VerifyHash(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4630 <summary>Verifies that a digital signature is valid by determining the hash value in the signature using the specified hash algorithm and padding, and comparing it to the provided hash value.</summary>
4631 <param name="hash">The hash value of the signed data.</param>
4632 <param name="signature">The signature data to be verified.</param>
4633 <param name="hashAlgorithm">The hash algorithm used to create the hash value.</param>
4634 <param name="padding">The padding mode.</param>
4635 <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
4636 <exception cref="T:System.ArgumentNullException">
4637 <paramref name="hash" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
4638 <exception cref="T:System.ArgumentException">
4639 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4640 <exception cref="T:System.Security.Cryptography.CryptographicException">
4641 <paramref name="padding" /> is unknown, or not supported by this implementation.</exception>
4643 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
4645 <member name="M:System.Security.Cryptography.RSA.VerifyHash(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte},System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
4646 <summary>Verifies that a digital signature is valid by determining the hash value in the signature using the specified hash algorithm and padding, and comparing it to the provided hash value.</summary>
4647 <param name="hash">The hash value of the signed data.</param>
4648 <param name="signature">The signature data to be verified.</param>
4649 <param name="hashAlgorithm">The hash algorithm used to create the hash value.</param>
4650 <param name="padding">The padding mode.</param>
4651 <exception cref="T:System.ArgumentNullException">
4652 <paramref name="hash" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
4653 <exception cref="T:System.ArgumentException">
4654 <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4655 <exception cref="T:System.Security.Cryptography.CryptographicException">
4656 <paramref name="padding" /> is unknown, or not supported by this implementation.</exception>
4658 <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
4660 <member name="P:System.Security.Cryptography.RSA.KeyExchangeAlgorithm">
4661 <summary>Gets the name of the key exchange algorithm available with this implementation of <see cref="T:System.Security.Cryptography.RSA" />.</summary>
4662 <returns>Returns "RSA".</returns>
4664 <member name="P:System.Security.Cryptography.RSA.SignatureAlgorithm">
4665 <summary>Gets the name of the signature algorithm available with this implementation of <see cref="T:System.Security.Cryptography.RSA" />.</summary>
4666 <returns>Returns "RSA".</returns>
4668 <member name="T:System.Security.Cryptography.RSAEncryptionPadding">
4669 <summary>Specifies the padding mode and parameters to use with RSA encryption or decryption operations.</summary>
4671 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.CreateOaep(System.Security.Cryptography.HashAlgorithmName)">
4672 <summary>Creates a new <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> instance whose <see cref="P:System.Security.Cryptography.RSAEncryptionPadding.Mode" /> is <see cref="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep" /> with the given hash algorithm.</summary>
4673 <param name="hashAlgorithm">The hash algorithm.</param>
4674 <exception cref="T:System.ArgumentException">The <see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> property of <paramref name="hashAlgorithm" /> is either <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
4675 <returns>An object whose mode is <see cref="P:System.Security.Cryptography.RSAEncryptionPadding.Mode" /> is <see cref="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep" /> with the hash algorithm specified by <paramref name="hashAlgorithm" />.</returns>
4677 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.Equals(System.Object)">
4678 <summary>Determines whether the current instance is equal to the specified object.</summary>
4679 <param name="obj">The object to compare.</param>
4681 <see langword="true" /> if <paramref name="obj" /> is equal to the current instance; otherwise, <see langword="false" />.</returns>
4683 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.Equals(System.Security.Cryptography.RSAEncryptionPadding)">
4684 <summary>Determines whether the current instance is equal to the specified <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> object.</summary>
4685 <param name="other">The object to compare.</param>
4687 <see langword="true" /> if <paramref name="other" /> is equal to the current instance; otherwise, <see langword="false" />.</returns>
4689 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.GetHashCode">
4690 <summary>Returns the hash code of this <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> object.</summary>
4691 <returns>The hash code of this instance.</returns>
4693 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.op_Equality(System.Security.Cryptography.RSAEncryptionPadding,System.Security.Cryptography.RSAEncryptionPadding)">
4694 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> objects are equal.</summary>
4695 <param name="left">The first object to compare.</param>
4696 <param name="right">The second object to compare.</param>
4698 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are equal; otherwise, <see langword="false" />.</returns>
4700 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.op_Inequality(System.Security.Cryptography.RSAEncryptionPadding,System.Security.Cryptography.RSAEncryptionPadding)">
4701 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> objects are unequal.</summary>
4702 <param name="left">The first object to compare.</param>
4703 <param name="right">The second object to compare.</param>
4705 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are not equal; otherwise, <see langword="false" />.</returns>
4707 <member name="M:System.Security.Cryptography.RSAEncryptionPadding.ToString">
4708 <summary>Returns the string representation of the current <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> instance.</summary>
4709 <returns>The string representation of the current object.</returns>
4711 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.Mode">
4712 <summary>Gets the padding mode represented by this <see cref="T:System.Security.Cryptography.RSAEncryptionPadding" /> instance.</summary>
4713 <returns>A padding mode.</returns>
4715 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepHashAlgorithm">
4716 <summary>Gets the hash algorithm used in conjunction with the <see cref="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep" /> padding mode.</summary>
4717 <returns>The hash algorithm.</returns>
4719 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA1">
4720 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA1 hash algorithm.</summary>
4721 <returns>An object that represents the OAEP encryption standard with a SHA1 hash algorithm.</returns>
4723 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA256">
4724 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA256 hash algorithm.</summary>
4725 <returns>An object that represents the OAEP encryption standard with a SHA256 hash algorithm.</returns>
4727 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA384">
4728 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA-384 hash algorithm.</summary>
4729 <returns>An object that represents the OAEP encryption standard with a SHA384 hash algorithm.</returns>
4731 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.OaepSHA512">
4732 <summary>Gets an object that represents the Optimal Asymmetric Encryption Padding (OAEP) encryption standard with a SHA512 hash algorithm.</summary>
4733 <returns>An object that represents the OAEP encryption standard with a SHA512 hash algorithm.</returns>
4735 <member name="P:System.Security.Cryptography.RSAEncryptionPadding.Pkcs1">
4736 <summary>Gets an object that represents the PKCS #1 encryption standard.</summary>
4737 <returns>An object that represents the PKCS #1 encryption standard.</returns>
4739 <member name="T:System.Security.Cryptography.RSAEncryptionPaddingMode">
4740 <summary>Specifies the padding mode to use with RSA encryption or decryption operations.</summary>
4742 <member name="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Oaep">
4743 <summary>Optimal Asymmetric Encryption Padding. It is recommended for new applications.</summary>
4745 <member name="F:System.Security.Cryptography.RSAEncryptionPaddingMode.Pkcs1">
4746 <summary>PKCS #1 v1.5. It is supported for compatibility with existing applications.</summary>
4748 <member name="T:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter">
4749 <summary>Decrypts Optimal Asymmetric Encryption Padding (OAEP) key exchange data.</summary>
4751 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.#ctor">
4752 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter" /> class.</summary>
4754 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
4755 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter" /> class with the specified key.</summary>
4756 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
4757 <exception cref="T:System.ArgumentNullException">
4758 <paramref name="key" /> is <see langword="null" />.</exception>
4760 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
4761 <summary>Extracts secret information from the encrypted key exchange data.</summary>
4762 <param name="rgbData">The key exchange data within which the secret information is hidden.</param>
4763 <exception cref="T:System.Security.Cryptography.CryptographicException">The key exchange data verification has failed.</exception>
4764 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is missing.</exception>
4765 <returns>The secret information derived from the key exchange data.</returns>
4767 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
4768 <summary>Sets the private key to use for decrypting the secret information.</summary>
4769 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
4770 <exception cref="T:System.ArgumentNullException">
4771 <paramref name="key" /> is <see langword="null" />.</exception>
4773 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter.Parameters">
4774 <summary>Gets the parameters for the Optimal Asymmetric Encryption Padding (OAEP) key exchange.</summary>
4775 <returns>An XML string containing the parameters of the OAEP key exchange operation.</returns>
4777 <member name="T:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter">
4778 <summary>Creates Optimal Asymmetric Encryption Padding (OAEP) key exchange data using <see cref="T:System.Security.Cryptography.RSA" />.</summary>
4780 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.#ctor">
4781 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter" /> class.</summary>
4783 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
4784 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter" /> class with the specified key.</summary>
4785 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
4786 <exception cref="T:System.ArgumentNullException">
4787 <paramref name="key" /> is <see langword="null" />.</exception>
4789 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
4790 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
4791 <param name="rgbData">The secret information to be passed in the key exchange.</param>
4792 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is missing.</exception>
4793 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
4795 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
4796 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
4797 <param name="rgbData">The secret information to be passed in the key exchange.</param>
4798 <param name="symAlgType">This parameter is not used in the current version.</param>
4799 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
4801 <member name="M:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
4802 <summary>Sets the public key to use for encrypting the key exchange data.</summary>
4803 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
4804 <exception cref="T:System.ArgumentNullException">
4805 <paramref name="key" /> is <see langword="null" />.</exception>
4807 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.Parameter">
4808 <summary>Gets or sets the parameter used to create padding in the key exchange creation process.</summary>
4809 <returns>The parameter value.</returns>
4811 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.Parameters">
4812 <summary>Gets the parameters for the Optimal Asymmetric Encryption Padding (OAEP) key exchange.</summary>
4813 <returns>An XML string containing the parameters of the OAEP key exchange operation.</returns>
4815 <member name="P:System.Security.Cryptography.RSAOAEPKeyExchangeFormatter.Rng">
4816 <summary>Gets or sets the random number generator algorithm to use in the creation of the key exchange.</summary>
4817 <returns>The instance of a random number generator algorithm to use.</returns>
4819 <member name="T:System.Security.Cryptography.RSAParameters">
4820 <summary>Represents the standard parameters for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4822 <member name="F:System.Security.Cryptography.RSAParameters.D">
4823 <summary>Represents the <see langword="D" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4825 <member name="F:System.Security.Cryptography.RSAParameters.DP">
4826 <summary>Represents the <see langword="DP" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4828 <member name="F:System.Security.Cryptography.RSAParameters.DQ">
4829 <summary>Represents the <see langword="DQ" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4831 <member name="F:System.Security.Cryptography.RSAParameters.Exponent">
4832 <summary>Represents the <see langword="Exponent" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4834 <member name="F:System.Security.Cryptography.RSAParameters.InverseQ">
4835 <summary>Represents the <see langword="InverseQ" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4837 <member name="F:System.Security.Cryptography.RSAParameters.Modulus">
4838 <summary>Represents the <see langword="Modulus" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4840 <member name="F:System.Security.Cryptography.RSAParameters.P">
4841 <summary>Represents the <see langword="P" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4843 <member name="F:System.Security.Cryptography.RSAParameters.Q">
4844 <summary>Represents the <see langword="Q" /> parameter for the <see cref="T:System.Security.Cryptography.RSA" /> algorithm.</summary>
4846 <member name="T:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter">
4847 <summary>Decrypts the PKCS #1 key exchange data.</summary>
4849 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.#ctor">
4850 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter" /> class.</summary>
4852 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
4853 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter" /> class with the specified key.</summary>
4854 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
4855 <exception cref="T:System.ArgumentNullException">
4856 <paramref name="key" /> is <see langword="null" />.</exception>
4858 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.DecryptKeyExchange(System.Byte[])">
4859 <summary>Extracts secret information from the encrypted key exchange data.</summary>
4860 <param name="rgbIn">The key exchange data within which the secret information is hidden.</param>
4861 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is missing.</exception>
4862 <returns>The secret information derived from the key exchange data.</returns>
4864 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
4865 <summary>Sets the private key to use for decrypting the secret information.</summary>
4866 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
4867 <exception cref="T:System.ArgumentNullException">
4868 <paramref name="key" /> is <see langword="null" />.</exception>
4870 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.Parameters">
4871 <summary>Gets the parameters for the PKCS #1 key exchange.</summary>
4872 <returns>An XML string containing the parameters of the PKCS #1 key exchange operation.</returns>
4874 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter.RNG">
4875 <summary>Gets or sets the random number generator algorithm to use in the creation of the key exchange.</summary>
4876 <returns>The instance of a random number generator algorithm to use.</returns>
4878 <member name="T:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter">
4879 <summary>Creates the PKCS#1 key exchange data using <see cref="T:System.Security.Cryptography.RSA" />.</summary>
4881 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.#ctor">
4882 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter" /> class.</summary>
4884 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
4885 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter" /> class with the specified key.</summary>
4886 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
4887 <exception cref="T:System.ArgumentNullException">
4888 <paramref name="key" /> is <see langword="null" />.</exception>
4890 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(System.Byte[])">
4891 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
4892 <param name="rgbData">The secret information to be passed in the key exchange.</param>
4893 <exception cref="T:System.Security.Cryptography.CryptographicException">
4894 <paramref name="rgbData" /> is too big.</exception>
4895 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is <see langword="null" />.</exception>
4896 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
4898 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(System.Byte[],System.Type)">
4899 <summary>Creates the encrypted key exchange data from the specified input data.</summary>
4900 <param name="rgbData">The secret information to be passed in the key exchange.</param>
4901 <param name="symAlgType">This parameter is not used in the current version.</param>
4902 <returns>The encrypted key exchange data to be sent to the intended recipient.</returns>
4904 <member name="M:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
4905 <summary>Sets the public key to use for encrypting the key exchange data.</summary>
4906 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the public key.</param>
4907 <exception cref="T:System.ArgumentNullException">
4908 <paramref name="key" /> is <see langword="null" />.</exception>
4910 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.Parameters">
4911 <summary>Gets the parameters for the PKCS #1 key exchange.</summary>
4912 <returns>An XML string containing the parameters of the PKCS #1 key exchange operation.</returns>
4914 <member name="P:System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.Rng">
4915 <summary>Gets or sets the random number generator algorithm to use in the creation of the key exchange.</summary>
4916 <returns>The instance of a random number generator algorithm to use.</returns>
4918 <member name="T:System.Security.Cryptography.RSAPKCS1SignatureDeformatter">
4919 <summary>Verifies an <see cref="T:System.Security.Cryptography.RSA" /> PKCS #1 version 1.5 signature.</summary>
4921 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.#ctor">
4922 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureDeformatter" /> class.</summary>
4924 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
4925 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureDeformatter" /> class with the specified key.</summary>
4926 <param name="key">The instance of <see cref="T:System.Security.Cryptography.RSA" /> that holds the public key.</param>
4927 <exception cref="T:System.ArgumentNullException">
4928 <paramref name="key" /> is <see langword="null" />.</exception>
4930 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.SetHashAlgorithm(System.String)">
4931 <summary>Sets the hash algorithm to use for verifying the signature.</summary>
4932 <param name="strName">The name of the hash algorithm to use for verifying the signature.</param>
4934 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
4935 <summary>Sets the public key to use for verifying the signature.</summary>
4936 <param name="key">The instance of <see cref="T:System.Security.Cryptography.RSA" /> that holds the public key.</param>
4937 <exception cref="T:System.ArgumentNullException">
4938 <paramref name="key" /> is <see langword="null" />.</exception>
4940 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureDeformatter.VerifySignature(System.Byte[],System.Byte[])">
4941 <summary>Verifies the <see cref="T:System.Security.Cryptography.RSA" /> PKCS#1 signature for the specified data.</summary>
4942 <param name="rgbHash">The data signed with <paramref name="rgbSignature" />.</param>
4943 <param name="rgbSignature">The signature to be verified for <paramref name="rgbHash" />.</param>
4944 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is <see langword="null" />.
4948 The hash algorithm is <see langword="null" />.</exception>
4949 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbHash" /> parameter is <see langword="null" />.
4953 The <paramref name="rgbSignature" /> parameter is <see langword="null" />.</exception>
4955 <see langword="true" /> if <paramref name="rgbSignature" /> matches the signature computed using the specified hash algorithm and key on <paramref name="rgbHash" />; otherwise, <see langword="false" />.</returns>
4957 <member name="T:System.Security.Cryptography.RSAPKCS1SignatureFormatter">
4958 <summary>Creates an <see cref="T:System.Security.Cryptography.RSA" /> PKCS #1 version 1.5 signature.</summary>
4960 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.#ctor">
4961 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureFormatter" /> class.</summary>
4963 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.#ctor(System.Security.Cryptography.AsymmetricAlgorithm)">
4964 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAPKCS1SignatureFormatter" /> class with the specified key.</summary>
4965 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
4966 <exception cref="T:System.ArgumentNullException">
4967 <paramref name="key" /> is <see langword="null" />.</exception>
4969 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.CreateSignature(System.Byte[])">
4970 <summary>Creates the <see cref="T:System.Security.Cryptography.RSA" /> PKCS #1 signature for the specified data.</summary>
4971 <param name="rgbHash">The data to be signed.</param>
4972 <exception cref="T:System.Security.Cryptography.CryptographicUnexpectedOperationException">The key is <see langword="null" />.
4976 The hash algorithm is <see langword="null" />.</exception>
4977 <exception cref="T:System.ArgumentNullException">The <paramref name="rgbHash" /> parameter is <see langword="null" />.</exception>
4978 <returns>The digital signature for <paramref name="rgbHash" />.</returns>
4980 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.SetHashAlgorithm(System.String)">
4981 <summary>Sets the hash algorithm to use for creating the signature.</summary>
4982 <param name="strName">The name of the hash algorithm to use for creating the signature.</param>
4984 <member name="M:System.Security.Cryptography.RSAPKCS1SignatureFormatter.SetKey(System.Security.Cryptography.AsymmetricAlgorithm)">
4985 <summary>Sets the private key to use for creating the signature.</summary>
4986 <param name="key">The instance of the <see cref="T:System.Security.Cryptography.RSA" /> algorithm that holds the private key.</param>
4987 <exception cref="T:System.ArgumentNullException">
4988 <paramref name="key" /> is <see langword="null" />.</exception>
4990 <member name="T:System.Security.Cryptography.RSASignaturePadding">
4991 <summary>Specifies the padding mode and parameters to use with RSA signature creation or verification operations.</summary>
4993 <member name="M:System.Security.Cryptography.RSASignaturePadding.Equals(System.Object)">
4994 <summary>Returns a value that indicates whether this instance is equal to a specified object.</summary>
4995 <param name="obj">The object to compare with the current instance.</param>
4997 <see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
4999 <member name="M:System.Security.Cryptography.RSASignaturePadding.Equals(System.Security.Cryptography.RSASignaturePadding)">
5000 <summary>Returns a value that indicates whether this instance is equal to a specified <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> object.</summary>
5001 <param name="other">The object to compare with the current instance.</param>
5003 <see langword="true" /> if the specified object is equal to the current object; otherwise, <see langword="false" />.</returns>
5005 <member name="M:System.Security.Cryptography.RSASignaturePadding.GetHashCode">
5006 <summary>Returns the hash code for this <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</summary>
5007 <returns>The hash code for this <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</returns>
5009 <member name="M:System.Security.Cryptography.RSASignaturePadding.op_Equality(System.Security.Cryptography.RSASignaturePadding,System.Security.Cryptography.RSASignaturePadding)">
5010 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> objects are equal.</summary>
5011 <param name="left">The first object to compare.</param>
5012 <param name="right">The second object to compare.</param>
5014 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are equal; otherwise, <see langword="false" />.</returns>
5016 <member name="M:System.Security.Cryptography.RSASignaturePadding.op_Inequality(System.Security.Cryptography.RSASignaturePadding,System.Security.Cryptography.RSASignaturePadding)">
5017 <summary>Indicates whether two specified <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> objects are unequal.</summary>
5018 <param name="left">The first object to compare.</param>
5019 <param name="right">The second object to compare.</param>
5021 <see langword="true" /> if <see langword="left" /> and <see langword="right" /> are unequal; otherwise, <see langword="false" />.</returns>
5023 <member name="M:System.Security.Cryptography.RSASignaturePadding.ToString">
5024 <summary>Returns the string representation of the current <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</summary>
5025 <returns>The string representation of the current object.</returns>
5027 <member name="P:System.Security.Cryptography.RSASignaturePadding.Mode">
5028 <summary>Gets the padding mode of this <see cref="T:System.Security.Cryptography.RSASignaturePadding" /> instance.</summary>
5029 <returns>The padding mode (either <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pkcs1" /> or <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pss" />) of this instance.</returns>
5031 <member name="P:System.Security.Cryptography.RSASignaturePadding.Pkcs1">
5032 <summary>Gets an object that uses the PKCS #1 v1.5 padding mode.</summary>
5033 <returns>An object that uses the <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pkcs1" /> padding mode.</returns>
5035 <member name="P:System.Security.Cryptography.RSASignaturePadding.Pss">
5036 <summary>Gets an object that uses PSS padding mode.</summary>
5037 <returns>An object that uses the <see cref="F:System.Security.Cryptography.RSASignaturePaddingMode.Pss" /> padding mode with the number of salt bytes equal to the size of the hash.</returns>
5039 <member name="T:System.Security.Cryptography.RSASignaturePaddingMode">
5040 <summary>Specifies the padding mode to use with RSA signature creation or verification operations.</summary>
5042 <member name="F:System.Security.Cryptography.RSASignaturePaddingMode.Pkcs1">
5043 <summary>PKCS #1 v1.5.</summary>
5045 <member name="F:System.Security.Cryptography.RSASignaturePaddingMode.Pss">
5046 <summary>Probabilistic Signature Scheme.</summary>
5048 <member name="T:System.Security.Cryptography.SHA1">
5049 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA1" /> hash for the input data.</summary>
5051 <member name="M:System.Security.Cryptography.SHA1.#ctor">
5052 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA1" />.</summary>
5053 <exception cref="T:System.InvalidOperationException">The policy on this object is not compliant with the FIPS algorithm.</exception>
5055 <member name="M:System.Security.Cryptography.SHA1.Create">
5056 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA1" />.</summary>
5057 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA1" />.</returns>
5059 <member name="M:System.Security.Cryptography.SHA1.Create(System.String)">
5060 <summary>Creates an instance of the specified implementation of <see cref="T:System.Security.Cryptography.SHA1" />.</summary>
5061 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA1" /> to be used.</param>
5062 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA1" /> using the specified implementation.</returns>
5064 <member name="M:System.Security.Cryptography.SHA1.HashData(System.Byte[])">
5065 <summary>Computes the hash of data using the SHA1 algorithm.</summary>
5066 <param name="source">The data to hash.</param>
5067 <exception cref="T:System.ArgumentNullException">
5068 <paramref name="source" /> is <see langword="null" />.</exception>
5069 <returns>The hash of the data.</returns>
5071 <member name="M:System.Security.Cryptography.SHA1.HashData(System.ReadOnlySpan{System.Byte})">
5072 <summary>Computes the hash of data using the SHA1 algorithm.</summary>
5073 <param name="source">The data to hash.</param>
5074 <returns>The hash of the data.</returns>
5076 <member name="M:System.Security.Cryptography.SHA1.HashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
5077 <summary>Computes the hash of data using the SHA1 algorithm.</summary>
5078 <param name="source">The data to hash.</param>
5079 <param name="destination">The buffer to receive the hash value.</param>
5080 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA1 algorithm always produces a 160-bit hash, or 20 bytes.</exception>
5081 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
5083 <member name="M:System.Security.Cryptography.SHA1.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
5084 <summary>Attempts to compute the hash of data using the SHA1 algorithm.</summary>
5085 <param name="source">The data to hash.</param>
5086 <param name="destination">The buffer to receive the hash value.</param>
5087 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.</param>
5089 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
5091 <member name="T:System.Security.Cryptography.SHA1Managed">
5092 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA1" /> hash for the input data using the managed library.</summary>
5094 <member name="M:System.Security.Cryptography.SHA1Managed.#ctor">
5095 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA1Managed" /> class.</summary>
5096 <exception cref="T:System.InvalidOperationException">This class is not compliant with the FIPS algorithm.</exception>
5098 <member name="M:System.Security.Cryptography.SHA1Managed.Initialize">
5099 <summary>Initializes an instance of <see cref="T:System.Security.Cryptography.SHA1Managed" />.</summary>
5101 <member name="T:System.Security.Cryptography.SHA256">
5102 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA256" /> hash for the input data.</summary>
5104 <member name="M:System.Security.Cryptography.SHA256.#ctor">
5105 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA256" />.</summary>
5107 <member name="M:System.Security.Cryptography.SHA256.Create">
5108 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA256" />.</summary>
5109 <exception cref="T:System.Reflection.TargetInvocationException">On the .NET Framework 4.6.1 and earlier versions only: The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
5110 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA256" />. On the .NET Framework, this method creates an instance of the <see cref="T:System.Security.Cryptography.SHA256Managed" /> class if FIPS mode is not active; if FIPS mode is active, it creates an instance of the <see cref="T:System.Security.Cryptography.SHA256Cng" /> class. On .NET Core, it returns an instance of a private class derived from <see cref="T:System.Security.Cryptography.SHA256" />.</returns>
5112 <member name="M:System.Security.Cryptography.SHA256.Create(System.String)">
5113 <summary>Creates an instance of a specified implementation of <see cref="T:System.Security.Cryptography.SHA256" />.</summary>
5114 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA256" /> to be used.</param>
5115 <exception cref="T:System.Reflection.TargetInvocationException">On the .NET Framework only: FIPS mode is enabled, but <paramref name="hashName" /> requests <see cref="T:System.Security.Cryptography.SHA256Managed" />, which is not FIPS compatible.</exception>
5116 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA256" /> using the specified implementation.</returns>
5118 <member name="M:System.Security.Cryptography.SHA256.HashData(System.Byte[])">
5119 <summary>Computes the hash of data using the SHA256 algorithm.</summary>
5120 <param name="source">The data to hash.</param>
5121 <exception cref="T:System.ArgumentNullException">
5122 <paramref name="source" /> is <see langword="null" />.</exception>
5123 <returns>The hash of the data.</returns>
5125 <member name="M:System.Security.Cryptography.SHA256.HashData(System.ReadOnlySpan{System.Byte})">
5126 <summary>Computes the hash of data using the SHA256 algorithm.</summary>
5127 <param name="source">The data to hash.</param>
5128 <returns>The hash of the data.</returns>
5130 <member name="M:System.Security.Cryptography.SHA256.HashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
5131 <summary>Computes the hash of data using the SHA256 algorithm.</summary>
5132 <param name="source">The data to hash.</param>
5133 <param name="destination">The buffer to receive the hash value.</param>
5134 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA256 algorithm always produces a 256-bit hash, or 32 bytes.</exception>
5135 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
5137 <member name="M:System.Security.Cryptography.SHA256.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
5138 <summary>Attempts to compute the hash of data using the SHA256 algorithm.</summary>
5139 <param name="source">The data to hash.</param>
5140 <param name="destination">The buffer to receive the hash value.</param>
5141 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.</param>
5143 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
5145 <member name="T:System.Security.Cryptography.SHA256Managed">
5146 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA256" /> hash for the input data using the managed library.</summary>
5148 <member name="M:System.Security.Cryptography.SHA256Managed.#ctor">
5149 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA256Managed" /> class using the managed library.</summary>
5150 <exception cref="T:System.InvalidOperationException">The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
5152 <member name="M:System.Security.Cryptography.SHA256Managed.Initialize">
5153 <summary>Initializes an instance of <see cref="T:System.Security.Cryptography.SHA256Managed" />.</summary>
5155 <member name="T:System.Security.Cryptography.SHA384">
5156 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA384" /> hash for the input data.</summary>
5158 <member name="M:System.Security.Cryptography.SHA384.#ctor">
5159 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA384" />.</summary>
5161 <member name="M:System.Security.Cryptography.SHA384.Create">
5162 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA384" />.</summary>
5163 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
5164 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA384" />.</returns>
5166 <member name="M:System.Security.Cryptography.SHA384.Create(System.String)">
5167 <summary>Creates an instance of a specified implementation of <see cref="T:System.Security.Cryptography.SHA384" />.</summary>
5168 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA384" /> to be used.</param>
5169 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="hashName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
5170 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA384" /> using the specified implementation.</returns>
5172 <member name="M:System.Security.Cryptography.SHA384.HashData(System.Byte[])">
5173 <summary>Computes the hash of data using the SHA384 algorithm.</summary>
5174 <param name="source">The data to hash.</param>
5175 <exception cref="T:System.ArgumentNullException">
5176 <paramref name="source" /> is <see langword="null" />.</exception>
5177 <returns>The hash of the data.</returns>
5179 <member name="M:System.Security.Cryptography.SHA384.HashData(System.ReadOnlySpan{System.Byte})">
5180 <summary>Computes the hash of data using the SHA384 algorithm.</summary>
5181 <param name="source">The data to hash.</param>
5182 <returns>The hash of the data.</returns>
5184 <member name="M:System.Security.Cryptography.SHA384.HashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
5185 <summary>Computes the hash of data using the SHA384 algorithm.</summary>
5186 <param name="source">The data to hash.</param>
5187 <param name="destination">The buffer to receive the hash value.</param>
5188 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA384 algorithm always produces a 384-bit hash, or 48 bytes.</exception>
5189 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
5191 <member name="M:System.Security.Cryptography.SHA384.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
5192 <summary>Attempts to compute the hash of data using the SHA384 algorithm.</summary>
5193 <param name="source">The data to hash.</param>
5194 <param name="destination">The buffer to receive the hash value.</param>
5195 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.</param>
5197 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
5199 <member name="T:System.Security.Cryptography.SHA384Managed">
5200 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA384" /> hash for the input data using the managed library.</summary>
5202 <member name="M:System.Security.Cryptography.SHA384Managed.#ctor">
5203 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA384Managed" /> class.</summary>
5204 <exception cref="T:System.InvalidOperationException">The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
5206 <member name="M:System.Security.Cryptography.SHA384Managed.Initialize">
5207 <summary>Initializes an instance of <see cref="T:System.Security.Cryptography.SHA384Managed" />.</summary>
5209 <member name="T:System.Security.Cryptography.SHA512">
5210 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA512" /> hash for the input data.</summary>
5212 <member name="M:System.Security.Cryptography.SHA512.#ctor">
5213 <summary>Initializes a new instance of <see cref="T:System.Security.Cryptography.SHA512" />.</summary>
5215 <member name="M:System.Security.Cryptography.SHA512.Create">
5216 <summary>Creates an instance of the default implementation of <see cref="T:System.Security.Cryptography.SHA512" />.</summary>
5217 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
5218 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA512" />.</returns>
5220 <member name="M:System.Security.Cryptography.SHA512.Create(System.String)">
5221 <summary>Creates an instance of a specified implementation of <see cref="T:System.Security.Cryptography.SHA512" />.</summary>
5222 <param name="hashName">The name of the specific implementation of <see cref="T:System.Security.Cryptography.SHA512" /> to be used.</param>
5223 <exception cref="T:System.Reflection.TargetInvocationException">The algorithm described by the <paramref name="hashName" /> parameter was used with Federal Information Processing Standards (FIPS) mode enabled, but is not FIPS compatible.</exception>
5224 <returns>A new instance of <see cref="T:System.Security.Cryptography.SHA512" /> using the specified implementation.</returns>
5226 <member name="M:System.Security.Cryptography.SHA512.HashData(System.Byte[])">
5227 <summary>Computes the hash of data using the SHA512 algorithm.</summary>
5228 <param name="source">The data to hash.</param>
5229 <exception cref="T:System.ArgumentNullException">
5230 <paramref name="source" /> is <see langword="null" />.</exception>
5231 <returns>The hash of the data.</returns>
5233 <member name="M:System.Security.Cryptography.SHA512.HashData(System.ReadOnlySpan{System.Byte})">
5234 <summary>Computes the hash of data using the SHA512 algorithm.</summary>
5235 <param name="source">The data to hash.</param>
5236 <returns>The hash of the data.</returns>
5238 <member name="M:System.Security.Cryptography.SHA512.HashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
5239 <summary>Computes the hash of data using the SHA512 algorithm.</summary>
5240 <param name="source">The data to hash.</param>
5241 <param name="destination">The buffer to receive the hash value.</param>
5242 <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination" /> is too small to hold the calculated hash size. The SHA1 algorithm always produces a 512-bit hash, or 64 bytes.</exception>
5243 <returns>The total number of bytes written to <paramref name="destination" />.</returns>
5245 <member name="M:System.Security.Cryptography.SHA512.TryHashData(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
5246 <summary>Attempts to compute the hash of data using the SHA512 algorithm.</summary>
5247 <param name="source">The data to hash.</param>
5248 <param name="destination">The buffer to receive the hash value.</param>
5249 <param name="bytesWritten">When this method returns, the total number of bytes written into <paramref name="destination" />.</param>
5251 <see langword="false" /> if <paramref name="destination" /> is too small to hold the calculated hash, <see langword="true" /> otherwise.</returns>
5253 <member name="T:System.Security.Cryptography.SHA512Managed">
5254 <summary>Computes the <see cref="T:System.Security.Cryptography.SHA512" /> hash algorithm for the input data using the managed library.</summary>
5256 <member name="M:System.Security.Cryptography.SHA512Managed.#ctor">
5257 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SHA512Managed" /> class.</summary>
5258 <exception cref="T:System.InvalidOperationException">The Federal Information Processing Standards (FIPS) security setting is enabled. This implementation is not part of the Windows Platform FIPS-validated cryptographic algorithms.</exception>
5260 <member name="M:System.Security.Cryptography.SHA512Managed.Initialize">
5261 <summary>Initializes an instance of the <see cref="T:System.Security.Cryptography.SHA512Managed" /> class using the managed library.</summary>
5263 <member name="T:System.Security.Cryptography.SignatureDescription">
5264 <summary>Contains information about the properties of a digital signature.</summary>
5266 <member name="M:System.Security.Cryptography.SignatureDescription.#ctor">
5267 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SignatureDescription" /> class.</summary>
5269 <member name="M:System.Security.Cryptography.SignatureDescription.#ctor(System.Security.SecurityElement)">
5270 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SignatureDescription" /> class from the specified <see cref="T:System.Security.SecurityElement" />.</summary>
5271 <param name="el">The <see cref="T:System.Security.SecurityElement" /> from which to get the algorithms for the signature description.</param>
5272 <exception cref="T:System.ArgumentNullException">The <paramref name="el" /> parameter is <see langword="null" />.</exception>
5274 <member name="M:System.Security.Cryptography.SignatureDescription.CreateDeformatter(System.Security.Cryptography.AsymmetricAlgorithm)">
5275 <summary>Creates an <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" /> instance with the specified key using the <see cref="P:System.Security.Cryptography.SignatureDescription.DeformatterAlgorithm" /> property.</summary>
5276 <param name="key">The key to use in the <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" />.</param>
5277 <returns>The newly created <see cref="T:System.Security.Cryptography.AsymmetricSignatureDeformatter" /> instance.</returns>
5279 <member name="M:System.Security.Cryptography.SignatureDescription.CreateDigest">
5280 <summary>Creates a <see cref="T:System.Security.Cryptography.HashAlgorithm" /> instance using the <see cref="P:System.Security.Cryptography.SignatureDescription.DigestAlgorithm" /> property.</summary>
5281 <returns>The newly created <see cref="T:System.Security.Cryptography.HashAlgorithm" /> instance.</returns>
5283 <member name="M:System.Security.Cryptography.SignatureDescription.CreateFormatter(System.Security.Cryptography.AsymmetricAlgorithm)">
5284 <summary>Creates an <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" /> instance with the specified key using the <see cref="P:System.Security.Cryptography.SignatureDescription.FormatterAlgorithm" /> property.</summary>
5285 <param name="key">The key to use in the <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" />.</param>
5286 <returns>The newly created <see cref="T:System.Security.Cryptography.AsymmetricSignatureFormatter" /> instance.</returns>
5288 <member name="P:System.Security.Cryptography.SignatureDescription.DeformatterAlgorithm">
5289 <summary>Gets or sets the deformatter algorithm for the signature description.</summary>
5290 <returns>The deformatter algorithm for the signature description.</returns>
5292 <member name="P:System.Security.Cryptography.SignatureDescription.DigestAlgorithm">
5293 <summary>Gets or sets the digest algorithm for the signature description.</summary>
5294 <returns>The digest algorithm for the signature description.</returns>
5296 <member name="P:System.Security.Cryptography.SignatureDescription.FormatterAlgorithm">
5297 <summary>Gets or sets the formatter algorithm for the signature description.</summary>
5298 <returns>The formatter algorithm for the signature description.</returns>
5300 <member name="P:System.Security.Cryptography.SignatureDescription.KeyAlgorithm">
5301 <summary>Gets or sets the key algorithm for the signature description.</summary>
5302 <returns>The key algorithm for the signature description.</returns>
5304 <member name="T:System.Security.Cryptography.TripleDES">
5305 <summary>Represents the base class for Triple Data Encryption Standard algorithms from which all <see cref="T:System.Security.Cryptography.TripleDES" /> implementations must derive.</summary>
5307 <member name="M:System.Security.Cryptography.TripleDES.#ctor">
5308 <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.TripleDES" /> class.</summary>
5310 <member name="M:System.Security.Cryptography.TripleDES.Create">
5311 <summary>Creates an instance of a cryptographic object to perform the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</summary>
5312 <returns>An instance of a cryptographic object.</returns>
5314 <member name="M:System.Security.Cryptography.TripleDES.Create(System.String)">
5315 <summary>Creates an instance of a cryptographic object to perform the specified implementation of the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</summary>
5316 <param name="str">The name of the specific implementation of <see cref="T:System.Security.Cryptography.TripleDES" /> to use.</param>
5317 <returns>An instance of a cryptographic object.</returns>
5319 <member name="M:System.Security.Cryptography.TripleDES.IsWeakKey(System.Byte[])">
5320 <summary>Determines whether the specified key is weak.</summary>
5321 <param name="rgbKey">The secret key to test for weakness.</param>
5322 <exception cref="T:System.Security.Cryptography.CryptographicException">The size of the <paramref name="rgbKey" /> parameter is not valid.</exception>
5324 <see langword="true" /> if the key is weak; otherwise, <see langword="false" />.</returns>
5326 <member name="P:System.Security.Cryptography.TripleDES.Key">
5327 <summary>Gets or sets the secret key for the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</summary>
5328 <exception cref="T:System.ArgumentNullException">An attempt was made to set the key to <see langword="null" />.</exception>
5329 <exception cref="T:System.Security.Cryptography.CryptographicException">An attempt was made to set a key whose length is invalid.
5333 An attempt was made to set a weak key (see <see cref="M:System.Security.Cryptography.TripleDES.IsWeakKey(System.Byte[])" />).</exception>
5334 <returns>The secret key for the <see cref="T:System.Security.Cryptography.TripleDES" /> algorithm.</returns>