我有一个 Web 窗体站点,它将调用我的 IIS 托管 Web API 服务。站点和 Web API 都托管在同一台物理机器上。我们在同一台机器上也有一个 x509 证书。
我希望 Web API 使用此证书来验证请求。所以它只会接受来自“使用”这个证书的客户端的请求。
当我说“使用”时,我想这样做:
- 使用 Request.ClientCertificates.Add(myCert); 然后在 API 中 - 从请求中检索证书并验证它。
2.或者如果这太繁琐而无法设置(请参阅下面的问题) - 只需在请求标头中签名或加密令牌(单个单词)。然后在 API 服务中验证或解密令牌。
我的问题是 - 对于选项 1。
我不清楚客户证书。在开发客户端和服务时,是否需要设置 SSL、将证书加载到 IIS 并在 IIS 中调试以测试/调试?或者我可以仅使用 WebDev 测试端到端呼叫吗?
我问这个的原因 - 当我尝试在 WebDev 中做一个非常简单的示例时,我将证书添加到集合客户端,但是当 Web API 收到请求时,请求中不存在证书。
非常感谢。