3

我在我的 Web 应用程序中添加了对 JWT 令牌的支持,并且我有一个 X509 证书,它需要它来签署这些令牌。

我拒绝了使用与 HTTP 相同的证书的想法(请参阅Can I use the Private Key Certificate of Web App to sign JWT?)。

我认为自签名证书应该可以解决问题,实际上在这种情况下我看不到信任网络的任何优势(这并不意味着没有任何优势,我只是想不出任何优势)。

Web 应用程序在 Web 服务器场上运行。我目前的计划是生成一个自签名证书并将 X509 证书放入每台机器上 Windows 的证书存储中。我们的 IT 部门正在检查,但他们认为他们可以使用组策略将其推广到场中的所有 Web 服务器。所以这似乎是一个可行的计划。

Windows 中的证书存储对我来说看起来很混乱。我认为有两种选择:

1) 将它放在运行 IIS 应用程序池的用户的“我的”商店中。有许多应用程序池,因此证书可能会在许多商店中。

2) 将其放在 LocalMachine 存储下,然后授予 IIS 用户对特定证书的显式访问权限。

3) 其他我想不到的东西。

这些类型的证书是否有“正确”的地方,如果有,它在哪里?

4

1 回答 1

2

The usual CertificateStore for signing certificates is the My store. I normally place them in LocalMachine location, but it is probably safer to put them in the certificate store for the Application Pool identity itself.

I would then give the Application Pool read-only access to this certificate only (right click certificate, then 'All Tasks' > 'Manage Private Keys', then add your Application Pool identity and give 'Read' permissions only.

于 2015-11-25T16:52:39.203 回答