MSIX打包工具不兼容subject中ST字段证书,如何生成带S字段的证书
问题根因
报错的核心原因有两个:
- OpenSSL默认用
ST作为州/省字段的缩写,但微软MSIX打包规范中,州/省对应的字段缩写是**S**,ST不在支持的字段正则规则里,直接触发校验失败 - 证书的subject属性必须和
AppXManifest.xml中Identity节点的Publisher属性完全一致,你当前证书的subject缺了CN=OurCompany字段,也和配置不匹配
解决步骤
- 重新生成符合规范的PFX证书
直接用如下OpenSSL命令生成自签名证书,注意-subj参数里的字段缩写、内容、顺序完全和你Manifest里的Publisher对齐,州/省用S不要用ST:
# 生成私钥和自签名证书,有效期365天 openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/C=DE/S=Berlin/L=Berlin/O=COMPANY/CN=OurCompany" # 导出为PFX格式证书,执行时会提示设置证书密码 openssl pkcs12 -export -out certificate.pfx -inkey key.pem -in cert.pem
- 验证证书信息是否正确
执行如下命令查看证书的subject字段,确认没有ST字段,且内容和Manifest里的Publisher完全一致:
openssl pkcs12 -in certificate.pfx -info -nokeys
- 重新打包
用新生成的PFX证书重新执行MSIX打包流程即可,不会再触发字段校验错误。
内容的提问来源于stack exchange,提问作者derChris
相关产品推荐
相关产品推荐

