我正在使用自签名证书向服务器发出https请求(使用请求模块)。如果我未指定strictSSL: false
为选项,则会引发错误。
我的OS(OSX)已信任此证书,因此Chrome从该服务器访问网页时不会引发错误。
我了解不同的应用程序/环境可能具有自己的证书存储。Firefox拥有自己的操作系统,例如,JVM通常位于$ JAVA_HOME / jre / lib /
security / cacerts(在OSX上)。
我的问题是,节点在哪里寻找其受信任的CA?有这样的概念吗?我想在此处添加我的自签名证书以用于开发。
没有商店。您可以将ca
选项传递给https请求,以告诉它您信任哪些CA。
从文档:
tls.connect()
也可以指定以下选项。但是,globalAgent
无声地忽略了这些。
ca
:用于检查远程主机的授权证书或授权证书阵列。
为了指定这些选项,请使用custom
Agent
。var options = { ... ca: CA or [array of CAs] ... }; options.agent = new https.Agent(options); var req = https.request(options, function(res) {
参考:http
:
//nodejs.org/api/https.html#https_https_request_options_callback
我想写一些可以枚举和使用(签名)证书在货币用户/我和LocalMachine/我,但我还没有能够找到任何Windows证书存储,只有Java自己的秘密存储。这个链接看起来很有希望,但我只能使用Java。 我以前在SO上发现过这个问题,但这是五年前的问题,在计算机时代是很长的时间了。谢谢!
null 有什么想法吗?我一筹莫展...任何帮助都将不胜感激。
我已经尝试了各种方法,通过导入一个基于BouncyCastle的X509Certificate实例和相关的私钥(RsaPrivateCrtKeyParameters)。NET X509Certificate2一个RSACryptServiceProvider实例,并将其保存到证书存储区(NET的X509Store,My/CurrentUser)。 在证书存储MMC管理单元中,似乎有一个与证书相关联
在证书链验证期间,我需要将自定义的自签名根证书标记为受信任的,总的来说,我希望尽可能依赖系统API。 我创建了一个临时内存存储。 然后我将自定义根证书放入存储中。 CertGet证书链MSDN留档表示 HadAdditional存储任何附加存储的句柄,以搜索支持证书和证书信任列表(CTL)。 据我所知,如果我用根证书创建一个CTL并将其放置到存储中,CertGet证书链将信任它。因此,我在分配的缓
我遇到了一个奇怪的问题——供应商使用TLS SSLv3,同时使用自签名客户端和服务器证书。Java1.5和Java1.6没有这个问题——只需将客户端证书和私钥导入密钥库,将服务器公共证书导入信任库。一切都很好。然而,在Java7中,服务器证书无法被信任,即使使用的是同一个信任库。我尝试过使用Java7 (1.7.03, 04和05、x86和x64版本)的视窗和红帽,但没有成功。 我从头开始重新创建
我正在使用Mikeal的请求(https://github.com/mikeal/request)向服务器发出https请求。但是,我一直收到CERT_HAS_EXPIRED的授权错误。 我已经尝试将严格SSL设置为true和false,两者输出相同的CERT_HAS_EXPIRED错误。是什么导致了这个问题,有没有办法在nodejs中修复它?