标签: ssl

如何使用OpenSSL创建自签名证书

我正在为嵌入式Linux设备添加HTTPS支持.我尝试使用以下步骤生成自签名证书:

openssl req -new > cert.csr
openssl rsa -in privkey.pem -out key.pem
openssl x509 -in cert.csr -out cert.pem -req -signkey key.pem -days 1001
cat key.pem>>cert.pem
Run Code Online (Sandbox Code Playgroud)

这有效,但我在使用Google Chrome时遇到了一些错误:

这可能不是您要找的网站!
该网站的安全证书不受信任!

我错过了什么吗?这是构建自签名证书的正确方法吗?

ssl openssl certificate ssl-certificate x509certificate

1169
推荐指数
18
解决办法
139万
查看次数

让Chrome接受自签名的localhost证书

我为localhost CN创建了一个自签名SSL证书.Firefox正如预期的那样在最初抱怨之后接受此证书.然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储区之后也是如此.即使我在Chrome的HTTPS弹出窗口中单击"查看证书信息"时列出的证书已正确安装,但仍然坚持认证证书不可信.

我该怎么办才能让Chrome接受证书并停止抱怨?

ssl google-chrome certificate self-signed

1080
推荐指数
39
解决办法
107万
查看次数

HTTPS URL是否已加密?

使用TLS/SSL(HTTPS)加密时是否加密了所有URL?我想知道,因为我希望在使用TLS/SSL(HTTPS)时隐藏所有URL数据.

如果TLS/SSL为您提供全面的URL加密,那么我不必担心从URL隐藏机密信息.

ssl https httprequest

952
推荐指数
13
解决办法
26万
查看次数

如何从.key和.crt文件获取.pem文件?

如何从SSL证书创建PEM文件?

这些是我提供的文件:

  • .crt
  • server.csr
  • server.key

ssl openssl asn.1 pem der

561
推荐指数
10
解决办法
92万
查看次数

解决javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败错误?

编辑: -尝试格式化问题并在我的博客中以更明显的方式接受答案

这是原始问题.

我收到此错误:

详细消息sun.security.validator.ValidatorException:PKIX路径构建失败:
sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

导致javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径

我使用Tomcat 6作为网络服务器.我有两个HTTPS Web应用程序安装在不同端口上但位于同一台机器上的不同Tomcats上.说App1(port 8443)App2(port 443).App1连接到App2.当App1所连接到App2我得到上述错误.我知道这是一个非常常见的错误,所以在不同的论坛和网站上遇到了很多解决方案.我有server.xml两个Tomcats 的以下条目:

keystoreFile="c:/.keystore" 
keystorePass="changeit"
Run Code Online (Sandbox Code Playgroud)

每个站点都说同样的原因,即app2提供的证书不在app1 jvm的可信存储中.当我试图在IE浏览器中访问相同的URL时,这似乎也是正确的,它可以工作(加热,这个网站的安全证书存在问题.在这里我说继续这个网站).但是当Java客户端(在我的情况下)遇到相同的URL时,我得到上述错误.所以把它放在信任库中我试过这三个选项:

选项1

System.setProperty("javax.net.ssl.trustStore", "C:/.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
Run Code Online (Sandbox Code Playgroud)

Option2 在环境变量中设置如下

CATALINA_OPTS -- param name
-Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value
Run Code Online (Sandbox Code Playgroud)

选项3 在环境变量中设置如下

JAVA_OPTS -- param name
-Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value
Run Code Online (Sandbox Code Playgroud)

但没有任何效果.

最后工作的 是执行如何使用Apache HttpClient处理无效SSL证书中建议的Java方法由Pascal Thivent执行,即执行程序InstallCert.

但这种方法适用于devbox设置,但我无法在生产环境中使用它.

我很奇怪,为什么上面提到的三种方法时,我已经中提到的相同值没有工作server.xmlapp2服务器和相同的价值观信任设置

System.setProperty("javax.net.ssl.trustStore", "C:/.keystore") and System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); …

java ssl https

392
推荐指数
11
解决办法
101万
查看次数

使用HttpClient通过HTTPS信任所有证书

最近发布了一个关于HttpClient过度Https 的问题(在这里找到).我已经取得了一些进展,但我遇到了新的问题.和我的上一个问题一样,我似乎无法找到适合我的任何地方的例子.基本上,我希望我的客户端接受任何证书(因为我只指向一个服务器),但我一直在接受javax.net.ssl.SSLException: Not trusted server certificate exception.

所以这就是我所拥有的:


    public void connect() throws A_WHOLE_BUNCH_OF_EXCEPTIONS {

        HttpPost post = new HttpPost(new URI(PROD_URL));
        post.setEntity(new StringEntity(BODY));

        KeyStore trusted = KeyStore.getInstance("BKS");
        trusted.load(null, "".toCharArray());
        SSLSocketFactory sslf = new SSLSocketFactory(trusted);
        sslf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

        SchemeRegistry schemeRegistry = new SchemeRegistry();
        schemeRegistry.register(new Scheme ("https", sslf, 443));
        SingleClientConnManager cm = new SingleClientConnManager(post.getParams(),
                schemeRegistry);

        HttpClient client = new DefaultHttpClient(cm, post.getParams());
        HttpResponse result = client.execute(post);
    }
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

    W/System.err(  901): javax.net.ssl.SSLException: Not trusted server certificate 
    W/System.err(  901):    at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:360) 
    W/System.err(  901): …
Run Code Online (Sandbox Code Playgroud)

java ssl https certificate apache-httpclient-4.x

386
推荐指数
9
解决办法
57万
查看次数

SSL证书拒绝尝试通过HTTPS后面的防火墙访问GitHub

我被困在防火墙后面,所以必须使用HTTPS来访问我的GitHub存储库.我在Windows XP上使用cygwin 1.7.7.

我已经尝试将遥控器设置为https://username@github.com/username/ExcelANT.git,但是提示输入密码,但是一旦我输入密码就没有做任何事情. https://username:<password>github.com/username/ExcelANT.git并从头开始克隆空仓库,但每次它给我同样的错误

错误:SSL证书问题,验证CA证书是否正常.详细信息:
错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https时出现证书验证失败:https://github.com/username/ExcelANT.git/info/refs

打开GIT_CURL_VERBOSE=1给我

*关于connect()到github.com端口443(#0)
*尝试207.97.227.239 ...*成功设置证书验证位置:
*CAfile:无
CApath:/ usr/ssl/certs
*SSL证书问题,验证CA证书没问题.详细信息:
错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败
*过期已清除
*关闭连接#0
*关于连接()到github.com端口443(#0)
*尝试207.97.227.239 ...*成功设置证书验证位置:
*CAfile:无
CApath:/ usr/ssl/certs
*SSL证书问题,验证CA证书是否正常.细节:
错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败
*过期已清除
*关闭连接#0
错误:SSL证书问题,验证CA证书是否正常.详细信息:
错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https时出现证书验证失败:https://github.com/username/ExcelANT.git/info/refs

fatal: HTTP request failed
Run Code Online (Sandbox Code Playgroud)

这是我的防火墙,cygwin还是什么问题?

我没有在Git配置中设置HTTP代理,但是它是一个需要NTLM身份验证的ISA服务器,而不是基本身份,所以除非有人知道如何强制git使用NTLM,否则我会被打破.

git ssl cygwin github ssl-certificate

380
推荐指数
18
解决办法
57万
查看次数

pip install失败,出现"连接错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:598)"

我是Python的新手,并试图> pip install linkchecker在Windows 7上.一些说明:

  • 无论封装,pip安装都失败了.例如,> pip install scrapy也会导致SSL错误.
  • Python 3.4.1的Vanilla安装包括pip 1.5.6.我尝试做的第一件事是安装linkchecker.Python 2.7已经安装,它随ArcGIS一起提供.pythonpip直到我安装3.4.1中不具备的命令行.
  • > pip search linkchecker作品.也许这是因为pip搜索不会验证网站的SSL证书.
  • 我在公司网络中,但我们没有通过代理来访问互联网.
  • 每台公司计算机(包括我的计算机)都有一个受信任的根证书颁发机构,其使用原因有多种,包括支持监控TLS流量到https://google.com.不确定这是否与它有关.

以下是运行后我的pip.log的内容pip install linkchecker:

Downloading/unpacking linkchecker
  Getting page https://pypi.python.org/simple/linkchecker/
  Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
  Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
  Getting page https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries …
Run Code Online (Sandbox Code Playgroud)

python windows ssl pip

354
推荐指数
28
解决办法
67万
查看次数

342
推荐指数
7
解决办法
36万
查看次数

HTTPS查询字符串是否安全?

我正在创建一个使用HTTPS的安全的基于Web的API; 但是,如果我允许用​​户使用查询字符串配置它(包括发送密码)这也是安全的,还是应该通过POST强制它?

ssl https query-string

331
推荐指数
8
解决办法
9万
查看次数