我是新来的ssl所以原谅我。 我用ssl设置了一个站点,并且所有的在线检查(例如https://ssltools.websecurity.symantec.com/checker/views/certCheck.jsp )都显示它已正确设置,并且该站点在浏览器中正常运行。 该网站使用支付网关,这是问题所在。 在testing付款时,我发现IPN没有运行。 所以我得到了支付网关服务提供商的支持,他们发回IPN没有运行的原因是因为这个错误 com.payjar.common.exception.TransactionProcessException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 我一直在网上阅读关于它,我已经find了很多关于keytool和truststore,但我不太清楚它是如何工作的,如果它甚至可以解决我的问题,因为IPN存储在我的服务器上,但它不是在浏览器上运行,而是由支付服务提供商运行。 所以我需要在我的服务器上使用这个keytool,或者他们需要在他们身边做些什么(这显然不是他们的select)? 任何帮助或指导将不胜感激如何解决这个错误。 我的服务器是运行Apache 2.4.7的Ubuntu 14.04.1。 SSL证书是一个CA签名证书。
我试图从运行RHEL6的单个IP服务器上运行多个SSL连接。 我已经成功地在SSL上configuration了一个域,但是当我尝试添加一个域时,Apache无法重新启动。 注释掉第一个域,这样只有新的域才能解决问题。 我的configuration如下: NameVirtualHost *:80 NameVirtualHost 192.168.0.10:443 # Domain 1 Works fine <VirtualHost 192.168.0.10:443> ServerName domain1.org.uk DocumentRoot /home/domain1/public_html <Directory "/home/domain1/public_html"> allow from all Options FollowSymLinks </Directory> SSLEngine on SSLCertificateFile /home/domain1/certs/domain1.org.uk.crt SSLCertificateKeyFile /home/domain1/certs/domain1.org.uk.key SSLCertificateChainFile /home/domain1/certs/gs_intermediate_ca.crt </VirtualHost> # Domain 2 kills apache <VirtualHost 192.168.0.10:443> ServerName domain2.org.uk DocumentRoot /home/domain2/public_html <Directory "/home/domain2/public_html"> allow from all Options FollowSymLinks </Directory> […]
在nginx中的端口80的服务器指令中,如果用户代理不是bot,我想将所有请求redirect到https。 我试着用这个: … location / { if ($http_user_agent !~* (bot|spider|crawler|sniffer|facebook) ) { return 301 https://host.com$request_uri; } include other-stuff.inc; } 我以为nginx将停止return但它不会。 它仍然处理include (它服务于正常的站点)并且不redirect。 (如果我评论include它做redirect,虽然)。 顺便说一句: break也行不通。
我有一个在2008 R2 XenApp 6盒子上运行的应用程序(HPOM Java GUI),它使用客户端证书来encryption到HPOM服务器的连接。 我有2个不同的用户组将使用这个应用程序连接到2个不同的HPOM服务器。 客户端证书存储没有保存在用户configuration文件文件夹中,它位于ProgramData下,因此两个用户组将始终在该证书存储中看到相同的文件。 理想情况下,我希望来自不同组的两个用户同时login到同一Citrix框中,并且能够看到他们自己的客户端证书文件,但是在同一个文件夹中。 (证书存储似乎不可configuration为一次处理2个服务器) 如此有效地,来自第一组的用户将看到与第二组中的用户不同的文件系统。 另外,如果有一种方法让不同的用户在HPOM Java GUIconfiguration中指向不同的证书存储区,那么情况会更好,但是我还没有find办法做到这一点。
我将haproxy设置为一个API终结器/负载均衡器,在我们需要通过互联网向客户公开的API前面。 该计划是使用相互(2路)SSL / HTTPS来validation双方是谁,因为没有进一步的身份validation本身。 最重要的是,我们还将利用一个IP白名单。 现在客户已经给了我们一个证书,双方都使用服务器和客户端证书,这个证书是由“通用”CA(DigiCert)签署的。 虽然我从客户的angular度理解这是好事,因为证书也与它所访问的服务器的主机名相比较,但是反过来似乎并不安全(至less不是用haproxy) 我目前的理解是,我必须告诉HAProxy使用'ca-file'指令来信任由Digicert签名的证书,但是,没有办法告诉它,除此之外它还需要成为一个特定的客户端证书,因为我不想信任由DigiCert签署的所有客户证书。 有没有办法做到这一点与HAProxy? 如果不是的话,我想唯一的办法就是为双方制作自签名的客户端证书并交换(或者说,证书签名请求,让另一方签名)。 或者,我对整个客户端证书概念的理解是错误的?
我有一个ec2节点供应主机mssql服务器。 我试图请求和安装此节点的ssl证书,以便我可以安全地连接到它,但我无法获得证书出现在MSSQLconfiguration实用程序下拉列表中。 从我的研究来看,这是因为根据sql server,证书是“无效的”,即使证书根据证书pipe理单元是有效的。 我怀疑这可能与CN的名字有关 – 但我不确定。 什么是正确的请求参数来获得有效的证书的SQL Server? 我正在使用startSSL。 重要属性: ServerName: FOO123 Domain: WORKGROUP DNS Suffix: mydomain.com DNS alias: db.mydomain.com
在我开始之前,我应该说我已经在Code Ranch上发布了这个问题,还没有得到答案。 我会确保这个网站和代码牧场收到的答案,我应该find一个… 我inheritance了一个使用JRun4运行的EJB编写的旧应用程序。 JRun4提供内容 – 也就是说我们没有Apache,IIS或类似的东西。 该应用程序仅在内部使用,根本不可见于防火墙外部。 网页内容包含可识别的信息,所以我们试图让应用程序使用SSL。 在我的组织内部,我们使用Active Directory证书服务来处理仅限于内部的应用程序,并且我们有一个内部签名证书,分发给所有工作站,也用于签署所有内部签名请求。 很明显,这个签名证书不是Java信任链的一部分。 我无权访问签名密钥,因此我尽可能使用OpenSSL进行模拟。 这个想法是创build一个签名权限,并使之与JRun4一起工作。 由于我完全控制了链条,我可以快速试验看看有什么作用。 我没有能够通过“同行未经authentication”。 我的理解是错误消息是由于Java找不到CA公钥导致的。 但是,我已经把它添加到了每个我能想到的地方,而且我仍然得到了错误。 这里是我的步骤,铭记我只是想抓住如何让这个工作,所以我知道怎么做生产服务器上: 1)我使用MinGW从源代码编译OpenSSL 1.0.1j。 2)我使用的configuration和步骤从SSL – https://stackoverflow.com/questions/21297139/how-do-you-sign-openssl-certificate-signing-requests-with-your-certification-aut创build一个CA 。 3)CA与我运行JRun的地方在一个单独的设备上。 4)我有JRun复制 – 但没有安装 – 在C:\ JRun4工作站上。 5)Java 6安装在我的工作站上的C:\ Programs \ jdk1.6.0上。 (注意,我不能让JRun使用更新的Java版本,它抱怨jvm.dll) 6)我使用密码“changeit”在C:\ JRun4 \ lib中生成了一个新的密钥库。 7)我从该密钥库生成了一个签名请求。 8)我将.csr复制到另一个工作站上并签名。 9)我将签名密钥和CA密钥从另一个工作站复制回JRun工作站。 10)我首先将CA密钥导入到四个地方 – C:\ Programs \ jdk1.6.0 \ lib \ security […]
与其他许多人一样 ,我也遇到了Google Chrome在我的网站上抱怨过时的安全设置的问题。 我有一个RapidSSL证书,所以我重新颁发了证书,现在使用这个工具和SSL实验室检查。 Chrome正在加载重新颁发的authentication,但仍然抱怨过时的安全性。 我注意到,在Chrome的证书查看器中,仍然有一个对SHA-1指纹的引用。 这是问题吗? 如果是的话,我该如何解决? 如果没有,关于发生什么事情的任何想法? :
我希望用户在调用特定的HTTP方法时进行身份validation,而在调用其他HTTP方法时不需要进行身份validation。 我使用Limit指令,因为这应该做我想要的,但是我不能得到它的工作。 SSLVerifyClient none <Location /foo> SSLVerifyClient none <Limit PUT> SSLVerifyClient require </Limit> </Location> 似乎最后的SSLVerifyClient语句总是被执行,无论我做了哪个调用(PUT,DELETE) 我也尝试使用LimitExcept但它有相同的错误行为。 由于我无法在网上find答案,我认为这是一个不容易的,但我上周开始工作,以填补假期的同事。 有人能帮我吗?
我有一台服务器提供多个SSL虚拟主机和非SSL虚拟主机。 如果使用“https”访问其中一个非SSL虚拟主机,则使用第一个SSL指令。 是否有一些设置,以便只有显式匹配服务器名称的虚拟主机才能使用? 所以,假设我有www.a.com , www.b.com和www.c.com 。 比方说,我也有https://www.a.com和https://www.b.com 。 如果我去https://www.c.com ,就和使用网站https://www.a.com 。 这是不受欢迎的行为。 有什么我可以设置,以便没有网站将被使用?