CNG 命名椭圆曲线

从 Windows 10 开始,CNG 支持以下命名椭圆曲线(ANSI X9.62、X9.63、FIPS 186-2)。

**BCRYPT\_ECC\_CURVE\_25519**
要求
名称 curve25519
标准 曲线 25519
密钥大小(位) 255
支持 TLS
对象标识符
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP160R1**
要求
名称 brainpoolP160r1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 160
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.1
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP160T1**
要求
名称 brainpoolP160t1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 160
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.2
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP192R1**
要求
名称 brainpoolP192r1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 192
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.3
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP192T1**
要求
名称 brainpoolP192t1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 192
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.4
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP224R1**
要求
名称 brainpoolP224r1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 224
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.5
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP224T1**
要求
名称 brainpoolP224t1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 224
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.6
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP256R1**
要求
名称 brainpoolP256r1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 256
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.7
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP256T1**
要求
名称 brainpoolP256t1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 256
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.8
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP320R1**
要求
名称 brainpoolP320r1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 320
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.9
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP32 0T1**
要求
名称 brainpoolP320t1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 320
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.10
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP384R1**
要求
名称 brainpoolP384r1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 384
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.11
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP384T1**
要求
名称 brainpoolP384t1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 384
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.12
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP512R1**
要求
名称 brainpoolP512r1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 512
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.13
**BCRYPT\_ECC\_CURVE\_BRAINPOOLP512T1**
要求
名称 brainpoolP512t1
标准 ECC Brainpool 标准曲线和曲线生成
密钥大小(位) 512
支持 TLS
对象标识符 1.3.36.3.3.2.8.1.1.14
**BCRYPT\_ECC\_CURVE\_EC192WAPI**
要求
名称 ec192wapi
标准 中国无线局域网国家标准 (GB 15629.11-2003)
密钥大小(位) 192
支持 TLS
对象标识符 1.2.156.11235.1.1.2.1
**BCRYPT\_ECC\_CURVE\_NISTP192**
要求
名称 nistP192
标准 推荐供联邦政府使用的椭圆曲线
密钥大小(位) 192
支持 TLS
对象标识符 1.2.840.10045.3.1.1
**BCRYPT\_ECC\_CURVE\_NISTP224**
要求
名称 nistP224
标准 推荐供联邦政府使用的椭圆曲线
密钥大小(位) 224
支持 TLS
对象标识符 1.3.132.0.33
**BCRYPT\_ECC\_CURVE\_NISTP256**
要求
名称 nistP256
标准 推荐供联邦政府使用的椭圆曲线
密钥大小(位) 256
支持 TLS
对象标识符 1.2.840.10045.3.1.7
**BCRYPT\_ECC\_CURVE\_NISTP384**
要求
名称 nistP384
标准 推荐供联邦政府使用的椭圆曲线
密钥大小(位) 384
支持 TLS
对象标识符 1.3.132.0.34
**BCRYPT\_ECC\_CURVE\_NISTP521**
要求
名称 nistP521
标准 推荐供联邦政府使用的椭圆曲线
密钥大小(位) 521
支持 TLS
对象标识符 1.3.132.0.35
**BCRYPT\_ECC\_CURVE\_NUMSP256T1**
要求
名称 numsP256t1
标准 MSR ECCLib 中曲线选择和支持的曲线参数的规范
密钥大小(位) 256
支持 TLS
对象标识符
**BCRYPT\_ECC\_CURVE\_NUMSP384T1**
要求
名称 numsP384t1
标准 MSR ECCLib 中曲线选择和支持的曲线参数的规范
密钥大小(位) 384
支持 TLS
对象标识符
**BCRYPT\_ECC\_CURVE\_NUMSP512T1**
要求
名称 numsP512t1
标准 MSR ECCLib 中曲线选择和支持的曲线参数的规范
密钥大小(位) 512
支持 TLS
对象标识符
**BCRYPT\_ECC\_CURVE\_SECP160K1**
要求
名称 secP160k1
标准 建议的椭圆曲线域参数
密钥大小(位) 160
支持 TLS
对象标识符 1.3.132.0.9
**BCRYPT\_ECC\_CURVE\_SECP160R1**
要求
名称 secP160r1
标准 建议的椭圆曲线域参数
密钥大小(位) 160
支持 TLS
对象标识符 1.3.132.0.8
**BCRYPT\_ECC\_CURVE\_SECP160R1**
要求
名称 secP160r2
标准 建议的椭圆曲线域参数
密钥大小(位) 160
支持 TLS
对象标识符 1.3.132.0.30
**BCRYPT\_ECC\_CURVE\_SECP192K1**
要求
名称 secP192k1
标准 建议的椭圆曲线域参数
密钥大小(位) 192
支持 TLS
对象标识符 1.3.132.0.31
**BCRYPT\_ECC\_CURVE\_SECP192R1**
要求
名称 secP192r1
标准 建议的椭圆曲线域参数
密钥大小(位) 192
支持 TLS
对象标识符 1.2.840.10045.3.1.1
**BCRYPT\_ECC\_CURVE\_SECP224K1**
要求
名称 secP224k1
标准 建议的椭圆曲线域参数
密钥大小(位) 224
支持 TLS
对象标识符 1.3.132.0.32
**BCRYPT\_ECC\_CURVE\_SECP224R1**
要求
名称 secP224r1
标准 建议的椭圆曲线域参数
密钥大小(位) 224
支持 TLS
对象标识符 1.3.132.0.33
**BCRYPT\_ECC\_CURVE\_SECP256K1**
要求
名称 secP256k1
标准 建议的椭圆曲线域参数
密钥大小(位) 256
支持 TLS
对象标识符 1.3.132.0.10
**BCRYPT\_ECC\_CURVE\_SECP256R1**
要求
名称 secP256r1
标准 建议的椭圆曲线域参数
密钥大小(位) 256
支持 TLS
对象标识符 1.2.840.10045.3.1.7
**BCRYPT\_ECC\_CURVE\_SECP384R1**
要求
名称 secP384r1
标准 建议的椭圆曲线域参数
密钥大小(位) 384
支持 TLS
对象标识符 1.3.132.0.34
**BCRYPT\_ECC\_CURVE\_SECP521R1**
要求
名称 secP521r1
标准 建议的椭圆曲线域参数
密钥大小(位) 521
支持 TLS
对象标识符 1.3.132.0.35
**BCRYPT\_ECC\_CURVE\_WTLS12**
要求
名称 wtls12
标准 WTLS
密钥大小(位) 224
支持 TLS
对象标识符 1.3.132.0.33
**BCRYPT\_ECC\_CURVE\_WTLS7**
要求
名称 wtls7
标准 WTLS
密钥大小(位) 160
支持 TLS
对象标识符 1.3.132.0.30
**BCRYPT\_ECC\_CURVE\_WTLS9**
要求
名称 wtls9
标准 WTLS
密钥大小(位) 160
支持 TLS
对象标识符 2.23.43.1.4.9
**BCRYPT\_ECC\_CURVE\_X962P192V1**
要求
名称 x962P192v1
标准 ANSI X9.62
密钥大小(位) 192
支持 TLS
对象标识符 1.2.840.10045.3.1.1
**BCRYPT\_ECC\_CURVE\_X962P192V2**
要求
名称 x962P192v2
标准 ANSI X9.62
密钥大小(位) 192
支持 TLS
对象标识符 1.2.840.10045.3.1.2
**BCRYPT\_ECC\_CURVE\_X962P192V3**
要求
名称 x962P192v3
标准 ANSI X9.62
密钥大小(位) 192
支持 TLS
对象标识符 1.2.840.10045.3.1.3
**BCRYPT\_ECC\_CURVE\_X962P239V1**
要求
名称 x962P239v1
标准 ANSI X9.62
密钥大小(位) 239
支持 TLS
对象标识符 1.2.840.10045.3.1.4
**BCRYPT\_ECC\_CURVE\_X962P239V2**
要求
名称 x962P239v2
标准 ANSI X9.62
密钥大小(位) 239
支持 TLS
对象标识符 1.2.840.10045.3.1.5
**BCRYPT\_ECC\_CURVE\_X962P239V3**
要求
名称 x962P239v3
标准 ANSI X9.62
密钥大小(位) 239
支持 TLS
对象标识符 1.2.840.10045.3.1.6
**BCRYPT\_ECC\_CURVE\_X962P256V1**
要求
名称 x962P256v1
标准 ANSI X9.62
密钥大小(位) 256
支持 TLS
对象标识符 1.2.840.10045.3.1.7

注解

若要使用命名曲线,请使用 BCRYPT_ECDSA_ALGORITHMBCRYPT_ECDH_ALGORITHM 作为算法 ID 调用 BCryptOpenAlgorithmProvider。 然后,调用 BCryptSetProperty,并使用 certutil -displayEccCurve 命令将 BCRYPT_ECC_CURVE_NAME 属性设置为上述任一曲线或计算机上已注册的任何命名曲线。

要求

要求
最低受支持的客户端 Windows 10 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
标头 Bcrypt.h

另请参阅

BCryptOpenAlgorithmProvider

NCryptCreatePersistedKey