You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure KeyVault与OpenSSL同配置CSR签名差异原因问询

Azure KeyVault与OpenSSL生成CSR签名差异的原因分析
  • 签名算法的实现细节差异
    虽然两者都标称使用sha256WithRSAEncryption,但实际签名时的填充方式、ASN.1编码细节可能不一样。比如Azure KeyVault可能采用了PKCS#1 v1.5填充的特定实现,或者在编码签名值时的字节序、DER编码格式和OpenSSL有细微区别——这些细节不会被openssl req -text -noout -verify -in csr.csr命令输出,但会直接导致签名结果不同。

  • CSR隐式结构字段的差异
    openssl req -text只会展示CSR的核心可见内容,不会输出所有ASN.1结构细节:

    • 可选字段的默认值处理不同:比如某些扩展的critical标记默认设置,或者CSR版本字段的编码方式,即使逻辑上一致,DER编码的字节流可能有差异
    • 字段排序顺序不同:ASN.1 DER编码要求字段按指定顺序排列,如果Azure和OpenSSL对某些可选字段的排序逻辑不同,待签名的原始数据哈希输入就会不一样,最终签名自然不同。
  • 待签名数据的范围差异
    CSR签名是对除签名段外的整个CSR主体做哈希后再签名。如果Azure KeyVault和OpenSSL在构建待签名的原始DER数据时,包含的隐式元数据、空白字节不同,比如某些字段是否额外补零、可选字段的存在形式不同,哪怕text输出看起来完全一致,实际待哈希的原始字节流已经有区别,签名结果必然不同。

  • 私钥签名的执行环境差异
    你拿到的私钥虽然和KeyVault生成CSR时用的是同一个,但Azure可能是通过硬件安全模块(HSM)执行签名操作,HSM的RSA签名实现和OpenSSL的软件实现可能存在细微差异,这种差异不会体现在私钥本身,但会影响最终的签名值。

内容的提问来源于stack exchange,提问作者XWIKO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:10:35