我试图对作为更高级软件模块运行的OPC UA客户端进行编程,并且应该可以通过该软件进行配置。 这就是为什么我想使用不同的命令而不是通过加载配置文件来进行配置的原因。 我使用OPC Foundation的SDK。但示例应用程序仅使用 " LoadApplicationConfiguration"和" CheckApplicationInstanceCertificate"创建配置和证书。
目前我的证书创建时间: CertificateFactory.CreateCertificate()
// find the certificate in the store. create a new certificate if not found.
X509Certificate2 clientCertificate =
_configuration.SecurityConfiguration.ApplicationCertificate.Find(true) ??
Opc.Ua.CertificateFactory.CreateCertificate(
_configuration.SecurityConfiguration.ApplicationCertificate.StoreType,
_configuration.SecurityConfiguration.ApplicationCertificate.StorePath,
_configuration.ApplicationUri,
_configuration.ApplicationName,
null,
null,
2048,
120);
我认为手动创建的证书工作正常,但现在我尝试实现Sign / SignAndEncrypt并且不能再创建连接了。当我使用其他ClientApplication创建的证书时,它可以正常工作。
所以我的问题是:我的证书是否需要特殊格式或特殊参数来允许Sign / SignAndEncrypt? 有没有人能够解决这个问题,或者这是错误的方法?
背景是,我希望以后能够配置商店类型和路径。目前证书存储在Windows商店中。