Вы можете создать файл bash (например, mkcert.sh), который будет выполнять весь процесс:
- Создание ключа RSA 2048 бит.
- Создание запроса сертификата.
- Подпишите его своим собственным ключом (самозаверяющим сертификатом) и добавьте дополнительную информацию из файла extensions.cnf к сертификату
- Получите версию сертификата PEM и DER (опция)
Файл bash должен содержать
openssl genrsa -out default_pk.pem 2048
openssl req -new -key default_pk.pem -out cert.csr -subj "/C=US/ST=NY/L=NY/O=Organization/OU=OrganizationUnit/CN={YOUR_IP}"
openssl x509 -req -days 3650 -extfile extensions.cnf -in cert.csr -signkey default_pk.pem -out public.pem
openssl x509 -in public.pem -inform PEM -out public.der -outform DER
Затем вам понадобится файл extensions.cnf, содержащий информацию SubjectAltName и некоторую другую информацию.
basicConstraints=CA:TRUE
authorityKeyIdentifier=keyid,issuer
keyUsage=dataEncipherment,keyEncipherment,nonRepudiation,digitalSignature,keyCertSign,cRLSign
extendedKeyUsage=serverAuth,clientAuth
subjectAltName=URI:URN:{YOUR_IP}
Заменить вв обоих случаях {YOUR_IP} с вашим реальным IP-адресом клиента OPC UA.