Openssl 为OPC客户端生成证书

Openssl 为OPC客户端生成证书,openssl,certificate,x509certificate,opc,opc-ua,Openssl,Certificate,X509certificate,Opc,Opc Ua,我正在编写一个OPC UA客户端,以连接到Sofnet(西门子的OPC服务器)。连接的服务器方法是SignAndEncrypt,因此我需要一个“der”格式的x509证书 我用openssl制作了自己的自签名证书,但有一个名为“Subject Alt Names”的字段,我必须在其中指定URI的应用程序。我已经看到这个字段可以用openssl的配置文件填充,但是当我创建证书时,我看不到“Subject Alt Names” 有人能帮我创建证书或给我一个提示来验证我的OPC客户端吗 提前感谢。您可

我正在编写一个OPC UA客户端,以连接到Sofnet(西门子的OPC服务器)。连接的服务器方法是SignAndEncrypt,因此我需要一个“der”格式的x509证书

我用openssl制作了自己的自签名证书,但有一个名为“Subject Alt Names”的字段,我必须在其中指定URI的应用程序。我已经看到这个字段可以用openssl的配置文件填充,但是当我创建证书时,我看不到“Subject Alt Names”

有人能帮我创建证书或给我一个提示来验证我的OPC客户端吗

提前感谢。

您可以创建一个bash文件(即:mkcert.sh),该文件将完成以下所有过程:

  • 创建2048位的RSA密钥
  • 创建证书请求
  • 将其签名为您自己的密钥(自签名证书),并将extensions.cnf中的额外信息添加到证书中
  • 获取证书的PEM和DER版本(opt)
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}替换为真正的OPC UA客户端IP。

您可以创建一个bash文件(即:mkcert.sh),该文件将完成以下所有过程:

  • 创建2048位的RSA密钥
  • 创建证书请求
  • 将其签名为您自己的密钥(自签名证书),并将extensions.cnf中的额外信息添加到证书中
  • 获取证书的PEM和DER版本(opt)
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}

用真正的OPC UA客户端IP替换这两种情况下的{u IP}。

您是否使用工具包或SDK开发客户端?它们通常有文档或代码来帮助生成证书……您是否使用工具包或SDK来开发您的客户机?这些文件或代码通常有助于生成证书…我们如何在此处使{YOUR_IP}动态?@KishanKishore我们如何在此处使{YOUR_IP}动态?@KishanKishore