我有一个使用自签名证书在IIS 7中运行的WCF Web服务(这是一个概念证明,以确保这是我想要的路线).它需要使用SSL.
是否可以使用WCF测试客户端调试此服务而无需非自签名证书?
当我尝试时,我收到此错误:
错误:无法从https:///Service1.svc获取元数据如果这是您有权访问的Windows(R)Communication Foundation服务,请检查您是否已在指定地址启用元数据发布.有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455上的MSDN文档 .WS-Metadata Exchange错误URI:https:///Service1.svc元数据包含一个引用无法解决:'https:///Service1.svc'.无法与具有权限''的SSL/TLS安全通道建立信任关系.底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.根据验证程序,远程证书无效.HTTP GET错误URI:https:///Service1.svc下载"https:///Service1.svc"时出错.底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.根据验证程序,远程证书无效.
编辑:此问题具体是关于使用WCF测试客户端使用自签名证书测试已通过SSL保护的Web服务.服务器已经设置为接受所提供的任何证书,这是WCF测试客户端我没有看到这样做的方法.
我有一个证书(SecCertificateRef),我可以检查它是否有效,我可以使用SecCertificateCopySubjectSummary提取"摘要".
究竟什么是"摘要"?我不理解术语"包含人类可读的证书内容摘要的字符串." 在Apple文档中.我想,他们的意思是证书中的"CN",对吗?
是否有任何方法可以从SecCertificateRef中获取清晰的X509信息?对钥匙串对象的强制转换是否有帮助?
我希望有这样的东西,我特别关注"CN",将它与我提交的URL进行比较,以避免中间人攻击.(或者更好的想法?)
这就是我想要的:
Version: 3 (0x2)
Serial Number: 1 (0x1)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=XY, ST=Austria, L=Graz, O=TrustMe Ltd, OU=Certificate Authority, CN=CA/Email=ca@trustme.dom
Validity
Not Before: Oct 29 17:39:10 2000 GMT
Not After : Oct 29 17:39:10 2001 GMT
Subject: C=DE, ST=Austria, L=Vienna, O=Home, OU=Web Lab, CN=anywhere.com/Email=xyz@anywhere.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:c4:40:4c:6e:14:1b:61:36:84:24:b2:61:c0:b5:
d7:e4:7a:a5:4b:94:ef:d9:5e:43:7f:c1:64:80:fd:
9f:50:41:6b:70:73:80:48:90:f3:58:bf:f0:4c:b9:
90:32:81:59:18:16:3f:19:f4:5f:11:68:36:85:f6:
1c:a9:af:fa:a9:a8:7b:44:85:79:b5:f1:20:d3:25:
7d:1c:de:68:15:0c:b6:bc:59:46:0a:d8:99:4e:07:
50:0a:5d:83:61:d4:db:c9:7d:c3:2e:eb:0a:8f:62:
8f:7e:00:e1:37:67:3f:36:d5:04:38:44:44:77:e9:
f0:b4:95:f5:f9:34:9f:f8:43
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 …
Run Code Online (Sandbox Code Playgroud) 我们目前希望通过AWS S3开始托管我们的所有资产,我们也希望通过https服务一切.我知道我可以使用Cloudfront的亚马逊证书管理器(ACM)来通过https服务器资产.问题是我们在医疗行业,我们在法律上被禁止在欧盟以外的地方举办任何活动.使用S3,我可以选择一个位置(法兰克福为我们),但使用Cloudfront我只需选择此选项:
所以我认为我可以使用Letsencrypt来生成我自己的证书.但我认为我仍然需要使用仅适用于Cloudfront的ACM,这意味着我仍然无法使用它.
有人知道我是否可以用https以某种方式设置S3但没有 cloudfront?
https amazon-s3 ssl-certificate amazon-web-services lets-encrypt
我有一个android工作室项目,调用基于Web的api服务.当服务代码在dev,qa,prod等中时,没有证书问题,但是当试图访问web api开发人员框以测试新功能/错误修复/等时,我得到:
因错误而无法回复:
javax.net.ssl.SSLHandshakeException:链验证失败
在com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:361)
我有从服务开发者机器导出的自签名证书,没有私钥DER编码.我掉到了模拟器上并"安装"但这没有用.
我使用了相同的证书并复制到模拟的SD卡.然后从模拟器中的安全设置安装.结果相同.链验证失败.
现在我的安全/证书知识非常基础.我认为错误实际上描述了这个问题.自签名证书中没有链条......但我可能错了.
无论如何,我该如何解决这个问题?
我希望能够运行我的android代码并点击开发人员框进行测试/调试等.
我已经阅读了这样的帖子,只是为了拥有企业环境,我正在阻止开放SSL等网站.
我通过WebView访问该服务.
任何帮助,指针,想法将不胜感激.
TIA
将Web应用程序的SSL证书存储在源代码存储库中会出现安全问题,因为您还没有存储私钥吗?
我有点害怕使用源代码控制来备份这些东西是多么容易,并且想要充分利用它,但我也不想对它的使用,或者危及安全性感到邋..
我一直在测试和试验一下,以了解如何将SSL证书上传到AWS的弹性负载均衡器(找出不同密钥和证书编码的问题).
因此我在那里有很多测试证书,我用错误的信息,缺少证书链或只是伪造的数据生成了这些证书.
据我所知,没有办法删除这些证书,甚至更新/替换缺少某些信息的证书.AWS的"更新证书"(http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/US_UpdatingLoadBalancerSSL.html)的说明实际上只是向您展示如何更改负载均衡器侦听器以使用已在其上的其他证书那里或那你也可以上传!(这正是我最初在那里获得如此多的证书的原因).
有人可以告诉我,我错了,还有办法删除它们吗?:D(最好也是怎么做)
我需要在.NET/WCF应用程序和第三方Web服务器之间设置双向SSL通信通道.现在我正在尝试与主机成功握手,以验证所有元素都已正确设置(客户端证书,服务器证书颁发机构,网络通信......).我正在使用openSSL命令行工具尝试使用s_client命令对其进行验证.
这是什么阻止了我,我不明白:
请记住,我刚刚开始使用SSL,因此我对整个协议有了非常基本的了解.从我一直在阅读的内容来看,似乎服务器和客户端都需要双向SSL设置中的私钥.但是,我无法弄清楚如何在我的客户端上获取工作私钥(使用提供给我的客户端证书).如果有人能够了解客户端证书私钥,我将非常感激,因为这让我头疼不已.
谢谢!
在我的PayPal Pro付款页面中,我使用cURL函数curl_setopt_array()和以下选项:cUIn CURLOPT_CAINFO => dirname(FILE).'/cacert.pem'.
工作正常,但即使经过一些研究,我也不明白究竟是什么cacert.pem.我不明白到处都提到的"验证反对"的概念.这个文件和我买给我的提供商的.csr/.crt证书之间有什么关系?
我目前正处于Google Apps for business的30天免费试用期内(结算设置,因此很快就会启动非免费试用).我正在尝试为Google App Engine应用程序的自定义域设置SSL,但是这个东西有点像菜鸟,我收集的文件不会被Apps提交表单接受.
我经历了以下过程:
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
填写证书后.请求信息(名称为www.mydomain.com),我有两个文件CSR.csr和privateKey.key.
我使用SSL提供商CheapSSLs.com向我提供了这个CSR.csr的证书,他们已经用证书回复了www_mydomain_com.crt
.
但是,在浏览Google Apps信息中心 - >安全性 - >自定义域的SSL并上传时www_mydomain_com.crt
,privateKey.key
我收到了错误消息:
私钥和SSL证书都应采用未加密的PEM格式.
有帮助吗?据我所知,它们采用这种格式:私钥看起来像:
-----BEGIN PRIVATE KEY-----
MIIEv...
...
...CftTU=
-----END PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
和.crt文件看起来像:
-----BEGIN CERTIFICATE-----
MIIFy...
...
...WJjk=
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud) 我在Express中有一个SSL服务器,它不适用于所有浏览器(除非用户手动信任该网站),因为某些浏览器需要链证书(我们有自己的中间证书).我把我们的中间和链证书放在一个.crt文件中.链+中间证书在INT_CERT_FILE
变量中.它似乎不起作用.我正在使用http://www.digicert.com/help,以及运行openssl s_client -connect tasker.adnxs.net:443 -showcerts | grep "^ "
检查,但它似乎没有返回中间+链证书.
这是我如何设置它:
var fs = require("fs");
var https = require("https");
var express = require("express");
var KEY_FILE = fs.readFileSync("path/to/key/file.key");
var CERT_FILE = fs.readFileSync("path/to/crt/file.crt);
var INT_CERT_FILE = fs.readFileSync("path/to/intermediate and chain crt.crt");
var _app_https = express();
var _server_https = null;
_server_https = https.createServer({
key: KEY_FILE,
cert: CERT_FILE,
ca: INT_CERT_FILE
}, _app_https).listen(443);
Run Code Online (Sandbox Code Playgroud)
在Firefox上访问它时,Firefox无法识别其身份并要求手动信任.我该如何解决这个问题?
谢谢,
ssl-certificate ×10
ssl ×6
amazon-ec2 ×1
amazon-elb ×1
amazon-s3 ×1
android ×1
curl ×1
express ×1
google-apps ×1
https ×1
ios ×1
iphone ×1
javascript ×1
lets-encrypt ×1
node.js ×1
openssl ×1
security ×1
self-signed ×1
wcf ×1
x509 ×1