工牌/身份证生成器 - 虚拟证件在线制作
自定义头像、姓名、部门等信息,生成虚拟员工ID卡,适合团队活动或内部展示。
UD5工具箱
深入了解 HPKP 机制 —— 生成密钥对、计算 PIN 哈希、构建 Public-Key-Pins 响应头, 并通过交互式模拟理解浏览器证书验证流程与安全风险。
当前服务器证书的公钥 —— 必须固定。
离线安全存储的备用公钥 —— 防止意外锁定。
Pin 中间CA公钥可允许证书轮换而不触发HPKP错误。
自动生成主密钥、备份密钥和CA密钥,并计算所有PIN。
模拟浏览器访问配置了HPKP的网站时的证书验证过程。
服务器使用与主PIN匹配的证书
服务器使用与备份PIN匹配的证书
攻击者使用不匹配任何PIN的证书
如果所有被Pin的公钥对应的私钥全部丢失(如服务器被入侵、备份密钥损坏),网站将永久无法被已缓存HPKP的浏览器访问,直到max-age过期。这是HPKP最致命的风险,也是其被废弃的主要原因之一。
HPKP已于2017年被Chrome废弃,2018年移除。现代Web安全依赖证书透明度(Certificate Transparency)和Expect-CT头来检测恶意证书,更安全且不会造成不可逆的锁定。
HTTP公钥固定(HTTP Public Key Pinning,HPKP)是一种Web安全机制,通过Public-Key-Pins HTTP响应头告诉浏览器:在指定时间内(max-age),只接受与预定义公钥哈希值(PIN)匹配的证书。如果服务器提供的证书公钥与任何已声明的PIN都不匹配,浏览器将拒绝连接,从而防止中间人攻击和 rogue CA 颁发的伪造证书。
HPKP由IETF在RFC 7469中定义,但由于配置风险极高(可能导致网站永久不可访问),已于2017-2018年被主流浏览器废弃。
HPKP被废弃的主要原因包括:
pin-sha256的计算步骤如下:
在本工具中,我们使用Web Crypto API真实地执行了以上所有步骤:生成密钥对 → 导出SPKI(DER格式)→ SHA-256 → Base64。
命令行方式(使用OpenSSL):
openssl x509 -in certificate.pem -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
HPKP规范强制要求至少声明两个PIN:
备份PIN的作用是灾难恢复:如果主密钥的私钥泄露或丢失,可以使用备份密钥申请新证书,从而恢复网站访问。如果没有备份PIN且主密钥不可用,网站将进入"HPKP自杀"状态。
最佳实践建议备份PIN使用不同CA签发的证书的公钥,以防范单个CA出现问题。
HPKP可以pin证书链中任意层级的公钥:
最佳实践是Pin中间CA的公钥,同时备份pin另一个不同CA的中间证书公钥。
max-age决定了浏览器缓存HPKP策略的时长(秒):
重要:max-age越长,配置错误的影响越大!在max-age过期前,被错误锁定的用户无法访问网站。建议从较短时间开始,确认无误后再延长。
Public-Key-Pins-Report-Only(Report-Only模式):浏览器仅检查PIN匹配情况并发送报告,但不会阻止连接。用于部署前测试。
report-uri:指定一个URL,当浏览器检测到PIN不匹配时,会向该URL发送JSON格式的违规报告。报告包含:
建议部署流程:先使用Report-Only模式 + report-uri收集数据 → 分析确认配置正确 → 再启用强制模式。
两者都是通过HTTP响应头增强安全性的机制,但作用不同:
HSTS目前仍被广泛使用和推荐;HPKP已被废弃。两者可以配合使用,但HPKP的风险远高于HSTS。
证书透明度(Certificate Transparency,CT)是一个开放的框架,用于监控和审计证书颁发:
与HPKP相比,CT的优势:
includeSubDomains指令将HPKP策略应用到所有子域名。风险包括:
建议:除非你完全控制所有子域名的证书管理,否则不要启用includeSubDomains,或仅在充分测试后启用。
自定义头像、姓名、部门等信息,生成虚拟员工ID卡,适合团队活动或内部展示。
粘贴SSH公钥,生成对应的OpenSSH randomart视觉指纹图和指纹字符串。
模拟服务端生成与校验CSRF令牌的完整过程,展示隐藏在表单与Session中的同步模式。
使用CTAP2模拟器或安全密钥在浏览器中体验无密码注册与认证流程。
同步器令牌模式演示:生成令牌嵌入表单,提交时验证,理解CSRF防护核心流程。
创建带有弹性动画的通知数字徽章或红点,生成对应的HTML/CSS代码。
通过PBKDF2算法将弱密码转为加密级密钥,可设定盐和迭代次数,用于密钥管理演示。
生成一次性恢复码,排列成卡片样式可打印保存,用于账号恢复。
逐步演示OAuth 2.0授权码流程或PKCE流程,展示参数跳转和Token交换。
生成一个随机字符矩阵的密码卡,通过行列坐标记忆组合强密码,可打印保存。
生成简单数字或字母验证码图片,带干扰线和噪点,适合前端原型测试,不依赖服务端。
粘贴Base64编码的PEM证书,解码并显示颁发者、有效期、公钥算法与指纹等信息。
模拟跨站请求伪造攻击以及如何通过CSRF Token进行防护的流程演示。
填写商家名、物品清单、金额等,生成逼真的收据HTML,可打印作为道具或玩笑。
使用Web NFC API读取NDEF格式标签的数据,展示记录类型和内容(需硬件支持)。
在PWA环境中设置和清除应用图标上的数字角标,演示Badging API的简单用法。
演示请求订阅Web Push,获得端点后可配合服务端发送测试推送。
显示国旗图片,输入国家名称验证,或翻转卡牌学习,适合儿童认识世界。
上传或粘贴证书签名请求(CSR)或公开证书内容,提取CN, SAN, 有效期等。
构建一个虚拟的登录窗,演示SQL注入登录绕过,并展示参数化查询如何防范。
在线随机密码生成工具,可自定义密码长度、字符类型(大小写、数字、符号),生成高强度的随机密码。
通过公共API获取指定域名的证书信息,展示颁发者、有效期及SAN。
上传主图标,自动生成带安全区域内缩的maskable-icon和monochrome通知徽章。
生成RSA/EC对称密钥的JWK表示,支持复制导出,用于OAuth2/JWT的密钥配置。
输入域名,通过TLS连接获取其SSL证书的颁发者、有效期、主题等信息。
支持多人通过不同键盘按键抢答,最先按下者屏幕亮起并锁定,类似电视节目。
输入球员名单及首选号码,自动解决冲突并分配唯一号。
说出特定指令来操控虚拟卡牌出牌或触发效果,体验语音交互娱乐。
生成由随机单词组成的口令短语,或自定义字符集强密码,实时显示强度。
点击方格生成鼓谱,内置底鼓军鼓镲片音色,播放试听。