Questions tagged «client-certificates»

8
Java HTTPS客户端证书认证
我还很陌生,对于HTTPS/SSL/TLS使用证书进行身份验证时客户端应该显示的内容有些困惑。 我正在编写一个Java客户端,该客户端需要对POST特定对象进行简单的数据处理URL。那部分工作正常,唯一的问题是应该完成HTTPS。该HTTPS部分相当容易处理(无论是HTTPclient使用Java的内置HTTPS支持还是使用Java的内置支持),但是我一直坚持使用客户端证书进行身份验证。我注意到这里已经存在一个非常类似的问题,我还没有尝试使用我的代码(很快就会这样做)。我当前的问题是-无论做什么,Java客户端都永远不会发送证书(我可以通过PCAP转储检查它)。 我想知道在使用证书进行身份验证时,客户端到底应该向服务器呈现什么(特别是对于Java,如果有的话)?这是JKS文件PKCS#12吗?里面应该有什么?只是客户证书还是密钥?如果是这样,哪个键?关于所有不同类型的文件,证书类型等,都存在很多困惑。 正如我之前刚接触过的内容所说的HTTPS/SSL/TLS那样,我也将不胜感激一些背景信息(不必是散文;我会选择好文章的链接)。

9
RESTful Web服务-如何验证来自其他服务的请求?
我正在设计一个RESTful Web服务,该服务需要用户以及其他Web服务和应用程序访问。所有传入的请求都需要进行身份验证。所有通信均通过HTTPS进行。用户身份验证将基于身份验证令牌进行工作,该身份验证令牌是通过将用户名和密码(通过SSL连接)发布到服务提供的/ session资源中而获得的。 对于Web服务客户端,客户端服务后面没有最终用户。这些请求是由计划任务,事件或某些其他计算机操作启动的。连接服务的列表是事先已知的(显然,我想)。我应该如何验证来自其他(网络)服务的这些请求?我希望对这些服务的身份验证过程尽可能地容易实现,但是不以安全为代价。对于这种情况,标准和最佳做法是什么? 我能想到的(或已向我建议的)选项: 让客户端服务诉诸于“假”用户名和密码,并以与用户相同的方式对它们进行身份验证。我不喜欢此选项-感觉不正确。 为客户端服务分配一个永久的应用程序ID,也可以分配一个应用程序密钥。据我了解,这与使用用户名+密码相同。使用此ID和密钥,我可以对每个请求进行身份验证,也可以创建身份验证令牌来对其他请求进行身份验证。无论哪种方式,我都不喜欢此选项,因为任何可以保留应用程序ID和密钥的人都可以模拟客户端。 我可以在以前的选项中添加IP地址检查。这将使执行虚假请求变得更加困难。 客户证书。设置我自己的证书颁发机构,创建根证书,并为客户端服务创建客户端证书。不过,我想到了两个问题:a)我如何仍允许用户在没有证书的情况下进行身份验证,以及b)从客户端服务的角度来看,实现此方案有多复杂? 还有什么-那里必须有其他解决方案吗? 我的服务将在Java上运行,但是我故意遗漏了将在其上构建哪种特定框架的信息,因为我对基本原理更感兴趣,而对实现细节却不太感兴趣-我认为这是最好的解决方案无论底层框架如何,都可以实现。但是,我对这个主题没有多少经验,因此,有关实际实现的具体技巧和示例(例如有用的第三方库,文章等)也将不胜感激。

19
IIS 7错误“指定的登录会话不存在。它可能已经终止了。” 使用https时
我正在尝试为我的asp.net网站创建客户端证书身份验证。 为了创建客户端证书,我需要首先创建一个证书颁发机构: makecert.exe -r -n“ CN =我的个人CA” -pe -sv MyPersonalCA.pvk -a sha1 -len 2048 -b 01/01/2013 -e 01/01/2023 -cy授权MyPersonalCA.cer 然后,我必须将其导入IIS 7,但是由于它接受.pfx格式,因此我首先将其转换 pvk2pfx.exe -pvk MyPersonalCA.pvk -spc MyPersonalCA.cer -pfx MyPersonalCA.pfx 导入MyPersonalCA.pfx之后,我尝试将https站点绑定添加到我的网站并选择以上作为SSL证书,但是出现以下错误: 有什么建议?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.