我目前有一个应用程序需要验证证书是否受特定CA信任。我的问题是,发出的证书实际上可能属于根CA,该根CA与我想要验证的CA交叉认证……因此,我想确保我正确地构建了一个到交叉认证的根ca的链。下面是一个信任链的示例。
1) Root CA1 -> Inter CA1 -> John Doe Signed Cert
2) Bridge CA Root -> X-Cert Root CA1 -> Inter CA1 -> John Doe Signed Cert
上面的两个证书链都是有效的,但我想确保我已经构建了2号链。
X509Certificate2 johnDoe
我正在主节点上运行CIS kube工具并试图解决此错误。
[FAIL] 1.2.6 Ensure that the --kubelet-certificate-authority argument is set as appropriate (Automated).
我知道我需要用这个标志指向正确的CA文件--kubelet-certificate-authority来更新API服务器清单YAML文件,但是我不确定哪一个是Kubelet的正确CA认证面。
这些是我在PKI目录中的文件:-
apiserver-etcd-client.crt
apiserver-etcd-client.key
我必须在一台电脑上安装两个证书,我对这些证书感到有点困惑。
第一个证书包含以下详细信息:
发行人:
CN = AddTrust External CA Root
OU = AddTrust External TTP Network
O = AddTrust AB
C = SE
主题:
CN = AddTrust External CA Root
OU = AddTrust External TTP Network
O = AddTrust AB
C = SE
认证路径是: AddTrust外部CA根
第二份证书:签发人:
CN = AddTrust External CA Root
OU =
我必须使用https连接到webservice。服务具有由GeoTrust全球CA颁发的有效证书。整个认证链如下所示:
当我运行应用程序时
-Djavax.net.debug=all
参数,I sese Global CA on trusted list:
adding as trusted cert:
Subject: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US
Issuer: CN=GeoTrust Global CA, O=GeoTrust Inc., C=US
Algorithm: RSA; Serial number:
我有以下默认的-ssl.conf配置:
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4
SSLEngine
我有两个中间CA,每个CA为他们的客户端用户签名证书,如下所示:
ROOT CA
/ \
/ \
/ \
Intermediate A Intermediate B
/ \
Client A Client B
我运行一个服务,service,它使用中介A的证书链验证客户端。因此,客户端A连接到服务A并进行身份验证。我想要设置一个使用中间B链的服务B,这样它就不会信任