Files
open62541/tools/certs/localhost_ecc.cnf

80 lines
1.9 KiB
INI

#
# OpenSSL configuration for ECC certificates.
# Like localhost.cnf but uses keyAgreement instead of keyEncipherment
# (required for ECDH-based OPC UA ECC security policies).
#
# Copyright 2026 (c) o6 Automation GmbH (Author: Andreas Ebner)
#
HOME = .
hostname = ${ENV::HOSTNAME}
ipaddress1 = ${ENV::IPADDRESS1}
ipaddress2 = ${ENV::IPADDRESS2}
uri1 = ${ENV::URI1}
####################################################################
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
string_mask = utf8only
req_extensions = v3_req
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = AU
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Some-State
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = Internet Widgits Pty Ltd
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
unstructuredName = An optional company name
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyAgreement
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = ${hostname}
DNS.2 = ${hostname}
IP.1 = ${ipaddress1}
IP.2 = ${ipaddress2}
URI.1 = ${uri1}
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:false
keyUsage = nonRepudiation, digitalSignature, keyAgreement, keyCertSign
extendedKeyUsage = TLS Web Server Authentication, TLS Web Client Authentication
subjectAltName = @alt_names