diff --git a/xml/System.Security.Cryptography/ECDsa.xml b/xml/System.Security.Cryptography/ECDsa.xml
index bac7a70150a..9ca4224c25f 100644
--- a/xml/System.Security.Cryptography/ECDsa.xml
+++ b/xml/System.Security.Cryptography/ECDsa.xml
@@ -461,8 +461,8 @@
- The curve to use.
- When overridden in a derived class, generates a new public/private key pair for the specified curve.
+ The curve to use to generate the key.
+ When overridden in a derived class, generates a new ephemeral public/private key pair for the specified curve, replacing the current key.
To be added.
A derived class must override this method.
@@ -1158,7 +1158,7 @@ The algorithm-specific key import failed.
The hash value of the data that is being signed.
Generates a digital signature for the specified hash value.
- A digital signature that consists of the given hash value encrypted with the private key.
+ A digital signature for the specified hash value.
To be added.
The parameter is .
@@ -1432,13 +1432,22 @@ The algorithm-specific key import failed.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The data to be hashed.
+ The buffer to receive the hash value.
+ The algorithm to use to hash the data.
+ When this method returns, the total number of bytes written into . This parameter is treated as uninitialized.
+ Attempts to compute the hash value of the specified read-only span of bytes into the provided destination by using the specified hashing algorithm.
+ if is not long enough to receive the hash value.
+
+ and copy the result to `destination`.
+Derived types should override this method to avoid the intermediate array creation.
+
+ ]]>
+
@@ -1470,12 +1479,12 @@ The algorithm-specific key import failed.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The data to be signed.
+ The buffer to receive the signature.
+ The algorithm to use to hash the data for signing.
+ When this method returns, the total number of bytes written into . This parameter is treated as uninitialized.
+ 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.
+ if is not long enough to receive the signature.
To be added.
@@ -1507,11 +1516,11 @@ The algorithm-specific key import failed.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The hash value of the data that is being signed.
+ The buffer to receive the signature.
+ When this method returns, the total number of bytes written into . This parameter is treated as uninitialized.
+ 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.
+ if is not long enough to receive the signature.
To be added.
@@ -1523,7 +1532,7 @@ The algorithm-specific key import failed.
4.3.0.0
- Verifies that a digital signature is valid.
+ Verifies that a digital signature is appropriate for the current key and provided data with a specified hash algorithm.
@@ -1563,7 +1572,7 @@ The algorithm-specific key import failed.
The signed data.
The signature data to be verified.
The hash algorithm used to create the hash value of the data.
- 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.
+ Verifies that a digital signature is appropriate for the current key and provided data with a specified hash algorithm.
if the signature is valid; otherwise, .
To be added.
@@ -1614,7 +1623,7 @@ The algorithm-specific key import failed.
The signed data.
The signature data to be verified.
The hash algorithm used to create the hash value of the data.
- 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.
+ Verifies that a digital signature is appropriate for the current key and provided data with a specified hash algorithm.
if the signature is valid; otherwise, .
To be added.
@@ -1656,12 +1665,14 @@ The algorithm-specific key import failed.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The signed data.
+ The signature to be verified.
+ The hash algorithm used to create the hash value of the data.
+ Verifies that a digital signature is appropriate for the current key and provided data with a specified hash algorithm.
+ if the signature is valid; otherwise, .
To be added.
+
+ . is or .
@@ -1705,7 +1716,7 @@ The algorithm-specific key import failed.
The number of bytes to hash.
The signature data to be verified.
The hash algorithm used to create the hash value of the data.
- 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.
+ Verifies that a digital signature is appropriate for the current key and provided portion of data with a specified hash algorithm.
if the signature is valid; otherwise, .
To be added.
@@ -1763,19 +1774,13 @@ The algorithm-specific key import failed.
- The hash value of a block of data.
- The digital signature to be verified.
- Verifies a digital signature against the specified hash value.
+ The hash value of the data to be verified.
+ The digital signature of the data to be verified against the hash value.
+ Verifies that a digital signature is appropriate for the current key and provided data hash.
- if the hash value equals the decrypted signature; otherwise, .
-
-
-
+ if the signature is valid; otherwise, .
+ To be added.
+ or is .
@@ -1805,10 +1810,11 @@ The algorithm-specific key import failed.
- To be added.
- To be added.
- To be added.
- To be added.
+ The hash value of the data to be verified.
+ The digital signature of the data to be verified against the hash value.
+ Verifies that a digital signature is appropriate for the current key and provided data hash.
+
+ if the signature is valid; otherwise, .
To be added.
diff --git a/xml/System.Security.Cryptography/ECDsaCng.xml b/xml/System.Security.Cryptography/ECDsaCng.xml
index ed699c5afc6..85ed8b79600 100644
--- a/xml/System.Security.Cryptography/ECDsaCng.xml
+++ b/xml/System.Security.Cryptography/ECDsaCng.xml
@@ -32,7 +32,8 @@
abstract base class.
+This class should only be used directly when doing platform interop with the Windows CNG library.
+When platform interop is not needed, you should use the factory methods instead of a specific derived implementation.
@@ -92,11 +93,15 @@
property to 521 and when a key is needed the saved size is used to identify the target curve.
+If a key is loaded via the method, or other key import method, the key size from this constructor has no meaning.
]]>
Cryptography Next Generation (CNG) classes are not supported on this system.
+
@@ -134,18 +139,23 @@
The size of the key. Valid key sizes are 256, 384, and 521 bits.
- Initializes a new instance of the class with a random key pair, using the specified key size.
+ Initializes a new instance of the class with a specified target key size.
property to the provided value and when a key is needed the saved size is used to identify the target curve.
+If a key is loaded via the method, or other key import method, the key size from this constructor has no meaning.
+
]]>
Cryptography Next Generation (CNG) classes are not supported on this system.
specifies an invalid length.
+
@@ -271,8 +281,9 @@
- To be added.
- To be added.
+
+ to release managed and unmanaged resources; to release only unmanaged resources.
+ Releases the resources used by the current instance of the class.
To be added.
@@ -467,7 +478,7 @@
The curve to use to generate the key.
- Generates a key to use for the ECDsaCng algorithm.
+ Generates a new ephemeral public/private key pair for the specified curve, replacing the current key.
To be added.
does not validate.
@@ -551,10 +562,10 @@
- To be added.
- To be added.
- To be added.
- To be added.
+ The binary stream to hash.
+ The algorithm to use to hash the data.
+ Computes the hash value of the specified binary stream by using the specified hashing algorithm.
+ The hashed data.
To be added.
@@ -591,12 +602,12 @@
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The data to be hashed.
+ The index of the first byte in to be hashed.
+ The number of bytes to hash.
+ The algorithm to use to hash the data.
+ Computes the hash value of the specified portion of a byte array by using the specified hashing algorithm.
+ The hashed data.
To be added.
@@ -708,9 +719,23 @@
System.Int32
- To be added.
- To be added.
- To be added.
+ Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.
+ The size, in bits, of the key modulus used by the asymmetric algorithm.
+
+ method.
+
+]]>
+
+
+ is not permitted by .
+
@@ -739,9 +764,25 @@
System.Security.Cryptography.KeySizes[]
- To be added.
- To be added.
- To be added.
+ Gets the key sizes, in bits, that are supported by the property setter.
+ An array that contains the key sizes supported by the property setter.
+
+
+
+
@@ -1078,13 +1119,12 @@
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The data to be hashed.
+ The buffer to receive the hash value.
+ The algorithm to use to hash the data.
+ When this method returns, the total number of bytes written into . This parameter is treated as uninitialized.
+ Attempts to compute the hash value of the specified read-only span of bytes into the provided destination by using the specified hashing algorithm.
+ if is not long enough to receive the hash value.
@@ -1112,11 +1152,11 @@
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The hash value of the data that is being signed.
+ The buffer to receive the signature.
+ When this method returns, the total number of bytes written into . This parameter is treated as uninitialized.
+ 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.
+ if is not long enough to receive the signature.
To be added.
@@ -1333,7 +1373,7 @@
The hash value of the data to be verified.
The digital signature of the data to be verified against the hash value.
- Verifies the specified digital signature against a specified hash value.
+ Verifies that a digital signature is appropriate for the current key and provided data hash.
if the signature is valid; otherwise, .
To be added.
@@ -1364,10 +1404,11 @@
- To be added.
- To be added.
- To be added.
- To be added.
+ The hash value of the data to be verified.
+ The digital signature of the data to be verified against the hash value.
+ Verifies that a digital signature is appropriate for the current key and provided data hash.
+
+ if the signature is valid; otherwise, .
To be added.
diff --git a/xml/System.Security.Cryptography/ECDsaOpenSsl.xml b/xml/System.Security.Cryptography/ECDsaOpenSsl.xml
index 74ea92639b5..3e5fa7401ce 100644
--- a/xml/System.Security.Cryptography/ECDsaOpenSsl.xml
+++ b/xml/System.Security.Cryptography/ECDsaOpenSsl.xml
@@ -17,8 +17,16 @@
- To be added.
- To be added.
+ Provides an implementation of the Elliptic Curve Digital Signature Algorithm (ECDSA) backed by OpenSSL.
+
+ factory methods instead of a specific derived implementation.
+
+ ]]>
+
@@ -37,8 +45,20 @@
- To be added.
- To be added.
+ Initializes a new instance of the class.
+
+ property to 521 and when a key is needed the saved size is used to identify the target curve.
+If a key is loaded via the method, or other key import method, the key size from this constructor has no meaning.
+
+
+ ]]>
+
+
@@ -60,9 +80,23 @@
- To be added.
- To be added.
- To be added.
+ The size of the key. Valid key sizes are 256, 384, and 521 bits.
+ Initializes a new instance of the class with a specified target key size.
+
+ property to the provided value and when a key is needed the saved size is used to identify the target curve.
+If a key is loaded via the method, or other key import method, the key size from this constructor has no meaning.
+
+
+ ]]>
+
+
+ specifies an invalid length.
+
@@ -84,9 +118,23 @@
- To be added.
- To be added.
- To be added.
+ The OpenSSL EC_KEY* value to use as the key.
+ Initializes a new instance of the class from an existing OpenSSL key represented as an EC_KEY*.
+
+ [!IMPORTANT]
+> OpenSSL supports multiple library versions being loaded within the same process.
+> Before calling this constructor verify your pointer value came from the same version of OpenSSL that this class uses, see for more information.
+
+ ]]>
+
+
+ is .
+
+ is not a valid EC_KEY*.
+
@@ -108,9 +156,12 @@
- To be added.
- To be added.
+ The curve used to generate an ephemeral public/private key pair.
+ Initializes a new instance of the class and generates a new key on the specified curve.
To be added.
+
+ does not validate.
+
@@ -132,9 +183,26 @@
- To be added.
- To be added.
- To be added.
+ The OpenSSL EVP_PKEY* value to use as the key, represented as a .
+ Initializes a new instance of the class from an existing OpenSSL key represented as an EVP_PKEY*.
+
+ [!IMPORTANT]
+> OpenSSL supports multiple library versions being loaded within the same process.
+> Before calling this constructor, verify your pointer value came from the same version of OpenSSL that this class uses.
+> For more information, see .
+
+ ]]>
+
+
+ represents an invalid handle.
+
+ is .
+
+ does not represent a elliptic curve (EC) key.
+
@@ -159,8 +227,9 @@
- To be added.
- To be added.
+
+ to release managed and unmanaged resources; to release only unmanaged resources.
+ Releases the resources used by the current instance of the class.
To be added.
@@ -184,9 +253,17 @@
- To be added.
- To be added.
- To be added.
+ Gets a representation of the cryptographic key.
+ A representation of the cryptographic key.
+
+ object with its own lifetime.
+The objects returned by this method can safely be used even after this instance has been disposed.
+
+]]>
+
@@ -211,10 +288,12 @@
- To be added.
- To be added.
- To be added.
+
+ to include private parameters; otherwise, .
+ Exports the key and explicit curve parameters used by the Elliptic curve cryptography (ECC) object into an object.
+ The key and explicit curve parameters used by the ECC object.
To be added.
+ An error occurred while obtaining the curve values.
@@ -239,10 +318,12 @@
- To be added.
- To be added.
- To be added.
+
+ to include private parameters; otherwise, .
+ Exports the key used by the Elliptic curve cryptography (ECC) object into an object. If the key was created as a named curve, the field contains named curve parameters; otherwise, it contains explicit parameters.
+ The key and named curve parameters used by the ECC object.
To be added.
+ An error occurred while obtaining the curve values.
@@ -267,8 +348,8 @@
- To be added.
- To be added.
+ The curve to use to generate the key.
+ Generates a new ephemeral public/private key pair for the specified curve, replacing the current key.
To be added.
@@ -295,10 +376,10 @@
- To be added.
- To be added.
- To be added.
- To be added.
+ The binary stream to hash.
+ The algorithm to use to hash the data.
+ Computes the hash value of the specified binary stream by using the specified hashing algorithm.
+ The hashed data.
To be added.
@@ -327,12 +408,12 @@
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
- To be added.
+ The data to be hashed.
+ The index of the first byte in to be hashed.
+ The number of bytes to hash.
+ The algorithm to use to hash the data.
+ Computes the hash value of the specified portion of a byte array by using the specified hashing algorithm.
+ The hashed data.
To be added.
@@ -358,9 +439,18 @@
- To be added.
- To be added.
- To be added.
+ The curve parameters.
+ Replaces the current key for this instance with one using the specified key parameters.
+
+ , only a public key is imported. If `parameters` also contains , a full key pair is imported. The field specifies the type of the curve to import.
+
+ ]]>
+
+
+ does not contain valid values.
@@ -382,9 +472,23 @@
System.Int32
- To be added.
- To be added.
- To be added.
+ Gets or sets the size, in bits, of the key modulus used by the asymmetric algorithm.
+ The size, in bits, of the key modulus used by the asymmetric algorithm.
+
+ method.
+
+]]>
+
+
+ is not permitted by .
+
@@ -406,9 +510,22 @@
System.Security.Cryptography.KeySizes[]
- To be added.
- To be added.
- To be added.
+ Gets the key sizes, in bits, that are supported by the property setter.
+ An array that contains the key sizes supported by the property setter.
+
+
+
+
@@ -433,10 +550,11 @@
- To be added.
- To be added.
- To be added.
+ The hash value of the data that is being signed.
+ Generates a digital signature for the specified hash value.
+ A digital signature for the specified hash value.
To be added.
+ The parameter is .
@@ -462,11 +580,13 @@
- To be added.
- To be added.
- To be added.
- To be added.
+ The hash value of the data to be verified.
+ The digital signature of the data to be verified against the hash value.
+ Verifies that a digital signature is appropriate for the current key and provided data hash.
+
+ if the signature is valid; otherwise, .
To be added.
+ or is .