Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Beginning in Windows 10, CNG provides support for the following named elliptic curves (ANSI X9.62, X9.63, FIPS 186-2).
- **BCRYPT\_ECC\_CURVE\_25519**
-
-
Requirement Value Name curve25519 Standard Curve 25519 Key size (bits) 255 TLS capable Object identifier None
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP160R1**
-
-
Requirement Value Name brainpoolP160r1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 160 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.1
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP160T1**
-
-
Requirement Value Name brainpoolP160t1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 160 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.2
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP192R1**
-
-
Requirement Value Name brainpoolP192r1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 192 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.3
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP192T1**
-
-
Requirement Value Name brainpoolP192t1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 192 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.4
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP224R1**
-
-
Requirement Value Name brainpoolP224r1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 224 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.5
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP224T1**
-
-
Requirement Value Name brainpoolP224t1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 224 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.6
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP256R1**
-
-
Requirement Value Name brainpoolP256r1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 256 TLS capable Yes Object identifier 1.3.36.3.3.2.8.1.1.7
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP256T1**
-
-
Requirement Value Name brainpoolP256t1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 256 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.8
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP320R1**
-
-
Requirement Value Name brainpoolP320r1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 320 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.9
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP32 0T1**
-
-
Requirement Value Name brainpoolP320t1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 320 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.10
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP384R1**
-
-
Requirement Value Name brainpoolP384r1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 384 TLS capable Yes Object identifier 1.3.36.3.3.2.8.1.1.11
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP384T1**
-
-
Requirement Value Name brainpoolP384t1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 384 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.12
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP512R1**
-
-
Requirement Value Name brainpoolP512r1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 512 TLS capable Yes Object identifier 1.3.36.3.3.2.8.1.1.13
-
- **BCRYPT\_ECC\_CURVE\_BRAINPOOLP512T1**
-
-
Requirement Value Name brainpoolP512t1 Standard ECC Brainpool Standard Curves and Curve Generation Key size (bits) 512 TLS capable No Object identifier 1.3.36.3.3.2.8.1.1.14
-
- **BCRYPT\_ECC\_CURVE\_EC192WAPI**
-
-
Requirement Value Name ec192wapi Standard Chinese National Standard for Wireless LANs (GB 15629.11-2003) Key size (bits) 192 TLS capable No Object identifier 1.2.156.11235.1.1.2.1
-
- **BCRYPT\_ECC\_CURVE\_NISTP192**
-
-
Requirement Value Name nistP192 Standard Recommended Elliptic Curves for Federal Government Use Key size (bits) 192 TLS capable Yes Object identifier 1.2.840.10045.3.1.1
-
- **BCRYPT\_ECC\_CURVE\_NISTP224**
-
-
Requirement Value Name nistP224 Standard Recommended Elliptic Curves for Federal Government Use Key size (bits) 224 TLS capable Yes Object identifier 1.3.132.0.33
-
- **BCRYPT\_ECC\_CURVE\_NISTP256**
-
-
Requirement Value Name nistP256 Standard Recommended Elliptic Curves for Federal Government Use Key size (bits) 256 TLS capable Yes Object identifier 1.2.840.10045.3.1.7
-
- **BCRYPT\_ECC\_CURVE\_NISTP384**
-
-
Requirement Value Name nistP384 Standard Recommended Elliptic Curves for Federal Government Use Key size (bits) 384 TLS capable Yes Object identifier 1.3.132.0.34
-
- **BCRYPT\_ECC\_CURVE\_NISTP521**
-
-
Requirement Value Name nistP521 Standard Recommended Elliptic Curves for Federal Government Use Key size (bits) 521 TLS capable Yes Object identifier 1.3.132.0.35
-
- **BCRYPT\_ECC\_CURVE\_NUMSP256T1**
-
-
Requirement Value Name numsP256t1 Standard Specification of Curve Selection and Supported Curve Parameters in MSR ECCLib Key size (bits) 256 TLS capable No Object identifier None
-
- **BCRYPT\_ECC\_CURVE\_NUMSP384T1**
-
-
Requirement Value Name numsP384t1 Standard Specification of Curve Selection and Supported Curve Parameters in MSR ECCLib Key size (bits) 384 TLS capable No Object identifier None
-
- **BCRYPT\_ECC\_CURVE\_NUMSP512T1**
-
-
Requirement Value Name numsP512t1 Standard Specification of Curve Selection and Supported Curve Parameters in MSR ECCLib Key size (bits) 512 TLS capable No Object identifier None
-
- **BCRYPT\_ECC\_CURVE\_SECP160K1**
-
-
Requirement Value Name secP160k1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 160 TLS capable Yes Object identifier 1.3.132.0.9
-
- **BCRYPT\_ECC\_CURVE\_SECP160R1**
-
-
Requirement Value Name secP160r1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 160 TLS capable Yes Object identifier 1.3.132.0.8
-
- **BCRYPT\_ECC\_CURVE\_SECP160R1**
-
-
Requirement Value Name secP160r2 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 160 TLS capable Yes Object identifier 1.3.132.0.30
-
- **BCRYPT\_ECC\_CURVE\_SECP192K1**
-
-
Requirement Value Name secP192k1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 192 TLS capable Yes Object identifier 1.3.132.0.31
-
- **BCRYPT\_ECC\_CURVE\_SECP192R1**
-
-
Requirement Value Name secP192r1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 192 TLS capable Yes Object identifier 1.2.840.10045.3.1.1
-
- **BCRYPT\_ECC\_CURVE\_SECP224K1**
-
-
Requirement Value Name secP224k1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 224 TLS capable Yes Object identifier 1.3.132.0.32
-
- **BCRYPT\_ECC\_CURVE\_SECP224R1**
-
-
Requirement Value Name secP224r1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 224 TLS capable Yes Object identifier 1.3.132.0.33
-
- **BCRYPT\_ECC\_CURVE\_SECP256K1**
-
-
Requirement Value Name secP256k1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 256 TLS capable Yes Object identifier 1.3.132.0.10
-
- **BCRYPT\_ECC\_CURVE\_SECP256R1**
-
-
Requirement Value Name secP256r1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 256 TLS capable Yes Object identifier 1.2.840.10045.3.1.7
-
- **BCRYPT\_ECC\_CURVE\_SECP384R1**
-
-
Requirement Value Name secP384r1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 384 TLS capable Yes Object identifier 1.3.132.0.34
-
- **BCRYPT\_ECC\_CURVE\_SECP521R1**
-
-
Requirement Value Name secP521r1 Standard Recommended Elliptic Curve Domain Parameters Key size (bits) 521 TLS capable Yes Object identifier 1.3.132.0.35
-
- **BCRYPT\_ECC\_CURVE\_WTLS12**
-
-
Requirement Value Name wtls12 Standard WTLS Key size (bits) 224 TLS capable No Object identifier 1.3.132.0.33
-
- **BCRYPT\_ECC\_CURVE\_WTLS7**
-
-
Requirement Value Name wtls7 Standard WTLS Key size (bits) 160 TLS capable No Object identifier 1.3.132.0.30
-
- **BCRYPT\_ECC\_CURVE\_WTLS9**
-
-
Requirement Value Name wtls9 Standard WTLS Key size (bits) 160 TLS capable No Object identifier 2.23.43.1.4.9
-
- **BCRYPT\_ECC\_CURVE\_X962P192V1**
-
-
Requirement Value Name x962P192v1 Standard ANSI X9.62 Key size (bits) 192 TLS capable No Object identifier 1.2.840.10045.3.1.1
-
- **BCRYPT\_ECC\_CURVE\_X962P192V2**
-
-
Requirement Value Name x962P192v2 Standard ANSI X9.62 Key size (bits) 192 TLS capable No Object identifier 1.2.840.10045.3.1.2
-
- **BCRYPT\_ECC\_CURVE\_X962P192V3**
-
-
Requirement Value Name x962P192v3 Standard ANSI X9.62 Key size (bits) 192 TLS capable No Object identifier 1.2.840.10045.3.1.3
-
- **BCRYPT\_ECC\_CURVE\_X962P239V1**
-
-
Requirement Value Name x962P239v1 Standard ANSI X9.62 Key size (bits) 239 TLS capable No Object identifier 1.2.840.10045.3.1.4
-
- **BCRYPT\_ECC\_CURVE\_X962P239V2**
-
-
Requirement Value Name x962P239v2 Standard ANSI X9.62 Key size (bits) 239 TLS capable No Object identifier 1.2.840.10045.3.1.5
-
- **BCRYPT\_ECC\_CURVE\_X962P239V3**
-
-
Requirement Value Name x962P239v3 Standard ANSI X9.62 Key size (bits) 239 TLS capable No Object identifier 1.2.840.10045.3.1.6
-
- **BCRYPT\_ECC\_CURVE\_X962P256V1**
-
-
Requirement Value Name x962P256v1 Standard ANSI X9.62 Key size (bits) 256 TLS capable No Object identifier 1.2.840.10045.3.1.7
-
Remarks
To use a named curve, call BCryptOpenAlgorithmProvider using either the BCRYPT_ECDSA_ALGORITHM or the BCRYPT_ECDH_ALGORITHM as the algorithm ID. Then, call BCryptSetProperty and set the BCRYPT_ECC_CURVE_NAME property to one of the above curves or any named curves registered on the computer as shown by the certutil -displayEccCurve
command.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 [desktop apps only] |
Minimum supported server | Windows Server 2016 [desktop apps only] |
Header | Bcrypt.h |