# 如何生成ECC算法CSR文件？

- Link: https://www.xuepaijie.com/html/skill/devops/982.html
- Published: 2017-09-28T20:46:06+08:00
- Author: Admin

**椭圆曲线加密算法简介：**椭圆曲线密码学（Elliptic curve cryptography，缩写为ECC），
一种建立公开金钥加密的算法，基于椭圆曲线数学。椭圆曲线在密码学中的使用是在1985年
由Neal Koblitz和Victor Miller分别独立提出的。

ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥，比如RSA加密算法，能提供
相当的或更高等级的安全。ECC的另一个优势是可以定义群之间的双线性映射，基于Weil对或是
Tate对；双线性映射已经在密码学中发现了大量的应用，例如基于身份的加密。不过一个缺点
是加密和解密操作的实现比其他机制花费的时间长。

1.生成ECC算法私钥文件

    ```html;
    openssl ecparam -genkey -name prime256v1 -out domain.key
    ```

2.生成ECC证书申请CSR文件

    ```html;
    openssl req -new -key domain.key -out domain.csr
    ```

** 注意事项：**

ECC算法加密强度有3个选项：prime256v1 ／secp384r1／secp521r1，prime256v1 目前已经
足够安全。如无特殊需要请保持ECC算法 prime256v1 默认即可，同样证书 SHA256 目前已经
足够安全，如无特殊需要请保持默认。

OpenSSL官方ECC算法文档：https://www.openssl.org/docs/man1.0.2/apps/ecparam.html

了解更多关于椭圆曲线加密算法参考：Elliptic Curve Cryptography Subject Public Key
Information – IETF
