openssl 创建自签名证书,对 Windows Catalog 进行签名

NI-VISA Driver Wizard 生成了一个 .INF 文件。右键该文件安装的过程中提示错误:第三方 INF 不包含数字签名信息。

Driver Wizard 生成的 INF 文件,必须为其创建 Windows Catalog (.cat)文件并进行数字签名,然后才能在Windows 10(或更高版本)机器上安装INF文件。

打开 Windows Terminal 在 .INF 文件所在目录下执行如下命令,生成 Windows Catalog 文件:

Inf2Cat /driver:. /os:10_X64

Windows 平台依赖环境安装

Linux 平台依赖环境安装

sudo apt install openssl

准备证书

目的:Linux 平台使用OpenSSL生成带有基本约束扩展的证书

  1. 创建文件 openssl.cnf,内容如下
[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name

[v3_req]
basicConstraints = CA:FALSE

[req_distinguished_name]
countryName            = US
stateOrProvinceName    = California
organizationName       = DeadBeef 
commonName             = DeadBeef.com
  1. 请求签发 CSR
openssl req -new -x509 -key private.key -out certificate.crt -days 36500 -config openssl.cnf
  1. 生成自签名证书
openssl pkcs12 -export -in certificate.crt -inkey private.key -out yourfile.pfx

Windows Catalog 签名

将上前面生成的证书相关的文件,全部拷贝到 Windows 目录,跟 .INF .cat 文件放在一起。

signtool.exe sign /fdws /f yourfile.pfx /p 123456 prefix.cat

安装证书

右键 openssl 生成的 certificate.crt 文件进行 安装证书,如何安装 cert 自行百度

  • 存储位置: 本地计算机
  • 将说有的证书都放入下列存储:浏览 受信任的根证书颁发机构

安装 INF

右键点击 .inf 文件,选择安装.

参考链接