是否可以获得由2个当局签署的证书?


2

稍微解释一下情况:

我正在构建一个使用的iOS应用程序 SSL固定 。我创建了一个自签名证书颁发机构,它向我的Web服务器颁发SSL证书,并且CA的证书与应用程序捆绑在一起进行验证。我想用 letsencrypt 为Web服务器创建SSL证书,以便Web浏览器隐式信任它们,但是我的CA不会签署它们的证书,因此这在应用程序中不起作用。 (值得注意的是,letsencrypt颁发的证书非常短暂,因此不能直接用于SSL固定)。

所以我想使用letsencrypt生成证书,然后与我的CA交叉签名。这可能吗?



1
不捆绑根CA证书,捆绑最终证书。只需使用常规的,商业的,2年期的证书,每年发布新版本的应用程序,捆绑2个重叠证书。您的证书固定客户端很容易接受多个证书中的一个。或者让您的www由letsencrycpt签名,但在子域上签名API并进行自签名。您的应用访问WWW或用户通过浏览器访问API没有任何意义,所以我真的没有感觉到您的问题。
Agent_L

正如@Agent_L建议的那样,我建议为app api使用单独的(子)域。
zelanix

@Agent_L这个问题纯属我自己。我不 需要 要做到这一点,只会让我更高兴知道这是一个 有效 SSL证书,但仍然固定。这个问题只是我问“这可以做到吗?”,并不一定说我不能继续这样做。
Ell Neal

1
@Agent_L:“有效”本身在这里有各种含义 - 例如,在OpenPGP圈子中(通常也涉及X.509),它与格式/语法有效性无关,但与信任有关证书带有的签名。自签名的X.509证书不会格式错误,但仍然可能无效,因为没有信任锚来验证它...
grawity

Answers:


3

证书只能包含一个签名。但是,由于您无论如何都使用SSL固定,因此无需拥有自己的CA,因为在iOS应用程序中,您只需检查公钥指纹即可。只要您在使用letsencrypt续订证书时使用相同的密钥对,公钥密钥指纹在续订后也会完全识别证书。


2

是否可以获得由2个当局签署的证书?

不可以。只有一个发行人的空间,一个权限密钥标识符等。

另见 多个签名者证书? 在PKIX邮件列表上。 PKIX是IETF提出的互联网PKI。其他PKI可能不同。

如果您遇到另一个允许它的PKI,那么它可能无法与浏览器和其他用户代理一起工作/互操作 curlwget他们根本不知道如何处理证书。

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.