【问题标题】:Using the same server SSL certificate for multiple purposes将同一服务器 SSL 证书用于多种用途
【发布时间】:2013-04-24 07:29:22
【问题描述】:

我们有一个后端服务器,它为将在 iOS、Windows 8、Windows Phone 8 和 Android 上启动的多平台应用程序提供服务。我们希望在生产中使用尽可能少的证书(最好只使用一个)以达到以下目的:

  • 与客户端应用程序的安全通信 (HTTPS)
  • 对 Windows Phone 推送通知服务的身份验证
  • Apple 推送通知服务的身份验证

除了注意证书是由一个共同的受信任的根颁发机构颁发之外,是否还有其他障碍可以阻止单个证书同时用于所有这些?这是一种可行的可能性,还是有必要为上述每个目的使用一个证书?

【问题讨论】:

    标签: security windows-phone-8 push-notification ssl-certificate apple-push-notifications


    【解决方案1】:

    加布里埃尔我猜有问题。主要是HTTPS证书私钥不能被秘密编码这种证书包含不安全的*.crt*.key文件。当您想在某些服务中验证自己或服务器时,例如您列出的 Windows 手机推送,需要使用秘密 aka pin 或密码为您的私钥创建哈希。是什么让您至少使用两个不同的证书。


    第二件事是使用证书的目的是验证颁发者和验证用户/服务提供者。由受信任的CA 颁发的HTTPS ssl 证书显示给用户Hey this is trusted website You should not be afraid passing sensitive data through the service,用于身份验证的证书只是说Hey its me I am authorized to use this application
    这些证书的用途不同,因此它们自己的证书应该不同.使用相同的cert 来执行诸如您列出了导致必要漏洞的操作,强烈不推荐

    【讨论】:

    • 我不确定我是否理解第一点:根据您在签名请求中声明要使用证书的目的,您从根权威机构获得不同的证书格式?至于第二点,这对我们来说是一个可以接受的折衷方案,一个封装了流量加密和身份验证的单一“超集”证书,我不确定它是否真的是一个突破性的安全漏洞。
    • 你是对的,可以使用相同的cert 进行加密和身份验证。我说有可能创建一个密码来解密用于验证证书的私钥。要对 HTTPS 流量进行身份验证,这样的操作没有意义,但在签署请求的情况下,强烈推荐我已发布
    • 我意识到我仍然不太了解是否可以在 IIS(用于 HTTPS)和应用程序代码中使用相同的证书来授权其他(推送)服务。我不能从 IIS 中导出它并将其与密码一起嵌入到 .pfx 文件中吗?我想我必须阅读更多内容然后回来......
    • 理论上是可以的,但还是不推荐。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 2011-10-27
    • 1970-01-01
    • 2021-04-02
    • 2014-04-10
    • 1970-01-01
    相关资源
    最近更新 更多