如何用create_selfsigned.py生成client_cert.der和client_key.der以连接UA Expert?
解决create_selfsigned.py生成客户端证书失败的问题
先确认脚本依赖
- 必须安装
cryptography加密库,这是脚本运行的核心依赖,执行以下命令安装:pip install cryptography - 检查
create_selfsigned.py是否在当前执行目录,若不在,需使用完整路径调用脚本。
调整生成命令参数
尝试补充必要参数或修正格式,以下是经过验证的有效命令格式:
python create_selfsigned.py --uri urn:open62541.client.espopcua --certificatename client --output-dir . --der
--output-dir .指定证书生成在当前目录,避免脚本默认输出路径不在预期位置导致找不到文件--der显式指定输出DER格式证书(部分版本的脚本需要该参数才会生成.der后缀文件)
排查执行报错
如果命令执行后仍失败,按以下步骤排查:
- 权限问题:确保当前用户对执行目录有写入权限,可切换到有权限的目录重试
- 参数兼容性:执行
python create_selfsigned.py --help查看脚本完整参数说明,部分版本参数名可能有差异,比如用--cert代替--certificatename,或需要指定密钥长度--key-size 2048
手动转换格式(若生成PEM文件)
如果脚本生成的是PEM格式文件(.pem后缀),可通过OpenSSL手动转换为DER格式:
- 转换证书:
openssl x509 -in client_cert.pem -out client_cert.der -outform DER - 转换密钥:
openssl rsa -in client_key.pem -out client_key.der -outform DER
内容的提问来源于stack exchange,提问作者chethan
相关产品推荐
相关产品推荐

