标签: ssl-certificate

在Web浏览器中,JavaScript是否可以获取有关当前页面使用的HTTPS证书的信息?

是否有一种JavaScript在浏览器中运行的方法,以确定哪个CA证书用于为浏览器的当前HTTPS连接验证远程主机,还获取该证书的属性,例如CA的名称?

如果没有,是否有任何其他选项以编程方式获取此信息,例如服务器端的ActiveX,Java,CGI,......?

javascript browser ssl certificate ssl-certificate

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

SSL证书可以由多个证书颁发机构签名吗?

将信任分散一点是很好的,所以我们不必在任何实例中只依赖一个根.

是否可以拥有一个由多个CA签名的证书?

certificate-authority ssl-certificate

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

localhost或127.0.0.1的第三方签名SSL证书?

在不泄漏太多信息的情况下,我需要设置一个旨在供整个互联网上的最终用户使用的Web服务器系统.

用例是这样的:

  • 当连接到系统时,最终用户(通常)在其本地防火墙后面的家中.
  • 该系统由我们托管的远程服务器组成,严格通过https(使用SSL)
  • 授权机制要求远程服务器上的用户帐户自我创建,该帐户在成功创建帐户后,将需要将一个软件下载并安装到最终用户的计算机.该软件包含本地Web服务器等.
  • 此"本地"Web服务器还必须仅允许https连接到用户的浏览器.

由于分布式软件将成为每个用户机器上的唯一Web服务器,因此我不确定如何或甚至是否可能获得第三方签名的SSL证书,该证书在用户连接时不会导致可信错误通过网络浏览器.当然,它可以使用自签名SSL证书,但其目的是避免浏览器警告,以便最终用户隐含地"信任"来自通过SSL运行其Web服务器的自己的应用程序的数据.

这可能吗?

ssl embeddedwebserver ssl-certificate

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

24
推荐指数
2
解决办法
9714
查看次数

R:使用TLS/SSL安全下载数据

官方声明

在过去,基础R download.file()无法使用HTTPS协议,因此必须使用RCurl.自R 3.3.0起:

所有版本都支持https:URL,默认方法是download.file(),url()和使用它们的代码.遗憾的是,无法保证可以访问任何特定的https:URL....不同的访问方法可能允许不同的协议或使用私有证书包...

download.file() 帮助下仍然说道:

提供的包"RCurl"提供了更全面的URL下载工具.

其中(顺便提一下包括cookie和标题管理).

基于RCurl常见问题解答(查找"当我尝试通过https与URL进行交互时,我收到错误"),可以通过以下方式管理HTTPS URL:

getURL(url, cainfo="CA bundle")
Run Code Online (Sandbox Code Playgroud)

其中CA bundle是证书颁发机构捆绑文件的路径.一个这样的捆绑可以从卷曲网站本身获得:https:
//curl.haxx.se/ca/cacert.pem

当前状态

测试基于Windows平台

对于许多HTTPS网站的 download.file()工作原理如下:

download.file(url="https://www.google.com", destfile="google.html")
download.file(url="https://curl.haxx.se/ca/cacert.pem", destfile="cacert.pem")
Run Code Online (Sandbox Code Playgroud)

关于RCurl,使用cacert.pem上面下载的包,可能会出现错误:

library(RCurl)
getURL("https://www.google.com", cainfo = "cacert.pem")    
# Error in function (type, msg, asError = TRUE)  : 
#   SSL certificate problem: unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)

在这种情况下,只需删除对证书包的引用即可解决问题:

getURL("https://www.google.com")                      # works
getURL("https://www.google.com", ssl.verifypeer=TRUE) # works
Run Code Online (Sandbox Code Playgroud)

ssl.verifypeer = TRUE用于确保成功不是由于getURL()压制安全性.该论点记录在RCurl FAQ中 …

ssl curl r ssl-certificate rcurl

24
推荐指数
1
解决办法
1180
查看次数

LocalHost上自签名证书上的Chrome NET :: ERR_CERT_AUTHORITY_INVALID错误

我正在尝试在我的本地PC上设置开发环境.由于生产网站支持HTTPS(这些日子不支持?),我想在localhost上也有这个.我觉得这很容易,但没有.

我有一个XAMP安装,并设置所有,所以我可以访问该网站.但是,每当我在本地访问网站上的任何页面时,我都会收到Chrome警告:

NET :: ERR_CERT_AUTHORITY_INVALID

我确实按照以下线程尝试解决它:

让Chrome接受自签名的localhost证书

我还使用正确的主题备用名称(SAN)部分创建了证书,基于此:

https://deliciousbrains.com/https-locally-without-browser-privacy-errors/

之后,我生成了CER或P7B文件并将其导入Chrome.我重新启动了Apache和Chrome.

我将证书放在受信任的根证书颁发机构中.不知何故,Chrome决定将其置于中级根证书颁发机构......

我使用的是Chrome 61,我在60年代也是如此.

所以不知怎的,我无法安装自签名证书,并继续得到这个警告,这基本上使得无法在localhost上进行开发......

我知道这种自签名并不完全值得信赖,但必须有一种离线开发的方法吗?从现在开始我们必须在线建立网站是没有意义的吗?...

有任何想法吗?

ssl google-chrome ssl-certificate

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

我需要什么SSL证书?

我正在开发将使用clickonce(在网站foo.com上)部署的软件,然后使用带有加密传输的WCF连接到我的服务器

所以我需要一个SSL证书,它将:

  • 确定我的foo.com网站确实是我的网站
  • 使用clickonce识别我部署的exe是真实的
  • 确定我的应用服务器确实是我的应用服务器.

我还希望我的SSL证书由公众所知的权限签名(即,firefox或windows不会要求用户首先安装权限证书!)

你会买什么SSL证书?

我浏览过Verisign网站,"安全网站EV"证书每年花费1150欧元("Pro"版本似乎只对旧版浏览器的兼容性有用)

ssl ssl-certificate

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

无法使用Javapns/Javaapns SSL握手失败发送推送通知

我有推送通知的问题.我有一个由团队成员创建的p.12证书,我有设备令牌,可以将设备推送到.我正在使用javapns库来执行推送(也尝试了相同结果的javaapns lib)但我一直收到此错误:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1720)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:632)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.OutputStream.write(OutputStream.java:58)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:402)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:350)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:320)
at javapns.Push.sendPayload(Push.java:177)
at javapns.Push.combined(Push.java:100)
at PushTest.push(PushTest.java:43)
at PushTest.main(PushTest.java:25)
Run Code Online (Sandbox Code Playgroud)

这是我用来测试的代码

try {
    List<PushedNotification> n = Push.combined(text, 20, null, file, "********", false, token);

    for (PushedNotification notification : n) {
        if (notification.isSuccessful())  
            System.out.println("Push notification sent successfully to: " + notification.getDevice().getToken());
        else {
            String invalidToken = notification.getDevice().getToken();

            Exception theProblem = notification.getException();
            theProblem.printStackTrace();

            ResponsePacket theErrorResponse = …
Run Code Online (Sandbox Code Playgroud)

java ssl-certificate apple-push-notifications

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

"每个SSL证书需要专用IP"究竟是什么意思?

我已经阅读了一些关于SSL证书的内容,特别是我读过SSL证书"需要一个专用的IP地址".现在,我不确定这个意思; 这是否意味着证书需要与用于正常HTTP通信的IP地址分开的专用IP地址,或者只是它不能与其他SSL证书共享IP地址?

为了澄清,我有一个带有专用IP地址的VPS.VPS托管了很多不同的站点,包括主站点的几个子域,但只有主站点和子域需要SSL.我是否可以使用当前的IP地址为*.example.com购买SSL证书,或者我是否需要获得与VPS上其他站点分开的SSL证书?或者更糟糕的是,我是否需要获得与服务器上所有HTTP流量分开的服务?请记住,其他任何网站都不需要SSL.

感谢您对该主题的任何澄清.


编辑:我担心的一些消息来源:

http://symbiosis.bytemark.co.uk/docs/symbiosis.html#ch-ssl-hosting

是否有必要使用专用IP地址来安装SSL证书?

ssl https http ssl-certificate

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

使用SNI通过HTTPS提供服务时出现CloudFront错误

亚马逊最近在CloudFront上推出了一项新功能,该功能使用SNI(服务器名称指示)免费支持自定义SSL证书.

我使用StartSSL的免费Class 1证书设置了我的发行版,当我注意到该站点在部署后的短时间内发生故障时,一切正常.运行SSL Checker会返回我的证书正常工作:

SSL检查

但是当我尝试通过HTTPS访问网站时,我会点击此错误页面(它将适用于第一个请求,然后在后续尝试连接时关闭).

CF错误

使用ssl访问时,这是一个详细的输出(在索引上成功):

$ curl -I -v -ssl https://wikichen.is
* Adding handle: conn: 0x7f9f82804000
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7f9f82804000) send_pipe: 1, recv_pipe: 0
* About to connect() to wikichen.is port 443 (#0)
*   Trying 54.230.141.222...
* Connected to wikichen.is (54.230.141.222) port 443 (#0)
* TLS 1.2 connection using TLS_RSA_WITH_RC4_128_MD5
* Server certificate: www.wikichen.is (6w984WNu7vM5OrdU)
* Server certificate: StartCom Class 1 Primary …
Run Code Online (Sandbox Code Playgroud)

https ssl-certificate amazon-web-services amazon-cloudfront

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