标签: ssl-certificate

WCF错误:"X.509证书CN = localhost链构建失败..."

尝试让我的WCF客户端和服务器相互通信时,我收到此错误.

X.509证书CN = localhost链构建失败.使用的证书具有无法验证的信任链.替换证书或更改certificateValidationMode.已处理证书链,但终止于信任不信任的根证书.

如果我关闭SSL证书,一切都很完美.

wcf ssl-certificate

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

证书对Intranet SSL有用吗?

我的任务是为命令行软件开发内部网接口,现在我正在研究安全选项.我们的命令行应用程序已完成,但我还没有开始编写Web界面.我不确切知道潜在客户的安全要求是什么,尽管我认为ssh命令行界面通常是可以接受的.考虑到这一点,我正在寻求帮助开发一个选择菜单及其相关的优点/缺点.有一天,我们可能会考虑将我们的网络界面发布到互联网上,所以如果它很容易和/或免费,我愿意考虑比目前更必要的安全性.

我一直在做很多阅读,我的初步结论是,没有证书的SSL安全性是最好的方法,不是因为安全性较低是不可接受的,而是因为SSL是标准,因为它似乎并不困难.建立.我是一名安全非专家,不需要解释为什么安全非专家可以接受的安全性较低.如有必要,我可以在将来升级我的应用程序以使用证书.

这是一个与SSL相关的安全选择列表,按照我对安全级别的看法和我的评论进行排序.我需要什么级别的保护?

  1. 没有SSL.如果我们的客户不担心他们的员工看到/改变彼此的数据,这可能是可以接受的.他们的员工可能希望相互分享结果,我可以使用基于IP的访问控制和/或密码来保证安全.

  2. 没有证书的SSL.这会加密通信,至少可以防止未经授权的员工读取数据.使用密码,这ssh与命令行上的安全级别相同,对吧?我不需要担心内联网中的中间人攻击,对吗?如果有大量浏览器警告消息,则此方法的con.

  3. 使用自签名证书执行SSL.这给了我什么,没有证书给我?如果DNS可以被不适当地更改,那么客户那么我的应用程序是他们最不关心的问题.换句话说,如果DNS可以改变,那么我认为ssh也是脆弱的.

  4. 使用本地证书颁发机构执行SSL.OpenSSL允许我创建自己的证书颁发机构.这给了我一个自签名证书不是什么?我假设在局域网上,验证服务器不太重要.

  5. 使用外部证书颁发机构执行SSL.有没有理由去内联网这条路线?我在网上发现了一些"内联网证书" - 但目前尚不清楚他们提供的是我自己无法做到的.

作为参考,此页面可能对比较证书很有用:

http://httpd.apache.org/docs/trunk/ssl/ssl_faq.html#aboutcerts

[更新]

这里有一篇文章讨论了从一个公共CA获取内部证书的风险和规则

security ssh ssl intranet ssl-certificate

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

刮刮:SSL:http://en.wikipedia.org的CERTIFICATE_VERIFY_FAILED错误

我正在练习'Web Scraping with Python'的代码,我一直有这个证书问题:

from urllib.request import urlopen 
from bs4 import BeautifulSoup 
import re

pages = set()
def getLinks(pageUrl):
    global pages
    html = urlopen("http://en.wikipedia.org"+pageUrl)
    bsObj = BeautifulSoup(html)
    for link in bsObj.findAll("a", href=re.compile("^(/wiki/)")):
        if 'href' in link.attrs:
            if link.attrs['href'] not in pages:
                #We have encountered a new page
                newPage = link.attrs['href'] 
                print(newPage) 
                pages.add(newPage) 
                getLinks(newPage)
getLinks("")
Run Code Online (Sandbox Code Playgroud)

错误是:

  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/urllib/request.py", line 1319, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1049)>
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我也在练习scrapy,但一直都在解决问题:找不到命令:scrapy(我在网上尝试过各种解决方案,但都没有用......真的很令人沮丧)

python beautifulsoup ssl-certificate scrapy web-scraping

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

如何强制 Visual Studio 为运行 Kestrel 的 .NET Core Web 应用程序重新创建 SSL 证书?

创建 Web 项目时,Visual Studio 会自动生成 SSL 证书并提示您安装它。一切正常。

该证书现已过期,我不知道如何让它重新生成证书并重新开始该过程。我尝试localhost从证书存储中删除所有现有证书并删除 Secrets.json,但似乎没有什么可以强制它重新启动生成过程。

asp.net ssl-certificate visual-studio .net-core asp.net-core

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

无法理解SSL证书链验证

我的应用程序使用SSL与服务器安全通信,并且无法验证证书链.链看起来像这样:

Entrust.net安全服务器认证机构 - > DigiCert Global CA - >*.ourdomain.com

我们正在使用从Mozilla取出的证书商店.它包含Entrust.net证书,但不包含DigiCert Global CA证书.

我的理解是,只要根权限是,但不必信任中间权限,但验证失败:

% openssl verify -CAfile mozilla-root-certs.crt ourdomain.com.crt
error 20 at 0 depth lookup:unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)

那么我需要明确信任DigiCert Global CA才能通过验证吗?这似乎是错的.但是你告诉我!

编辑:我现在明白证书文件需要预先提供给OpenSSL.像这样的东西有效:

% openssl verify -CAfile mozilla-root-certs.crt -untrusted digicert.crt ourdomain.com.crt
ourdomain.com.crt: OK
Run Code Online (Sandbox Code Playgroud)

这允许我提供DigiCert CA的副本而不明确说"我相信它",整个链仍然需要验证.

但是,像Firefox这样的浏览器肯定不会附带它所需要的每个证书的副本.总会有新的CA,重点是使用根证书的安全性来确保所有中间CA都有效.对?那么,如何这项工作?它看起来真的很傻吗?

openssl ssl-certificate

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

Java SSL:如何禁用主机名验证

有没有办法让标准的java SSL套接字禁用与属性的ssl连接的主机名验证?我到目前为止找到的唯一方法是编写一个主机名验证程序,它始终返回true.

Weblogic提供了这种可能性,可以使用以下属性禁用主机名验证:

-Dweblogic.security.SSL.ignoreHostnameVerify

java ssl hostname ssl-certificate

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

在Android模拟器上安装自定义证书时,两个凭据使用选项"VPN和应用程序"与"Wifi"之间有什么区别?

我正在尝试在Android模拟器上安装Charles证书,我注意到有两个凭据使用选项:"VPN和应用程序"和"Wi-Fi".

在此输入图像描述

我试过四处寻找有关这两个选项的解释,但我发现的那个只是说"选一个适合你的用例."
这两个选项有什么区别?开发人员应该选择哪一个?

android emulation ssl-certificate

35
推荐指数
1
解决办法
5657
查看次数

如何使用c#2.0 WebClient忽略证书错误 - 没有证书

使用Visual Studio 2005 - C#2.0,System.Net.WebClient.UploadData(Uri address, byte[] data) Windows Server 2003

所以这是代码的精简版本:

static string SO_method(String fullRequestString)
{
    string theUriStringToUse = @"https://10.10.10.10:443"; // populated with real endpoint IP:port
    string proxyAddressAndPort = @"http://10.10.10.10:80/"; // populated with a real proxy IP:port
    Byte[] utf8EncodedResponse; // for the return data in utf8
    string responseString; // for the return data in utf16

    WebClient myWebClient = new WebClient(); // instantiate a web client
    WebProxy proxyObject = new WebProxy(proxyAddressAndPort, true);// instantiate & popuylate a web proxy
    myWebClient.Proxy …
Run Code Online (Sandbox Code Playgroud)

ssl-certificate c#-2.0

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

即时生成自签名证书

我四处搜寻,但没有找到一个明确的例子. 我想按照以下步骤以编程方式(c#)创建自签名(自我)可信证书:

步骤1:动态 创建根CA证书并将其添加到"受信任的根证书颁发机构"文件夹中的证书存储区

我想要完成这个命令行工具的功能:

makecert.exe -sk RootCA -sky签名-pe -n CN = MY_CA -r -sr LocalMachine -ss根MyCA.cer

第2步: 根据以前创建的根CA证书创建证书,并将其放入证书存储区"Personal"文件夹中

我想要完成这个命令行工具的功能:

makecert.exe -sk server -sky exchange -pe -n CN = 127.0.0.1 -ir LocalMachine -is Root -ic MyCA.cer -sr LocalMachine -ss My MyCertificate.cer

我想得到这个:
在此输入图像描述

我这样做了(参见下面的代码 - 第1步),不知道如何制作STEP2,任何帮助都将不胜感激.目标计算机是Windows XP/Seven. 我尝试了纯粹的.net方法和BouncyCastle库.

makecert.exe -sk RootCA -sky signature -pe -n CN=MY_CA -r -sr LocalMachine -ss Root MyCA.cer
Run Code Online (Sandbox Code Playgroud)

.net c# bouncycastle ssl-certificate x509certificate

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

如何使用gitlab进行let的加密?

当我偶然发现加密时,我开始查看ssl证书,并且我想将它与gitlab一起使用,但是它正在运行在树莓派2上并且它现在运行得非常完美(所以我不想弄乱任何东西) ),他会不会正确安装一个let encrypt ssl证书?PS:我的安装是综合的

ssl-certificate gitlab raspbian gitlab-omnibus lets-encrypt

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