81293cd37b3542e4df18b8c1230d1ab13e0fa775
[platform/core/csapi/tizenfx.git] / pkg / Tizen.NET.API11 / build / tizen11.0 / ref / System.Security.Cryptography.OpenSsl.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <doc>
3   <assembly>
4     <name>System.Security.Cryptography.OpenSsl</name>
5   </assembly>
6   <members>
7     <member name="T:System.Security.Cryptography.DSAOpenSsl">
8       <summary>Provides an implementation of the Digital Signature Algorithm (DSA) backed by OpenSSL.</summary>
9     </member>
10     <member name="M:System.Security.Cryptography.DSAOpenSsl.#ctor">
11       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSAOpenSsl" /> class with a default key size of 2048 bits.</summary>
12     </member>
13     <member name="M:System.Security.Cryptography.DSAOpenSsl.#ctor(System.Int32)">
14       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSAOpenSsl" /> class with a specified key size.</summary>
15       <param name="keySize">The size of the key to generate, when a key is needed.</param>
16       <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="keySize" /> value is not supported by this implementation.</exception>
17     </member>
18     <member name="M:System.Security.Cryptography.DSAOpenSsl.#ctor(System.IntPtr)">
19       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSAOpenSsl" /> class from an existing OpenSSL key represented as a <c>DSA*</c>.</summary>
20       <param name="handle">The OpenSSL <c>DSA*</c> value to use as the key.</param>
21       <exception cref="T:System.ArgumentException">
22         <paramref name="handle" /> is <see cref="F:System.IntPtr.Zero" />.</exception>
23       <exception cref="T:System.Security.Cryptography.CryptographicException">
24         <paramref name="handle" /> is not a valid <c>DSA*</c>.</exception>
25     </member>
26     <member name="M:System.Security.Cryptography.DSAOpenSsl.#ctor(System.Security.Cryptography.DSAParameters)">
27       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSAOpenSsl" /> class and imports parameters from an existing key.</summary>
28       <param name="parameters">The key parameters to import.</param>
29       <exception cref="T:System.ArgumentException">
30         <paramref name="parameters" /> is missing required fields.
31
32 -or-
33
34 <paramref name="parameters" /> has fields with inconsistent lengths for a valid key.</exception>
35       <exception cref="T:System.Security.Cryptography.CryptographicException">
36         <paramref name="parameters" /> does not represent a valid DSA key parameter set.</exception>
37     </member>
38     <member name="M:System.Security.Cryptography.DSAOpenSsl.#ctor(System.Security.Cryptography.SafeEvpPKeyHandle)">
39       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.DSAOpenSsl" /> class from an existing OpenSSL key represented as an <c>EVP_PKEY*</c>.</summary>
40       <param name="pkeyHandle">The OpenSSL <c>EVP_PKEY*</c> value to use as the key, represented as a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" />.</param>
41       <exception cref="T:System.ArgumentException">
42         <paramref name="pkeyHandle" /> represents an invalid handle.</exception>
43       <exception cref="T:System.ArgumentNullException">
44         <paramref name="pkeyHandle" /> is <see langword="null" />.</exception>
45       <exception cref="T:System.Security.Cryptography.CryptographicException">
46         <paramref name="pkeyHandle" /> does not represent a DSA key.</exception>
47     </member>
48     <member name="M:System.Security.Cryptography.DSAOpenSsl.CreateSignature(System.Byte[])">
49       <summary>When overridden in a derived class, creates the <see cref="T:System.Security.Cryptography.DSA" /> signature for the specified hash value.</summary>
50       <param name="rgbHash">The hash value to be signed.</param>
51       <exception cref="T:System.ArgumentNullException">
52         <paramref name="rgbHash" /> is <see langword="null" />.</exception>
53       <exception cref="T:System.Security.Cryptography.CryptographicException">This instance represents only a public key.
54
55 -or-
56
57 An error occurred during signature creation.</exception>
58       <returns>The digital signature for the specified hash value.</returns>
59     </member>
60     <member name="M:System.Security.Cryptography.DSAOpenSsl.DuplicateKeyHandle">
61       <summary>Gets a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</summary>
62       <returns>A <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</returns>
63     </member>
64     <member name="M:System.Security.Cryptography.DSAOpenSsl.ExportParameters(System.Boolean)">
65       <summary>Exports the <see cref="T:System.Security.Cryptography.DSAParameters" /> representing this key.</summary>
66       <param name="includePrivateParameters">
67         <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
68       <exception cref="T:System.Security.Cryptography.CryptographicException">
69         <paramref name="includePrivateParameters" /> is <see langword="true" />, but this instance represents only a DSA public key.</exception>
70       <returns>The DSA parameters for the current cryptographic key.</returns>
71     </member>
72     <member name="M:System.Security.Cryptography.DSAOpenSsl.ImportParameters(System.Security.Cryptography.DSAParameters)">
73       <summary>Imports the specified <see cref="T:System.Security.Cryptography.DSAParameters" />.</summary>
74       <param name="parameters">The key parameters to import.</param>
75       <exception cref="T:System.ArgumentException">
76         <paramref name="parameters" /> is missing required fields.
77
78 -or-
79
80 <paramref name="parameters" /> has fields with inconsistent lengths for a valid key.</exception>
81       <exception cref="T:System.Security.Cryptography.CryptographicException">
82         <paramref name="parameters" /> does not represent a valid DSA key parameter set.</exception>
83     </member>
84     <member name="M:System.Security.Cryptography.DSAOpenSsl.VerifySignature(System.Byte[],System.Byte[])">
85       <summary>Verifies if the specified digital signature matches the specified hash.</summary>
86       <param name="rgbHash">The signed hash.</param>
87       <param name="rgbSignature">The digital signature to be verified.</param>
88       <exception cref="T:System.ArgumentNullException">The <paramref name="rgbHash" /> or <paramref name="rgbSignature" /> parameters are <see langword="null" />.</exception>
89       <returns>
90         <see langword="true" /> if <paramref name="rgbSignature" /> matches the signature computed using the specified hash; otherwise, <see langword="false" />.</returns>
91     </member>
92     <member name="P:System.Security.Cryptography.DSAOpenSsl.KeySize">
93       <summary>Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.</summary>
94       <exception cref="T:System.Security.Cryptography.CryptographicException">
95         <paramref name="value" /> is not permitted by <see cref="P:System.Security.Cryptography.DSAOpenSsl.LegalKeySizes" />.</exception>
96       <returns>The size, in bits, of the key modulus used by the asymmetric algorithm.</returns>
97     </member>
98     <member name="P:System.Security.Cryptography.DSAOpenSsl.LegalKeySizes">
99       <summary>Gets the key sizes, in bits, that are supported by the DSA algorithm.</summary>
100       <returns>An array that contains the key sizes supported by the algorithm.</returns>
101     </member>
102     <member name="T:System.Security.Cryptography.ECDiffieHellmanOpenSsl">
103       <summary>Provides an implementation of the Elliptic Curve Diffie-Hellman (ECDH) algorithm backed by OpenSSL.</summary>
104     </member>
105     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.#ctor">
106       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanOpenSsl" /> class with a default curve of NIST P-521/secp521r1.</summary>
107     </member>
108     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.#ctor(System.Int32)">
109       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanOpenSsl" /> class defaulting to the NIST prime curve of the specified size.</summary>
110       <param name="keySize">The size of the key to generate, when a key is needed.</param>
111       <exception cref="T:System.Security.Cryptography.CryptographicException">The <paramref name="keySize" /> value is not supported by this implementation.</exception>
112     </member>
113     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.#ctor(System.IntPtr)">
114       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanOpenSsl" /> class from an existing OpenSSL key represented as an <c>EC_KEY*</c>.</summary>
115       <param name="handle">The OpenSSL <c>EC_KEY*</c> value to use as the key.</param>
116       <exception cref="T:System.ArgumentException">
117         <paramref name="handle" /> is <see cref="F:System.IntPtr.Zero" />.</exception>
118       <exception cref="T:System.Security.Cryptography.CryptographicException">
119         <paramref name="handle" /> is not a valid <c>EC_KEY*</c>.</exception>
120     </member>
121     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.#ctor(System.Security.Cryptography.ECCurve)">
122       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanOpenSsl" /> class and generates a new key on the specified curve.</summary>
123       <param name="curve">The curve used to generate an ephemeral public/private key pair.</param>
124       <exception cref="T:System.Security.Cryptography.CryptographicException">
125         <paramref name="curve" /> does not validate.</exception>
126     </member>
127     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.#ctor(System.Security.Cryptography.SafeEvpPKeyHandle)">
128       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanOpenSsl" /> class from an existing OpenSSL key represented as an <c>EVP_PKEY*</c>.</summary>
129       <param name="pkeyHandle">The OpenSSL <c>EVP_PKEY*</c> value to use as the key, represented as a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" />.</param>
130       <exception cref="T:System.ArgumentException">
131         <paramref name="pkeyHandle" /> represents an invalid handle.</exception>
132       <exception cref="T:System.ArgumentNullException">
133         <paramref name="pkeyHandle" /> is <see langword="null" />.</exception>
134       <exception cref="T:System.Security.Cryptography.CryptographicException">
135         <paramref name="pkeyHandle" /> does not represent a elliptic curve (EC) key.</exception>
136     </member>
137     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.DeriveKeyFromHash(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[])">
138       <summary>Performs key derivation using a specified hash algorithm with optional prepended or appended data.</summary>
139       <param name="otherPartyPublicKey">The other party's public key.</param>
140       <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
141       <param name="secretPrepend">A value to prepend to the derived secret before hashing.</param>
142       <param name="secretAppend">A value to append to the derived secret before hashing.</param>
143       <exception cref="T:System.ArgumentException">
144           The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.
145
146 -or-
147
148 The <paramref name="hashAlgorithm" /> parameter does not specify a hash.</exception>
149       <exception cref="T:System.ArgumentNullException">
150         <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
151       <exception cref="T:System.Security.Cryptography.CryptographicException">
152           The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
153
154 -or-
155
156 This instance represents only a public key.</exception>
157       <returns>The hash of the shared secret after prepending or appending data as requested.</returns>
158     </member>
159     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.DeriveKeyFromHmac(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Security.Cryptography.HashAlgorithmName,System.Byte[],System.Byte[],System.Byte[])">
160       <summary>Performs key derivation using a specified HMAC (Hash-based Message Authentication Code) algorithm with optional prepended or appended data.</summary>
161       <param name="otherPartyPublicKey">The other party's public key.</param>
162       <param name="hashAlgorithm">The hash algorithm to use to derive the key material.</param>
163       <param name="hmacKey">The key for the HMAC.</param>
164       <param name="secretPrepend">A value to prepend to the derived secret before hashing.</param>
165       <param name="secretAppend">A value to append to the derived secret before hashing.</param>
166       <exception cref="T:System.ArgumentException">
167           The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.
168
169 -or-
170
171 The <paramref name="hashAlgorithm" /> parameter does not specify a hash.</exception>
172       <exception cref="T:System.ArgumentNullException">
173         <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
174       <exception cref="T:System.Security.Cryptography.CryptographicException">
175           The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
176
177 -or-
178
179 This instance represents only a public key.</exception>
180       <returns>The HMAC of the shared secret after prepending or appending data as requested.</returns>
181     </member>
182     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.DeriveKeyMaterial(System.Security.Cryptography.ECDiffieHellmanPublicKey)">
183       <summary>Performs a key derivation on the shared secret.</summary>
184       <param name="otherPartyPublicKey">The other party's public key.</param>
185       <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.</exception>
186       <exception cref="T:System.ArgumentNullException">
187         <paramref name="otherPartyPublicKey" /> is <see langword="null" />.</exception>
188       <exception cref="T:System.Security.Cryptography.CryptographicException">The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
189
190 -or-
191
192 This instance represents only a public key.</exception>
193       <returns>The SHA-256 hash of the shared secret.</returns>
194     </member>
195     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.DeriveKeyTls(System.Security.Cryptography.ECDiffieHellmanPublicKey,System.Byte[],System.Byte[])">
196       <summary>Performs key derivation using the TLS (Transport Layer Security) 1.1 PRF (Pseudo-Random Function).</summary>
197       <param name="otherPartyPublicKey">The other party's public key.</param>
198       <param name="prfLabel">The ASCII-encoded PRF label.</param>
199       <param name="prfSeed">The 64-byte PRF seed.</param>
200       <exception cref="T:System.NotImplementedException">A derived class must override this method.</exception>
201       <exception cref="T:System.ArgumentException">The curve used by <paramref name="otherPartyPublicKey" /> has a different size than the curve from this key.</exception>
202       <exception cref="T:System.ArgumentNullException">
203         <paramref name="otherPartyPublicKey" />, <paramref name="prfLabel" /> or <paramref name="prfSeed" /> is <see langword="null" />.</exception>
204       <exception cref="T:System.Security.Cryptography.CryptographicException">
205         <paramref name="prfSeed" /> is not exactly 64 bytes in length.
206
207 -or-
208
209 The curve used by <paramref name="otherPartyPublicKey" /> is different than the curve from this key.
210
211 -or-
212
213 This instance represents only a public key.</exception>
214       <returns>The first 48 bytes from the TLS 1.1 PRF, using the shared secret as the key.</returns>
215     </member>
216     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.DuplicateKeyHandle">
217       <summary>Gets a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</summary>
218       <returns>A <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</returns>
219     </member>
220     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.ExportExplicitParameters(System.Boolean)">
221       <summary>Exports either the public or the public and private key information using the explicit curve form from the current 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>
222       <param name="includePrivateParameters">
223         <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
224       <exception cref="T:System.Security.Cryptography.CryptographicException">The method cannot obtain curve values.</exception>
225       <returns>An object that represents the point on the curve for this key, using the explicit curve format.</returns>
226     </member>
227     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.ExportParameters(System.Boolean)">
228       <summary>Exports the key used by the <see cref="T:System.Security.Cryptography.ECCurve" /> object into an <see cref="T:System.Security.Cryptography.ECParameters" /> object.</summary>
229       <param name="includePrivateParameters">
230         <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
231       <exception cref="T:System.Security.Cryptography.CryptographicException">The method cannot obtain curve values.</exception>
232       <returns>The key and named curve parameters used by the <see cref="T:System.Security.Cryptography.ECCurve" /> object.</returns>
233     </member>
234     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.GenerateKey(System.Security.Cryptography.ECCurve)">
235       <summary>Generates a new ephemeral public/private key pair for the specified curve.</summary>
236       <param name="curve">The curve used to generate an ephemeral public/private key pair.</param>
237       <exception cref="T:System.Security.Cryptography.CryptographicException">
238         <paramref name="curve" /> does not validate.</exception>
239     </member>
240     <member name="M:System.Security.Cryptography.ECDiffieHellmanOpenSsl.ImportParameters(System.Security.Cryptography.ECParameters)">
241       <summary>Imports the specified parameters for an <see cref="T:System.Security.Cryptography.ECCurve" /> object as a key into the current instance.</summary>
242       <param name="parameters">The curve's parameters to import.</param>
243       <exception cref="T:System.Security.Cryptography.CryptographicException">
244         <paramref name="parameters" /> does not validate.</exception>
245       <exception cref="T:System.NotSupportedException">
246         <paramref name="parameters" /> references a curve that cannot be imported.</exception>
247       <exception cref="T:System.PlatformNotSupportedException">
248         <paramref name="parameters" /> references a curve that is not supported by this platform.</exception>
249     </member>
250     <member name="P:System.Security.Cryptography.ECDiffieHellmanOpenSsl.PublicKey">
251       <summary>Gets the public key that can be used by another <see cref="T:System.Security.Cryptography.ECDiffieHellman" /> object to generate a shared secret agreement.</summary>
252       <returns>The public key that is associated with this instance of the <see cref="T:System.Security.Cryptography.ECDiffieHellmanOpenSsl" /> object.</returns>
253     </member>
254     <member name="T:System.Security.Cryptography.ECDsaOpenSsl">
255       <summary>Provides an implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) backed by OpenSSL.</summary>
256     </member>
257     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.#ctor">
258       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDsaOpenSsl" /> class.</summary>
259     </member>
260     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.#ctor(System.Int32)">
261       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDsaOpenSsl" /> class with a specified target key size.</summary>
262       <param name="keySize">The size of the key. Valid key sizes are 256, 384, and 521 bits.</param>
263       <exception cref="T:System.Security.Cryptography.CryptographicException">
264         <paramref name="keySize" /> specifies an invalid length.</exception>
265     </member>
266     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.#ctor(System.IntPtr)">
267       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDsaOpenSsl" /> class from an existing OpenSSL key represented as an <c>EC_KEY*</c>.</summary>
268       <param name="handle">The OpenSSL <c>EC_KEY*</c> value to use as the key.</param>
269       <exception cref="T:System.ArgumentException">
270         <paramref name="handle" /> is <see cref="F:System.IntPtr.Zero" />.</exception>
271       <exception cref="T:System.Security.Cryptography.CryptographicException">
272         <paramref name="handle" /> is not a valid <c>EC_KEY*</c>.</exception>
273     </member>
274     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.#ctor(System.Security.Cryptography.ECCurve)">
275       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDsaOpenSsl" /> class and generates a new key on the specified curve.</summary>
276       <param name="curve">The curve used to generate an ephemeral public/private key pair.</param>
277       <exception cref="T:System.Security.Cryptography.CryptographicException">
278         <paramref name="curve" /> does not validate.</exception>
279       <exception cref="T:System.ArgumentNullException">
280         <paramref name="curve" /> is <see langword="null" />.</exception>
281     </member>
282     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.#ctor(System.Security.Cryptography.SafeEvpPKeyHandle)">
283       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.ECDsaOpenSsl" /> class from an existing OpenSSL key represented as an <c>EVP_PKEY*</c>.</summary>
284       <param name="pkeyHandle">The OpenSSL <c>EVP_PKEY*</c> value to use as the key, represented as a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" />.</param>
285       <exception cref="T:System.ArgumentException">
286         <paramref name="pkeyHandle" /> represents an invalid handle.</exception>
287       <exception cref="T:System.ArgumentNullException">
288         <paramref name="pkeyHandle" /> is <see langword="null" />.</exception>
289       <exception cref="T:System.Security.Cryptography.CryptographicException">
290         <paramref name="pkeyHandle" /> does not represent a elliptic curve (EC) key.</exception>
291     </member>
292     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.DuplicateKeyHandle">
293       <summary>Gets a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</summary>
294       <returns>A <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</returns>
295     </member>
296     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.ExportExplicitParameters(System.Boolean)">
297       <summary>Exports the key and explicit curve parameters used by the Elliptic curve cryptography (ECC) object into an <see cref="T:System.Security.Cryptography.ECParameters" /> object.</summary>
298       <param name="includePrivateParameters">
299         <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
300       <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred while obtaining the curve values.</exception>
301       <returns>The key and explicit curve parameters used by the ECC object.</returns>
302     </member>
303     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.ExportParameters(System.Boolean)">
304       <summary>Exports the key used by the Elliptic curve cryptography (ECC) object into an <see cref="T:System.Security.Cryptography.ECParameters" /> object. If the key was created as a named curve, the <see cref="F:System.Security.Cryptography.ECParameters.Curve" /> field contains named curve parameters; otherwise, it contains explicit parameters.</summary>
305       <param name="includePrivateParameters">
306         <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
307       <exception cref="T:System.Security.Cryptography.CryptographicException">An error occurred while obtaining the curve values.</exception>
308       <returns>The key and named curve parameters used by the ECC object.</returns>
309     </member>
310     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.GenerateKey(System.Security.Cryptography.ECCurve)">
311       <summary>Generates a new ephemeral public/private key pair for the specified curve, replacing the current key.</summary>
312       <param name="curve">The curve to use to generate the key.</param>
313     </member>
314     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.ImportParameters(System.Security.Cryptography.ECParameters)">
315       <summary>Replaces the current key for this instance with one using the specified key parameters.</summary>
316       <param name="parameters">The curve parameters.</param>
317       <exception cref="T:System.Security.Cryptography.CryptographicException">
318         <paramref name="parameters" /> does not contain valid values.</exception>
319     </member>
320     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.SignHash(System.Byte[])">
321       <summary>Generates a digital signature for the specified hash value.</summary>
322       <param name="hash">The hash value of the data that is being signed.</param>
323       <exception cref="T:System.ArgumentNullException">The <paramref name="hash" /> parameter is <see langword="null" />.</exception>
324       <returns>A digital signature for the specified hash value.</returns>
325     </member>
326     <member name="M:System.Security.Cryptography.ECDsaOpenSsl.VerifyHash(System.Byte[],System.Byte[])">
327       <summary>Verifies that a digital signature is appropriate for the current key and provided data hash.</summary>
328       <param name="hash">The hash value of the data to be verified.</param>
329       <param name="signature">The digital signature of the data to be verified against the hash value.</param>
330       <exception cref="T:System.ArgumentNullException">
331         <paramref name="hash" /> or <paramref name="signature" /> is <see langword="null" />.</exception>
332       <returns>
333         <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
334     </member>
335     <member name="P:System.Security.Cryptography.ECDsaOpenSsl.KeySize">
336       <summary>Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.</summary>
337       <exception cref="T:System.Security.Cryptography.CryptographicException">
338         <paramref name="value" /> is not permitted by <see cref="P:System.Security.Cryptography.ECDsaOpenSsl.LegalKeySizes" />.</exception>
339       <returns>The size, in bits, of the key modulus used by the asymmetric algorithm.</returns>
340     </member>
341     <member name="P:System.Security.Cryptography.ECDsaOpenSsl.LegalKeySizes">
342       <summary>Gets the key sizes, in bits, that are supported by the <see cref="P:System.Security.Cryptography.ECDsaCng.KeySize" /> property setter.</summary>
343       <returns>An array that contains the key sizes supported by the <see cref="P:System.Security.Cryptography.ECDsaCng.KeySize" /> property setter.</returns>
344     </member>
345     <member name="T:System.Security.Cryptography.RSAOpenSsl">
346       <summary>Provides an implementation of the RSA algorithm backed by OpenSSL.</summary>
347     </member>
348     <member name="M:System.Security.Cryptography.RSAOpenSsl.#ctor">
349       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOpenSsl" /> class with a random 2048-bit key pair.</summary>
350     </member>
351     <member name="M:System.Security.Cryptography.RSAOpenSsl.#ctor(System.Int32)">
352       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOpenSsl" /> class with a randomly generated key of the specified size.</summary>
353       <param name="keySize">The size of the key to generate in bits.</param>
354       <exception cref="T:System.Security.Cryptography.CryptographicException">
355         <paramref name="keySize" /> is not valid.</exception>
356     </member>
357     <member name="M:System.Security.Cryptography.RSAOpenSsl.#ctor(System.IntPtr)">
358       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOpenSsl" /> class from an existing OpenSSL key represented as an <c>RSA*</c>.</summary>
359       <param name="handle">The OpenSSL <c>RSA*</c> value to use as the key.</param>
360       <exception cref="T:System.Security.Cryptography.CryptographicException">
361         <paramref name="handle" /> is not a valid <c>RSA*</c>.</exception>
362       <exception cref="T:System.ArgumentException">
363         <paramref name="handle" /> is invalid</exception>
364     </member>
365     <member name="M:System.Security.Cryptography.RSAOpenSsl.#ctor(System.Security.Cryptography.RSAParameters)">
366       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOpenSsl" /> class using specified key parameters.</summary>
367       <param name="parameters">The parameters for the key.</param>
368       <exception cref="T:System.Security.Cryptography.CryptographicException">
369         <paramref name="parameters" /> is not a valid RSA key.</exception>
370     </member>
371     <member name="M:System.Security.Cryptography.RSAOpenSsl.#ctor(System.Security.Cryptography.SafeEvpPKeyHandle)">
372       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.RSAOpenSsl" /> class from an existing OpenSSL key represented as an <c>EVP_PKEY*</c>.</summary>
373       <param name="pkeyHandle">The OpenSSL <c>EVP_PKEY*</c> value to use as the key, represented as a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" />.</param>
374       <exception cref="T:System.Security.Cryptography.CryptographicException">
375         <paramref name="pkeyHandle" /> does not represent an RSA key.</exception>
376       <exception cref="T:System.ArgumentNullException">
377         <paramref name="pkeyHandle" /> is <see langword="null" /></exception>
378       <exception cref="T:System.ArgumentException">
379         <paramref name="pkeyHandle" /> is invalid according to <see cref="P:System.Runtime.InteropServices.SafeHandle.IsInvalid" />.</exception>
380     </member>
381     <member name="M:System.Security.Cryptography.RSAOpenSsl.Decrypt(System.Byte[],System.Security.Cryptography.RSAEncryptionPadding)">
382       <summary>Decrypts the input data using the specified padding mode.</summary>
383       <param name="data">The data to decrypt.</param>
384       <param name="padding">The padding mode.</param>
385       <exception cref="T:System.ArgumentNullException">
386         <paramref name="data" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
387       <exception cref="T:System.Security.Cryptography.CryptographicException">
388         <paramref name="padding" /> is unknown, or not supported by this implementation.
389
390 -or-
391
392 The length of <paramref name="data" /> is not equal to the number of bytes for <see cref="P:System.Security.Cryptography.AsymmetricAlgorithm.KeySize" />.
393
394 -or-
395
396 This instance represents only a public key. 
397
398 -or-
399
400 The decryption operation failed.</exception>
401       <returns>The decrypted data.</returns>
402     </member>
403     <member name="M:System.Security.Cryptography.RSAOpenSsl.DuplicateKeyHandle">
404       <summary>Gets a <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</summary>
405       <returns>A <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> representation of the cryptographic key.</returns>
406     </member>
407     <member name="M:System.Security.Cryptography.RSAOpenSsl.Encrypt(System.Byte[],System.Security.Cryptography.RSAEncryptionPadding)">
408       <summary>Encrypts the input data using the specified padding mode.</summary>
409       <param name="data">The data to encrypt.</param>
410       <param name="padding">The padding mode.</param>
411       <exception cref="T:System.ArgumentNullException">
412         <paramref name="data" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
413       <exception cref="T:System.Security.Cryptography.CryptographicException">
414         <paramref name="padding" /> is unknown, or not supported by this implementation.
415
416 -or-
417
418 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.
419
420 -or-
421
422 The encryption operation failed.</exception>
423       <returns>The encrypted data.</returns>
424     </member>
425     <member name="M:System.Security.Cryptography.RSAOpenSsl.ExportParameters(System.Boolean)">
426       <summary>Exports the <see cref="T:System.Security.Cryptography.RSAParameters" />.</summary>
427       <param name="includePrivateParameters">
428         <see langword="true" /> to include private parameters; otherwise, <see langword="false" />.</param>
429       <exception cref="T:System.Security.Cryptography.CryptographicException">The parameters could not be exported.</exception>
430       <returns>The parameters for <see cref="T:System.Security.Cryptography.RSA" />.</returns>
431     </member>
432     <member name="M:System.Security.Cryptography.RSAOpenSsl.ImportParameters(System.Security.Cryptography.RSAParameters)">
433       <summary>Imports the specified <see cref="T:System.Security.Cryptography.RSAParameters" />.</summary>
434       <param name="parameters">The parameters for <see cref="T:System.Security.Cryptography.RSA" />.</param>
435       <exception cref="T:System.Security.Cryptography.CryptographicException">
436         <paramref name="parameters" /> is not a valid RSA key.</exception>
437     </member>
438     <member name="M:System.Security.Cryptography.RSAOpenSsl.SignHash(System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
439       <summary>Computes the signature for the specified hash value using the specified padding.</summary>
440       <param name="hash">The hash value of the data to be signed.</param>
441       <param name="hashAlgorithm">The hash algorithm used to create the hash value of the data.</param>
442       <param name="padding">The padding.</param>
443       <exception cref="T:System.ArgumentNullException">
444         <paramref name="data" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
445       <exception cref="T:System.ArgumentException">
446         <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
447       <exception cref="T:System.Security.Cryptography.CryptographicException">
448         <paramref name="padding" /> is unknown, or not supported by this implementation.
449
450 -or-
451
452 This instance represents only a public key.
453
454 -or-
455
456 An error occurred creating the signature.</exception>
457       <returns>The RSA signature for the specified hash value.</returns>
458     </member>
459     <member name="M:System.Security.Cryptography.RSAOpenSsl.VerifyHash(System.Byte[],System.Byte[],System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding)">
460       <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>
461       <param name="hash">The hash value of the signed data.</param>
462       <param name="signature">The signature data to be verified.</param>
463       <param name="hashAlgorithm">The hash algorithm used to create the hash value.</param>
464       <param name="padding">The padding mode.</param>
465       <exception cref="T:System.ArgumentNullException">
466         <paramref name="hash" /> or <paramref name="padding" /> is <see langword="null" />.</exception>
467       <exception cref="T:System.ArgumentException">
468         <paramref name="hashAlgorithm" />.<see cref="P:System.Security.Cryptography.HashAlgorithmName.Name" /> is <see langword="null" /> or <see cref="F:System.String.Empty" />.</exception>
469       <exception cref="T:System.Security.Cryptography.CryptographicException">
470         <paramref name="padding" /> is unknown, or not supported by this implementation.</exception>
471       <returns>
472         <see langword="true" /> if the signature is valid; otherwise, <see langword="false" />.</returns>
473     </member>
474     <member name="P:System.Security.Cryptography.RSAOpenSsl.KeySize">
475       <summary>Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.</summary>
476       <exception cref="T:System.Security.Cryptography.CryptographicException">
477         <paramref name="value" /> is not permitted by <see cref="P:System.Security.Cryptography.RSAOpenSsl.LegalKeySizes" />.</exception>
478       <returns>The size, in bits, of the key modulus used by the asymmetric algorithm.</returns>
479     </member>
480     <member name="P:System.Security.Cryptography.RSAOpenSsl.LegalKeySizes">
481       <summary>Gets the key sizes, in bits, that are supported by this implementation of RSA.</summary>
482       <returns>An array that contains the key sizes supported by the algorithm.</returns>
483     </member>
484     <member name="T:System.Security.Cryptography.SafeEvpPKeyHandle">
485       <summary>Represents the <see langword="EVP_PKEY*" /> pointer type from OpenSSL.</summary>
486     </member>
487     <member name="M:System.Security.Cryptography.SafeEvpPKeyHandle.#ctor">
488       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> class, representing an invalid handle.</summary>
489     </member>
490     <member name="M:System.Security.Cryptography.SafeEvpPKeyHandle.#ctor(System.IntPtr,System.Boolean)">
491       <summary>Initializes a new instance of the <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> class with the specified handle value.</summary>
492       <param name="handle">The handle value to represent.</param>
493       <param name="ownsHandle">
494         <see langword="true" /> to reliably let <see cref="T:System.Security.Cryptography.SafeEvpPKeyHandle" /> release the handle during the finalization phase; otherwise, <see langword="false" /> (not recommended).</param>
495     </member>
496     <member name="M:System.Security.Cryptography.SafeEvpPKeyHandle.DuplicateHandle">
497       <summary>Creates another instance of this type which has an independent lifetime but tracks the same resource.</summary>
498       <exception cref="T:System.InvalidOperationException">This handle is invalid.</exception>
499       <returns>Another instance of this type which has an independent lifetime but tracks the same resource.</returns>
500     </member>
501     <member name="P:System.Security.Cryptography.SafeEvpPKeyHandle.IsInvalid">
502       <summary>Gets a value indicating whether the handle value is invalid.</summary>
503       <returns>
504         <see langword="true" /> if the handle value is invalid; otherwise, <see langword="false" />.</returns>
505     </member>
506     <member name="P:System.Security.Cryptography.SafeEvpPKeyHandle.OpenSslVersion">
507       <summary>Gets a value representing the version number as reported by the loaded version of OpenSSL.</summary>
508       <returns>A value representing the version number as reported by the loaded version of OpenSSL.</returns>
509     </member>
510   </members>
511 </doc>