首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储客户端证书的最佳实践?

存储客户端证书的最佳实践?
EN

Stack Overflow用户
提问于 2014-08-05 18:46:18
回答 1查看 5.7K关注 0票数 4

我正在构建一个需要相互认证的应用程序。因此,我将使我的用户能够上传一堆客户证书,当他们打电话时,他们可以使用其中任何一个。我将匹配来自传入请求的客户端证书,以查看它是否与任何已存储的证书匹配,如果匹配,则请求将得到响应。

现在我想弄清楚保存这些客户证书的最佳方法是什么。我在想,我可以将它们存储在DB中,或者某种文件/blob存储中,或者我已经了解到它们也可以安装在计算机中的存储中?

这些选项中的哪一种是理想的,还是被认为是最佳做法?

存储客户端证书的最佳实践是什么?

编辑:我的服务器实际上正在Windows机器上运行一个其他用户将使用的IIS服务。

EN

回答 1

Stack Overflow用户

发布于 2014-08-29 17:41:29

1.)要回答你的实际问题:

您可以在任何地方存储X.509证书,让我们将该位置称为信任库。如果它在您的文件系统、数据库或其他地方。X.509证书可以向任何人公开,不包含任何敏感信息。只有公钥/私钥存储在X.509证书中。

您只需确保没有其他人能够向信任库中添加/删除/修改证书。否则,恶意的人将能够将例如他的 X.509证书添加到您的信任库中,您将立即信任他。

2.)关于你的话

代码语言:javascript
复制
I will match the client cert from the incoming request to see if it matches any of the ones already stored, and if it does, the request will be honored. 

证书的简单比较是没有足够的。任何人都可以寄给你任何证书。有人向您发送证书这一事实是no证明该人是与该证书相对应的私钥的所有者。

为了确定,发送给您请求的人(您的传入请求)需要在例如传入的请求上生成签名。如果接收到传入的请求和签名,则可以使用X.509证书检查签名是否有效。有很多的签名方案,你需要计算我们想要使用的(有些是简单的,有些更复杂)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25146150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档