微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

中间证书只能包含根级别的证书仅一个级别吗?

如何解决中间证书只能包含根级别的证书仅一个级别吗?

我收到了公钥,编码的私钥+密码短语和仅包含一个级别证书的中间件-我猜是根

我需要检查公钥和中间匹配项

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

中级人员是否至少应包含2个级别的root和server?

我的代码

               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

在中间文件中使用多个级别即可正常工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。