CA:TRUE 的自签名证书和密钥用法未设置为签署证书 - 它安全吗?

Self-signed certificate with CA:TRUE and Key Usage not set to sign certificates - is it safe?

我们有这种证书用于开发目的

        X509v3 extensions:
        X509v3 Basic Constraints: 
            CA:TRUE
        X509v3 Key Usage: 
            Digital Signature, Non Repudiation, Key Encipherment
        X509v3 Subject Alternative Name: 
            DNS:domain1.loc, DNS:domain2.loc

我在这里看到 CA:TRUE,因此我不确定将此证书安装在 OSX 钥匙串中作为受信任的证书是否安全(假设几乎任何人都可以访问其私钥)。我没有在 "Key Usage" 部分看到证书签名,但是 CA:TRUE 让我有点紧张。信任这个证书安全吗?

如果私钥广为人知,无论出于何种目的信任证书,都不是一个好主意 证书。

关于基本约束扩展CA:TRUE的断言,没有密钥使用扩展中keyCertSign的断言,RFC 5280有这就是说:

If the keyUsage extension is present, then the subject public key
MUST NOT be used to verify signatures on certificates or CRLs unless
the corresponding keyCertSign or cRLSign bit is set.

因此,一致的实现不会使用此证书来验证证书上的签名。但是,OS X 实现实际执行的操作可能会偏离 RFC 5280,尤其是当证书在钥匙串中明确标记为 trusted 时。 (我不使用 OS X 所以我无法验证)。