OpenSSL配置项no-ec2m作用及签名验签场景是否需要启用问询
OpenSSL 1.0.2l no-ec2m配置项问题解答
1. no-ec2m配置项的含义与作用
no-ec2m是OpenSSL编译阶段的功能裁剪配置项:
- 其中
ec2m指代二元域椭圆曲线(也叫特征2域椭圆曲线)的实现逻辑,这类曲线对应sect系列标准曲线,和常用的素数域secp系列曲线是两类不同的椭圆曲线实现体系。 - 添加
no-ec2m参数编译时,会完全移除OpenSSL源码中所有二元域椭圆曲线的代码、内置曲线参数、相关运算逻辑,最终生成的库文件不会携带任何二元域EC相关能力,同时可以压缩库体积,减少嵌入式场景下的资源占用。
2. 椭圆曲线签名验签功能是否需要启用该配置项
该配置项的启用与否完全取决于业务使用的椭圆曲线类型:
- 如果业务只用素数域椭圆曲线(最常用的secp256r1、secp384r1、secp256k1、国密SM2等都属于这类),完全不需要用到sect系列二元域曲线,可以放心开启
no-ec2m配置,不会影响签名验签功能,还能裁剪冗余代码、降低攻击面,对VxWorks这类嵌入式场景的资源优化收益明显。 - 如果业务明确要求使用sect系列二元域椭圆曲线做签名验签,不能开启该配置项,开启后二元域EC相关功能会被完全移除,无法满足业务需求。
内容的提问来源于stack exchange,提问作者Martin Ravet
相关产品推荐
相关产品推荐

