当前位置: 首页 > news >正文

证书及公钥SHA256值计算方法

证书及公钥SHA256值计算方法

  • 移除开头和结尾的标记以及所有空白字符
  • Base64 解码
  • 进行 SHA-256 哈希运算

已有文件:证书(后缀如crt)获取网站证书方法不再赘述
以bilibili为例:浏览器访问:https://bilibili.com 查看证书
在这里插入图片描述

具体查看SHA-256指纹的计算

  1. 证书的SHA-256
    运行如下命令,获取到十六进制的字符串,与浏览器查看的证书指纹对应上:
    openssl x509 -in .\xxxx.crt -fingerprint -sha256
    在这里插入图片描述

  2. 公钥的SHA-256
    运行如下命令,获取到公钥的Base64编码的pem
    openssl x509 -pubkey -noout -in .\bilibili.crt -out pubkey.pem
    在这里插入图片描述
    也可以在线查看公钥:https://www.trustauth.cn/SSLTool/readCert.do,复制证书crt文件内容,查看公钥内容

  3. 计算此公钥文件的SHA-256
    pem格式的内容中,begin和end之间的内容为二进制公钥文件经过base64编码后得到的字符串,计算原二进制文件的SHA-256需经过Base64解码再运算。
    在这里插入图片描述
    将公钥的内容粘贴到public_key_pem,执行python main.py,输出如下:
    在这里插入图片描述与浏览器查看证书中公钥的SHA256值对应。

附上python代码:
import base64
import hashlib

public_key_pem = “””xxxxxxxxxxx “””

移除开头和结尾的标记以及所有空白字符

public_key_pem = public_key_pem.replace(“-----BEGIN PUBLIC KEY-----”, “”).replace(“-----END PUBLIC KEY-----”, “”).replace(“\n”, “”).replace(" ", “”)

Base64 解码

public_key_bytes = base64.b64decode(public_key_pem)

进行 SHA-256 哈希运算

sha256_hash = hashlib.sha256(public_key_bytes).hexdigest()

print(“SHA-256 Hash:”, sha256_hash)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 大模型重塑软件研发,从辅助编程到多 Agent 协同还有多远?| 新程序员
  • 公钥和私钥
  • 请你谈谈:vue的渲染机制(render)- 2举例说明问题
  • Kafka使用案例
  • 测量温湿度通过蓝牙和串口发送数据显示在LCD1602屏上
  • 紫辉创投开启Destiny of Gods首轮投资,伯乐与千里马的故事仍在继续
  • 2024杭电多校01——1003树
  • SpringBoot Mysql->达梦8 activiti6.0.0 项目迁移
  • JLink烧录失败
  • 免费发送邮件两种接口方式:SMTP和邮件API
  • “链动+消费增值:用户留存复购新引擎“
  • CSS3 scale 适配
  • zeppline 连接flink 1.17报错
  • WordPress 后台开发技巧:向文章发布页右侧添加自定义菜单项
  • react中的useState和Hook、副作用
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Computed property XXX was assigned to but it has no setter
  • Hexo+码云+git快速搭建免费的静态Blog
  • IDEA 插件开发入门教程
  • IP路由与转发
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • javascript 总结(常用工具类的封装)
  • Java编程基础24——递归练习
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • node.js
  • yii2权限控制rbac之rule详细讲解
  • 推荐一个React的管理后台框架
  • 一、python与pycharm的安装
  • 译有关态射的一切
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #数据结构 笔记三
  • (13):Silverlight 2 数据与通信之WebRequest
  • (160)时序收敛--->(10)时序收敛十
  • (39)STM32——FLASH闪存
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (回溯) LeetCode 78. 子集
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (四)事件系统
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)IOS中获取各种文件的目录路径的方法
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .apk文件,IIS不支持下载解决
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net core 管理用户机密
  • .NET Core中的去虚
  • .net 生成二级域名