Python 中间证书能否仅包含根级别证书(仅一个级别?)

Python 中间证书能否仅包含根级别证书(仅一个级别?),python,ssl,ssl-certificate,pyopenssl,Python,Ssl,Ssl Certificate,Pyopenssl,我收到了公钥、编码私钥+密码短语密钥&我想这是一种只包含一级证书根的中间密钥 我需要检查公钥和中间密钥是否匹配 当我使用一级中间文件运行此代码时,会出现错误:X509StoreContextError:[2,1,‘无法获取颁发者证书’] 中间层不应该至少包含两个级别的根和服务器吗 我的代码: from OpenSSL import crypto, SSL try: cert_obj = crypto

我收到了公钥、编码私钥+密码短语密钥&我想这是一种只包含一级证书根的中间密钥

我需要检查公钥和中间密钥是否匹配

当我使用一级中间文件运行此代码时,会出现错误:X509StoreContextError:[2,1,‘无法获取颁发者证书’]

中间层不应该至少包含两个级别的根和服务器吗

我的代码:

               from OpenSSL import crypto, SSL

               try:
                  cert_obj = crypto.load_certificate(crypto.FILETYPE_PEM, bublic_txt)
               except crypto.Error as err:
                  raise Exception('certificate is not correct: %s' % err)

                store = crypto.X509Store()
                for _cert in trusted_certs:
                    try:
                        intermediate_key_obj = crypto.load_certificate(crypto.FILETYPE_PEM, _cert)
                        store.add_cert(intermediate_key_obj)    
                    except crypto.Error as err:
                        raise Exception('Intermediate key is not correct: %s' % err)
                try:
                    store_ctx = crypto.X509StoreContext(store, cert_obj)
                    store_ctx.verify_certificate()
                except crypto.Error as err:
                    raise Exception('Intermediate key does not match public key: %s' % err)
                return True
可以在中间文件中使用多个级别