标签: ca

HTTPS和SSL3_GET_SERVER_CERTIFICATE:证书验证失败,CA正常

我正在使用XAMPP进行开发.最近我将xampp的安装从旧版本升级到1.7.3.

现在当我卷曲启用HTTPS的网站时,我得到以下异常

致命错误:未捕获的异常'RequestCore_Exception',消息'cURL resource:Resource id#55; cURL错误:SSL证书问题,验证CA证书是否正常.详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败(60)'

每个人都建议使用PHP代码中的一些特定curl选项来解决这个问题.我认为这不应该是这样的.因为我的旧版XAMPP没有任何问题,只是在安装新版本后才发生.

我需要帮助来弄清楚我的PHP安装中哪些设置发生了变化,Apache等可以解决这个问题.

php ssl curl openssl ca

206
推荐指数
6
解决办法
37万
查看次数

您如何与您的证书颁发机构签署证书签名请求?

在我的搜索过程中,我找到了几种签署SSL证书签名请求的方法:

  1. 使用x509模块:

    openssl x509 -req -days 360 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用ca模块:

    openssl ca -cert ca.crt -keyfile ca.key -in server.csr -out server.crt
    
    Run Code Online (Sandbox Code Playgroud)

注意:我不确定是否使用了正确的参数.如果我要使用它,请告知正确的用法.

应该使用哪种方式与证书颁发机构签署证书请求?一种方法比另一种方法更好(例如,一种方法被弃用)?

ssl openssl ca csr

181
推荐指数
3
解决办法
24万
查看次数

接受与自签名证书的HTTPS连接

我正在尝试使用HttpClientlib 进行HTTPS连接,但问题在于,由于证书未由Verisign,GlobalSIgn等公认的证书颁发机构(CA)签署,并列在Android受信任证书集上,我一直在javax.net.ssl.SSLException: Not trusted server certificate.

我已经看到了你只接受所有证书的解决方案,但如果我想询问用户该怎么办?

我想得到一个类似于浏览器的对话框,让用户决定是否继续.我最好使用与浏览器相同的证书库.有任何想法吗?

ssl https android ca httpclient

149
推荐指数
6
解决办法
28万
查看次数

Java支持Let的加密证书吗?

我正在开发一个Java应用程序,它通过HTTP查询远程服务器上的REST API.出于安全原因,应将此通信切换为HTTPS.

现在Let's Encrypt开始了他们的公开测试版,我想知道Java目前是否可以使用他们的证书(或者确认将来会工作).

让加密得到IdenTrust的中间交叉签名,这应该是个好消息.但是,我在这个命令的输出中找不到这两个中的任何一个:

keytool -keystore "..\lib\security\cacerts" -storepass changeit -list
Run Code Online (Sandbox Code Playgroud)

我知道可以在每台机器上手动添加可信任的CA,但由于我的应用程序可以免费下载和执行而无需进一步配置,我正在寻找"开箱即用"的解决方案.你有好消息吗?

java ssl ca keystore lets-encrypt

119
推荐指数
4
解决办法
6万
查看次数

为什么java握手期间java不发送客户端证书?

我正在尝试连接到安全的Web服务.

即使我的密钥库和信任库已正确设置,我也会收到握手失败.

经过几天的挫折,无休止的谷歌搜索并询问周围的每个人我发现唯一的问题是java选择不在握手期间将客户端证书发送到服务器.

特别:

  1. 服务器请求客户端证书(CN = RootCA) - 即"给我一个由根CA签名的证书"
  2. Java查看了密钥库,只发现了我的客户端证书,该证书由"SubCA"签署,而"SubCA"又由"RootCA"签发.它没有费心去查看信任库...呃好吧我猜
  3. 可悲的是,当我试图将"SubCA"证书添加到密钥库时,这根本没有帮助.我确实检查了证书是否被加载到密钥库中.他们这样做,但KeyManager忽略除客户端之外的所有证书.
  4. 所有上述情况导致java决定它没有任何满足服务器请求的证书并且什么都不发送... tadaaa握手失败:-(

我的问题:

  1. 我是否有可能以"破坏证书链"或某种方式将"SubCA"证书添加到密钥库中,以便KeyManager仅加载客户端证书并忽略其余证书?(Chrome和openssl设法解决这个问题,为什么不能使用java? - 请注意,"SubCA"证书总是作为受信任的权限单独提供,因此Chrome显然在握手期间正确地将其与客户端证书一起打包)
  2. 这是服务器端的正式"配置问题"吗?服务器是第三方.我希望服务器能够请求由"SubCA"授权机构签署的证书,因为这是他们为我们提供的.我怀疑这个在Chrome和openssl中工作的事实是因为它们"限制性较小"而java只是"按书"而且失败了.

我确实为此设置了一个肮脏的解决方法,但我对此并不高兴所以如果有人能为我澄清这个,我会很高兴.

java ssl https certificate ca

63
推荐指数
2
解决办法
7万
查看次数

npm添加根CA.

我正在寻找一种方法来向NPM添加自定义CA,以便我可以使用所述证书(内部git-server)从一个位置下载,而无需使用所有CA检查

npm config set strict-ssl false
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?(如果没有:是否已经存在缺陷?)

ca npm

52
推荐指数
2
解决办法
4万
查看次数

自签名SSL证书或CA?

我想加密我的网站的身份验证和注册部分(显而易见的原因).这个网站是目前和旧网站,我和一些朋友在中学开始使用,今天仍在使用.我可能会或可能不会在不久的将来将其注册为非营利组织,但不管怎样,CA都要花钱而组织没有,我们现在是大学生.

Verisign是不合理的,GoDaddy每年30美元.GoDaddy并不是太不合理,我认为他们的证书被大多数网络浏览器所接受.GoDaddy的问题是我不知道为什么他们有不同的SSL产品(即:为什么不验证我这么便宜?这对证书有什么影响以及如果它只包含一个域名,浏览器如何处理它?)

另外,使用我自己的证书是否存在问题?登录页面是否可以是http,并且有一行说明我使用的是自签名证书,这是指纹,然后将表单发布到https页面?Safari的方法不是太糟糕或听起来太吓人了.但是,我担心firefox 3的方法会吓跑人们,并给我一大堆电子邮件,说我的网站被黑客攻击或其他什么.我不知道IE如何响应自签名证书.(还有一个问题是为什么付出我可以毫不费力地创造自己的东西,但我不打算构成它的哲学部分,这是一个更实际的问题.)

总而言之,我是否每年给GoDaddy 30美元,或者我只是告诉人们一小段我在做什么,并给那些真正想要我指纹的人?

编辑:有些人在我正在阅读的论坛上提到更多信息,提到GoDaddy证书仅在GoDaddy服务器上提供,但事实并非如此.两件事:(1)这是真的吗?并且还有其他CA的价格大致相同,因此论证应该仍然相同.

ssl ca self-signed

48
推荐指数
4
解决办法
4万
查看次数

如何在centos7中添加证书颁发机构?

我正在尝试将证书颁发机构(CA)文件名 - ca.crt添加到/ etc/ssl/certs,因为我遵循了本文.我复制了我的ca.crt文件ca.crt并运行命令/etc/ssl/certs.之后我检查了ca.crt文件,但是我找不到我的CA. \

我无法弄清楚可能是什么问题.有人知道吗?

ca ssl-certificate

34
推荐指数
3
解决办法
7万
查看次数

ROOT CA如何验证签名?

假设使用https时,浏览器向服务器发出请求,服务器返回其证书,包括公钥和CA签名.

此时,浏览器会要求其CA验证给定的公钥是否真的属于服务器?

这个验证是如何通过浏览器上的Root证书完成的?

举个例子:假设serverX从CA"rootCA"获得了证书.浏览器具有本地存储的rootCA副本.当浏览器ping serverX并以其公钥+签名回复时.现在根CA将使用其私钥解密签名并确保它真的是serverX?

它是如何工作的?

ssl ca

31
推荐指数
2
解决办法
2万
查看次数

如果将自签名CA根证书导入到计算机存储中,是否可以在没有测试模式的情况下在64位Windows上安装自签名驱动程序?

这是一个很好的答案,其中包括创建自签名CA,然后使用获得的证书签署可执行文件:如何在Windows上为代码签名创建自签名证书?.

我已经在网上阅读了很多关于驱动程序签名如何工作的讨论,答案似乎几乎是毫无疑问的,如果没有启用测试模式,你就无法加载未签名或自签名的驱动程序.然而,我与之相关的答案,特别是Roger Lipscombe的一个评论似乎提供了一个矛盾的观点:

如果要将其用于签名驱动程序,则需要将CA证书导入到计算机存储中.我的示例将其导入到用户存储中,这对于大多数软件来说都很好,用于测试/内部目的.

对我来说,只要将CA证书导入到机器商店,我就可以安装带有自签名证书(由自签名CA颁发)的驱动程序.我不必对系统进行任何其他更改(通过按启动菜单上的F8禁用测试模式,弄乱启动配置标志,如TESTSIGNING或NOINTEGRITYCHECKS).

我对么?当人们需要加载没有提供适当数字签名的驱动程序(例如旧的打印机驱动程序等)时,这种方法没有被广泛使用的障碍有哪些(如果有的话).相反,人们依赖于启动测试模式或第三方软件(DSEO)来篡改您的系统文件以运行此类驱动程序.

这种方法的缺点是什么?上述SO问题中描述的过程需要管理员权限,但无论如何安装驱动程序都需要它们.信任自签名CA可能存在安全风险 - 但是不会禁用所有签名检查会带来更大的安全风险吗?

windows security driver ca self-signed

25
推荐指数
2
解决办法
9224
查看次数