OPC UA安全认证证书分析

2019-01-24 6012点热度 36人点赞 0条评论

原创作者:王永建(blog@wangyongjian.cn)

原文引用地址:blog.wangyongjian.cn


  证书是由CA(数字证书认证机构)认证、签发及管理的、实现身份识别和电子信息加密,为网络上通信双方提供电子认证,其包含的公匙和私匙是所有者的网络识别信息。这里需要说明的是CA并不一定是一个组织机构,也可以是一个自然人。

  证书包含CA信息、公匙用户(证书所有者)信息、公匙、有效期等信息,目前,证书的普遍遵守由国际电信联盟(ITU-T)制定的X.509数字证书标准。OPC UA标准中安全认证采用的就是x.509格式的证书。X.509共发布了3个版本,目前应用最多的是V1版和最新的V3版,V2版应用较少。

  OPC UA认证过程采用后缀名为PFX和DER格式的数字证书。PFX证书包含公匙和受密码保护的私匙,BER(Basic Encode Rules)编码,是比较常见的,但是BER编码具有编码不唯一性,也就是说,一个相同的对象通过BER编码可能会产生几种不同的编码数据。所以,日常使用中多使用BER的一个子DER(Distinguished Encoding Rules)。对于每一个ASN.1(Abstract Syntax Notation One标准,这是一种描述数字对象的方法和标准)对象,使用DER编码得出的二制编码码数据是唯一的。

  认证文件生成可通过OpenSSL、微软的makecert等工具完成。本文以makecert为例说明生成符合X.509规范的数字证书。
  Makecert是一个命令行工具,配合特定的参数完成数字证书的发放。制作OPC UA证书会用到的参数有:

-a algorithm 指定签名算法。必须是 md5(默认值)或 sha1。

-n x509name指定主题的证书名称。此名称必须符合 X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,"CN=HTHX"。

-sr location指定主题的证书存储位置。Location 可以是 currentuser(默认值)或 localmachine。

-ss store指定主题的证书存储名称,输出证书即存储在那里。

-iky keytype指定颁发者的密钥类型,必须是 signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 1 表示交换密钥,传入 2 表示签名密钥。

-pe将所生成的私钥标记为可导出。这样可将私钥包括在证书中。

-ir location指定颁发者的证书存储位置。Location 可以是 currentuser(默认值)或 localmachine。

-is store指定颁发者的证书存储名称。

-in name指定颁发者的证书公用名称。

wangyongjian

这个人很懒,什么都没留下

文章评论