Articles of ssl certificate

Nginx客户端SSLauthentication

我有Nginx纯粹作为一个代理服务器的各种数量的Web服务器运行。 我们的一个客户要求我们使用客户端证书,并为3台不同的机器提供了3个证书,这些机器将连接到一台代理服务器上运行的web服务。 从未这样做,我find了相关的nginx设置,并创build了一个站点configuration(下面的相关部分) server { listen 443 ssl; server_name service.domain.com; ssl_certificate /etc/nginx/ssl/wildcard/server.crt; ssl_certificate_key /etc/nginx/ssl/wildcard/server.key; ssl_client_certificate /etc/nginx/ssl/client.certificates/client_package.cer; ssl_verify_client on; 我将3个客户端证书和由开发者创build的证书(这个是自签名的)在开发过程中连接到上面提到的单个文件。 客户现在试图访问该网站,但无法这样做。 作为configurationtesting,我从连接的证书文件中删除了开发人员证书,并确认他无法访问该网站。 一旦我将他的证书添加到连接文件中,他(开发人员)就可以再次正确访问网站。 我打开了错误日志的debugging级别访问,当客户端试图连接时,我得到了以下错误。 2015/08/13 11:57:41 [info] 27601#0:* 1963客户端在处理SPDY时没有发送所需的SSL证书,客户端:1x.xx.xx.xx,服务器:service.domain.com,请求:“ GET /test.cfm HTTP / 1.1“,主机:”service.domain.com“ 从上面的configuration中可以看到,我没有启用SPDY(但我在其他站点上),客户端确保他们发送客户端证书。 因为这是我第一次这样做,所以我想确保在我回去之前说我的日志说你没有发送客户端证书,我已经把所有的东西都修改了。 关于发给我的证书:所有3个都由同一个公共证书机构签字。 然而,我并没有在连接的文件中有整个链。 我在网上发现了哪些指南,其中也提到了根CA,但是他们都在谈论自签名,而这些都不是。 所以我不确定这是否适用。 为了澄清,我也没有试图将客户端证书传递给代理服务器。 nginx版本:nginx / 1.8.0 openssl版本:OpenSSL 1.0.1k 2015年1月8日 如果有任何更多的信息,请让我知道

如何找出哪个服务器产生了一个CSR

几个月前我给客户发了一封CSR,现在他们终于把我的回复邮件给我了。 但是,有多个Windows 2008R2服务器,我不记得哪一个我用来生成CSR,因此,我不知道哪个服务器包含私钥。 我怎样才能find? 更新 在我怀疑是正确的服务器上,我使用MMC(certmgr.msc)和证书(本地计算机)>证书注册请求>证书进入本地计算机的证书pipe理,我发现与CSR。 但是,我的问题是,当我尝试从IIS(我创buildCSR)完成请求时,它不会将其与此私钥相关联。 我试过certreq -accept -machine“c:\ cert.crt”,但是我得到这个错误: Certificate Request Processor: Cannot find object or property. 0x80092004 (-2146 885628) 第二次更新 我发现客户使用了不同的CSR,而不是我们派他们去申请证书。 我通过比较他们证书上的“颁发给”信息与我发送给他们的CSR上的相同信息,发现城市不同。 希望能帮助别人处理有问题的客户:)

Azure是否支持UCC / SAN SSL证书?

我有一个Azure Web应用程序有15个域名(即所有域名映射到相同的应用程序)。 我需要为所有15个域提供SSL,指向同一个Web App。 我的观察到目前为止: 传统的SSL绑定每个域需要一个IP地址,所以我需要这个Web App的15个IP地址。 Azure Web App只为每个networking应用程序提供一个IP,除非我以每个$ 39的价格购买额外的IP。 我想避免购买15个额外的IP地址。 我可以在同一个应用程序服务计划下创build15个Web应用程序,但是看起来他们都使用相同的外部IP地址,只要它们在同一个应用服务计划中,是正确的? 较新的SNI绑定scheme可以在多个域中使用单一的IP地址,但在旧版本的浏览器(例如WinXP上的IE)中不受支持(或多或less是我发现的SNI的唯一限制) 我想避免SNI SSL绑定,因为我们从不支持SNI的Windows XP / IE用户获得了相当可观的收入。 鉴于我的要求: 在单个应用程序服务计划(单个或多个Web应用程序实例)上支持15个域名的SSL 如果可能,避免购买额外的IP 如果可能,避免SNI …在我看来,唯一合理的select剩下的是UCC / SAN SSL证书,对吗? 如果是这样,当我试图通过Azure购买“应用服务证书”时,我得到以下信息框,这意味着UCC证书不是一个选项(至less对于购买): 我的问题是: a)根据我的要求,我的计划是使用SAN证书适当的课程吗? b。)Azure是否甚至支持这样的场景的UCC / SAN证书? 我不想购买证书,只是发现我不能按照我的意图使用它。 提前致谢!

OpenVPN失败通过udp的自签名证书,通过tcp工作

我有以下server.conf: # OpenVPN 2.x config proto tcp port 1194 dev tun-vpn dev-type tun server 10.8.0.0 255.255.0.0 push "route 172.16.0.0 255.255.0.0" push "dhcp-option DOMAIN mydom.com" push "dhcp-option DNS 172.16.1.1" # Certificates ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key tls-server # Diffie hellman parameters dh /etc/openvpn/easy-rsa/keys/dh1024.pem # Connection settings comp-lzo ping 10 ping-restart 120 # Server security persist-key […]

如何在Linux操作系统上自动从networkingstream量中提取X.509证书

如果有人能指点我,我将不胜感激如何在Linux操作系统的客户端和服务器之间的握手阶段自动从实时networkingstream量中提取X.509证书。 一段时间后,一个类似的问题被问到安静从networking或pcap文件提取SSL证书,但答案是不完整的。 答案说使用下面的命令 ssldump -Nr file.pcap | awk 'BEGIN {c=0;} { if ($0 ~ /^[ ]+Certificate$/) {c=1; print "========================================";} if ($0 !~ /^ +/ ) {c=0;} if (c==1) print $0; }' 但是由于pcap文件的参与,给出了手动提取证书的方法。 任何人都可以帮助修改上面的命令,以适应我的要求,或build议任何其他替代方法做同样的。

curl:无法获得本地发行人证书。 如何debugging?

我有一个奇怪的问题。 更新我的LAMP开发机器(Debian)到PHP 7.之后,我无法通过Curl连接到特定的TLSencryptionAPI。 有问题的SSL证书是由thawte签署的。 curl https://example.com 给我 curl: (60) SSL certificate problem: unable to get local issuer certificate 而 curl https://thawte.com 当然这也是Thawte的作品。 我可以通过其他机器上的HTTPS访问API网站,例如我的桌面通过curl和浏览器。 所以证书是有效的。 SSL实验室的评级是A. 从我的开发机器到其他SSLencryption站点的任何其他curl请求的工作。 我的根证书是最新的。 为了validation,我运行了update-ca-certificates 。 我甚至将http://curl.haxx.se/ca/cacert.pem下载到/ etc / ssl / certs并运行c_rehash 。 还是一样的错误。 有没有办法debuggingvalidation过程,看看哪些本地发行者证书curl(或openssl)正在寻找,但没有find,即文件名? UPDATE curl -vs https://example.com 告诉我(IP +域名匿名) * Hostname was NOT found in DNS cache * Trying 192.0.2.1… […]

IIS 8 – 默认SSL站点中断SNI

我们在使用IIS 8的Windows Server 2012 R2上testingSNI的情况如下。下面列出的域名和IP地址是假的,仅供举例 。 WEB SITE NAME IP ADDRESS Host Name/Header (SNI) Certificate Domain ============================================================================== x.domain.com 10.10.0.1 x.domain.com x.domain.com y.domain.com 10.10.0.1 y.domain.com y.domain.com 当只有“x.domain.com”和“y.domain.com”使用SNI和自己的证书在同一IP地址上configuration时,两个站点在所有浏览器上都能正常工作,但是当您select任一站点时,IIS将显示会显示一条消息,指出“没有默认的SSL站点已经创build。为了支持没有SNIfunction的浏览器,build议创build一个默认的SSL站点”。 如果我创build了一个默认的SSL站点(使用HTTPS但是没有主机名/ SNI的IP地址相同的站点),则会在同一IP地址上的其他SNI站点上打开证书。 如果我添加如下的默认SSL网站 WEB SITE NAME IP ADDRESS Host Name/Header (SNI) Certificate Domain ============================================================================== somedomain.com 10.10.0.1 NULL somedomain.com 一旦存在(与使用什么证书无关),该IP地址上的其他SNI域就会生成证书错误,因为IIS显然会向用户提供缺省SSL站点的证书,而不是为站点指定的证书IIS。 任何人都可以请阐明如何在IIS中正确configuration默认SSL站点?

docker – 虚拟主机 – SSL证书

我想为我在单个Jetty实例中托pipe的不同域颁发不同的SSL证书。 我不想让我的Jetty应用程序服务器与Apache。 我正在运行Jetty 6.1.22。 到目前为止,我只看到一个SSL证书的configuration,SSL的configuration发生在服务器内,这使得我相信Jetty被devise为支持单一的SSL证书。 请让我知道,如果我可以使用多个证书的Jetty。 我正在考虑迁移到JBoss应用服务器6.0,因为它离真正的应用服务器更近。 这是否可以在那里完成,这是一个支持的function? search一下后,我碰到这个: https : //stackoverflow.com/questions/208149/configure-multiple-keystores-in-jboss-depending-on-requested-hostname 是这样吗? 如果是这样,那么我认为Jetty或任何其他应用程序服务器将支持它。 我需要有2个不同的连接器 – 不同的端口或IP地址。 那么,我需要在这种情况下有Apache代理Jetty / JBoss。 沃尔特

Openssl错误19:“GoDaddy”键入的“证书链中的自签名证书”

有人可以帮助我了解如何validation我的SSL证书安装是否正确(或解决问题的原因)? 我在我的Apache服务器上安装了GoDaddy SSL证书。 一些用户仍在报告问题(某些版本的IE浏览器显示“此页面无法显示”,没有进一步解释),openssl说在链中有一个“自签名”的证书。 请注意,这不是一个自签名的证书 。 它由GoDaddy签署。 本文有一个相关的答案,不起作用: https : //stackoverflow.com/a/4106224/1723405 以下是我采取的步骤: 步骤1:生成一个私钥 openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key 第二步:转到GoDaddy并重新粘贴CSR.csr 。 第3步:在Apache中安装crt和bundle文件,然后重新启动。 // In <VirtualHost> SSLEngine on SSLProtocol -ALL +SSLv3 +TLSv1 SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP SSLVerifyClient none SSLCertificateFile /path/to/allthingsinsurance.net.crt SSLCertificateKeyFile /path/to/privateKey.key SSLCertificateChainFile /path/to/gd_bundle-g2.cr % apachectl restart 步骤4:转到几台机器中的任何一台,但无法使用openssl进行validation。 % openssl s_client -connect allthingsinsurance.net:443 -showcerts […]

如何为Windows Server 2008 R2 CA颁发的证书上的主题字段添加自定义OID?

我正在使用安装了Active Directory证书服务的Windows Server 2008 R2域控制器。 它被configuration为企业根CA. 我configuration了自定义证书模板,以便可以从CA生成扩展validationSSL证书。 在许多EV SSL证书中,在已颁发证书的“主题”字段中指定了以下OID: 2.5.4.15 =组织types 1.3.6.1.4.1.311.60.2.1.2 = STATE 1.3.6.1.4.1.311.60.2.1.3 = COUNTRY 例如: 2.5.4.15 =私人组织 1.3.6.1.4.1.311.60.2.1.2 =亚利桑那州 1.3.6.1.4.1.311.60.2.1.3 = US 我正在尝试查看是否已经有一个地方可以指定这些自定义OID及其在从CA通过Active Directory请求证书时要使用的值。 我查看了EV SSL Hotmail证书,其证书在其“主题”字段中包含以上OID: http://yffaz.org/imgs/hotmail.png 如果我使用MMC证书pipe理单元并select“本地计算机”并尝试使用提供的值使用我的自定义证书模板来请求证书,那么我只能看到以下项目,并且没有可以指定OID的地方: http://yffaz.org/imgs/adcs-request.png 有没有人有一个想法,我可能会做到这一点?