我目前正在构建一个.NET
webapi服务,该服务应该由IBM Notes使用。最终产品中的连接应该是使用https
上的java代理从domino服务器到webapi的调用。
到目前为止,我一直在使用http
在两者之间进行通信,这很容易。
但现在我想改为使用https
,所以我创建了一个自签名证书,并使用Elizabeth Andrews的Jayway.com指南将其插入IIS
。
经过一些调整,我使它发挥了作用,我的自签名证书受到了操作系统的信任。
证书是:
SHA512 RSA2048bit
我在笔记中找到了关于如何将证书插入cacerts存储的"指南":http://www-01.ibm.com/support/docview.wss?uid=swg21588966尽管在客户端上工作,并且本指南适用于服务器a,但假设jvm在两者上的工作方式相同。
之后,我在java代理中尝试了一个简单的https调用,如下所示:http://www-10.lotus.com/ldd/ddwiki.nsf/dx/Connecting_to_a_Domino_server_over_SSL_in_Java_using_a_self_signed_certificate._
现在我的问题是,当代码作为java项目运行时,它是有效的,但当代码作为notes代理运行时,我会得到以下异常:
javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: No trusted certificate found
如果有人愿意推动我朝着正确的方向前进,我将不胜感激。
Domino服务器有一个名为names.nsf的目录,它在其中存储(别名间)信任的凭据。这本身包括主要证书供应商的根证书,例如Verisign&公司
这里有两个选项:-去专业人士那里买一个知名供应商的证书-或者在Domino存储库中导入您自己的自签名证书。