使用openssl req -new -x509命令生成证书失败
问题现象描述
安装了鲲鹏加速引擎后使用openssl req -new -x509命令生成证书失败,提示“281461739307968:error:0E06D06C:configuration file routines:NCONF_get_string:no value:crypto/conf/conf_lib.c:273:group=req name=distinguished_name”。
关键过程、根本原因分析
使用OpenSSL生成证书时,会读取OpenSSL安装目录下的配置文件openssl.cnf,如果在执行OpenSSL生成证书的命令时,安装了鲲鹏加速引擎,且按照指导文档配置了以配置文件openssl.cnf的方式使用鲲鹏加速引擎,此时,就会出现该报错。
结论、解决方案及效果
方法一:不使用配置文件openssl.cnf的方式使用鲲鹏加速引擎,而是使用指定鲲鹏加速引擎路径的方式使用
- 取消openssl.cnf的环境变量。
unset OPENSSL_CONF
- 指定鲲鹏加速引擎路径。
export OPENSSL_ENGINES="/usr/local/lib/engines-1.1"
方法二:不使用鲲鹏加速引擎自定义创建的openssl.cnf,而是使用OpenSSL自带的openssl.cnf文件
- 取消鲲鹏加速引擎自定义创建的openssl.cnf的环境变量。
unset OPENSSL_CONF
- 在OpenSSL安装目录下的openssl.cnf文件中指定位置(如图1所示)加入鲲鹏加速引擎的配置内容。openssl.cnf文件一般在openssl安装目录中的ssl目录下,也可使用命令find / -name "openssl.cnf"查找openssl.cnf文件。
openssl_conf=openssl_def [openssl_def]engines=engine_section [engine_section] kae=kae_section [kae_section] engine_id=kaedynamic_path=/usr/local/lib/engines-1.1/kae.so KAE_CMD_ENABLE_ASYNC=1 #可选配置, 0表示不使能异步功能,1表示使能异步功能,默认使能 KAE_CMD_ENABLE_SM3=1 #可选配置, 0表示不使能SM3加速功能,1表示使能SM3加速功能 ,默认使能 KAE_CMD_ENABLE_SM4=1 #可选配置, 0表示不使能SM4加速功能,1表示使能SM4加速功能,默认使能 default_algorithms=ALL #表示所有算法优先查找引擎,若引擎不支持,则切换OpenSSL进行计算 init=1 #导出
此时可正常使用生成证书功能。
父主题: 软件类