为什么 OSX 和 Windows 以不同方式导入我的 .pfx 文件?
Why does OSX and Windows import my .pfx file differently?
我有一个无法共享的 .pfx 文件(与工作相关),但是当我在 Windows 上加载它时,我的 public 键以 30 82 01 0a ... (truncated, see screenshot)
开头
Windows screenshot
当我在 macOS 上加载它时,它以 BF:CF:10...
开头
macOS screenshot
即使是同一个文件,加载证书的序列号和 public 密钥似乎不同,这导致我的 C# Unity 项目在尝试连接时出现问题。它们具有相同的权限密钥标识符、主题密钥标识符和指纹,但序列号不同(4274337a15ab78c4
对应 Windows,4788598903244265668
和 public 密钥)。
为什么 Windows 和 macOS 在加载 相同 证书文件时在细节上会有所不同?
看起来他们导入的是一样的,只是显示方式不同。序列号的差异是由于 Windows 以十六进制显示,而 macOS 以十进制显示。
public 键有点复杂,但请仔细查看 Windows 显示的最上面一行。它以“30 82 01 0a 02 82 01 01 00”开头,但后面的字节“bf cf 10 be e7 b1 1d af ...”与 macOS 列出的第一个字节匹配 public关键。
我没有要查看的 Windows 系统,但我认为正在发生的事情是它显示的“Public 键”实际上是一个 ASN.1 数据结构 包含构成public键的模数和指数。另一方面,macOS 分别列出了模数(标记为“Public Key”)和指数,并且不会理会周围的 ASN.1 headers(“30 82 ...”)东西)。
我有一个无法共享的 .pfx 文件(与工作相关),但是当我在 Windows 上加载它时,我的 public 键以 30 82 01 0a ... (truncated, see screenshot)
开头
Windows screenshot
当我在 macOS 上加载它时,它以 BF:CF:10...
macOS screenshot
即使是同一个文件,加载证书的序列号和 public 密钥似乎不同,这导致我的 C# Unity 项目在尝试连接时出现问题。它们具有相同的权限密钥标识符、主题密钥标识符和指纹,但序列号不同(4274337a15ab78c4
对应 Windows,4788598903244265668
和 public 密钥)。
为什么 Windows 和 macOS 在加载 相同 证书文件时在细节上会有所不同?
看起来他们导入的是一样的,只是显示方式不同。序列号的差异是由于 Windows 以十六进制显示,而 macOS 以十进制显示。
public 键有点复杂,但请仔细查看 Windows 显示的最上面一行。它以“30 82 01 0a 02 82 01 01 00”开头,但后面的字节“bf cf 10 be e7 b1 1d af ...”与 macOS 列出的第一个字节匹配 public关键。
我没有要查看的 Windows 系统,但我认为正在发生的事情是它显示的“Public 键”实际上是一个 ASN.1 数据结构 包含构成public键的模数和指数。另一方面,macOS 分别列出了模数(标记为“Public Key”)和指数,并且不会理会周围的 ASN.1 headers(“30 82 ...”)东西)。