参考链接:https://superuser.com/questions/738612/openssl-ca-keyusage-extension

任何一个CA证书,无论是根证书还是中间证书,都必须具有keyCertSign扩展。同样,如果你想使用CA证书签发废除列表(CRL),你需要添加cRLSign扩展。对于CA证书任何其他的keyUages扩展都要避免。 openssl接受值的详细信息请参考文档

对于终端实体的证书,你可以使用OpenSSL文档中列出的任何其他keyUsages.只要保证没有包含上面提到的CA-extensions。从安全的角度来说,不应该使用多与所需的keyusage扩展。但这并不是严格要求。 需要指出的是,除了一般的keyusage扩展,还有extendedKeyUsage (EKU) 扩展。这类扩展不限制于RFC中的预定义值,但理论上可以采用任何你想采用的OID。证书用常用来签发时间戳或OCSP responses。

你不需要使用nsCertType扩展,这些扩展以及ns*一类扩展是网景时代之前的,现在已不再使用。任何软件中可能找不到它们了。

唯一强制要求的扩展是basicConstraints扩展,设置方法为basicConstraints=CA:TRUE,根据具体使用也可设置为FALSE.