• 如何根据rfc5280中的crl流程写一个crl吊销查询代码


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 m0_69329877 2024-04-06 19:19 采纳率: 0% 浏览 0 首页/ 编程语言 / 如何根据rfc5280中的crl流程写一个crl吊销查询代码 python 如何根据rfc5280中的crl流程写一个crl吊销查询代码,使用python 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 檀越剑指大厂 Java领域优质创作者 2024-04-06 19:19
      关注

      晚上好🌙🌙🌙
      本答案参考ChatGPT-3.5

      根据rfc5280中的crl流程,可以通过以下步骤编写一个CRL吊销查询代码:

      1. 获取证书的CRL分发点(CRL Distribution Point, CDP)扩展信息,该扩展信息指定了CRL的位置和访问方式。

      2. 通过CDP扩展信息中指定的方式获取CRL文件。可以使用Python中的requests库发送HTTP请求获取CRL文件。

      3. 解析CRL文件,提取所有被吊销的证书序列号。

      4. 获得需要查询的证书序列号,将其与CRL中的吊销序列号比较。

      5. 如果需要查询的证书序列号存在于吊销序列号中,则代表证书已被吊销。

      下面是对应的Python代码:

      import requests
      from cryptography import x509
      from cryptography.hazmat.backends import default_backend
      
      # 1. 获取证书的CRL分发点信息
      cert_url = 'https://example.com/cert.pem'
      response = requests.get(cert_url)
      cert = x509.load_pem_x509_certificate(response.content, default_backend())
      cdp = cert.extensions.get_extension_for_oid(x509.OID_CRL_DISTRIBUTION_POINTS)
      
      # 2. 获取CRL文件
      crl_url = str(cdp.value[0].full_name[0].value)
      response = requests.get(crl_url)
      crl = x509.load_der_x509_crl(response.content)
      
      # 3. 解析CRL文件,提取被吊销的证书序列号
      revoked_serial_numbers = [revoked.serial_number for revoked in crl]
      
      # 4. 比较证书序列号是否被吊销
      certificate_serial_number = cert.serial_number
      if certificate_serial_number in revoked_serial_numbers:
          print("Certificate has been revoked!")
      else:
          print("Certificate is valid.")
      

      注意:这里的证书和CRL文件都假设为PEM格式。如果是其他格式,则需要使用对应的加载函数进行解析。另外,以上代码仅仅是一个简单的示例,还需要根据实际情况进行编写和修改。

      展开全部

      评论 编辑记录
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      nodejs事件循环
      SAP message-06 027 供应商 & 还未为采购组织 & 创建
      淘宝商品销量接口/淘宝商品销量监控接口/商品累计销量接口/商品详情销量接口代码对接分享
      C#笔记:C#程序基本内容
      SpringBoot整合Spring Security【超详细教程】
      华封科技举办2022年首场技术认证培训
      【知识总结】金九银十offer拿到手软的前端面试题——Javascript篇(一)
      第2-4-1章 规则引擎Drools介绍-业务规则管理系统-组件化-中台
      ET框架6.0分析三、网络通信
      java八股文面试[数据库]——可重复读怎么实现的(MVCC)
    • 原文地址:https://ask.csdn.net/questions/8084213