我正在为我们的应用实现存折,该存折在Android上运行良好,但现在在iOS和Mac OS上运行良好,这可能是由于其签名或认证。
我有2个证书文件:
并且还具有该.pfx文件的密码。
我正在.NET MVC Webapi中使用 dotnet-passbook 框架,也可以在存储库 here 中找到我的问题。
我正在使用以下代码生成de .pkpass 文件:
public static byte[] Generate(Models.PassKey.PassBookTicketData data)
{
// Generator to get the passkey
var generator = new PassGenerator();
string appleCertPath = (HttpContext.Current.Server.MapPath("~/Certificates/AppleWWDRCA.cer"));
string companyCertPath = (HttpContext.Current.Server.MapPath("~/Certificates/company.pfx"));
// Request to send
var request = new PassGeneratorRequest()
{
PassTypeIdentifier = "pass.com.company",
TeamIdentifier = "TEAM",
Certificate = File.ReadAllBytes(companyCertPath),
CertificatePassword = ConfigurationManager.AppSettings["PASSBOOK_PASSWORD"],
AppleWWDRCACertificate = File.ReadAllBytes(appleCertPath),
SerialNumber = Guid.NewGuid().ToString(),
Description = data.Description,
OrganizationName = "some organization",
BackgroundColor = ColorHexToPassBookColor("#00517c"),
ForegroundColor = ColorHexToPassBookColor("#f68700"),
LabelColor = ColorHexToPassBookColor("#ffffff"),
LogoText = "some text",
GroupingIdentifier = data.EventCode
};
// .... images, icons, fields, etc
return generator.Generate(request);
}
它缺少添加字段,图像,图标的部分,但是现在不相关了,如果需要,我用整个代码创建了一个 Gist 。
我需要在发送新证书时使其生效吗?
答案 0 :(得分:1)
我是dotnet-passbook的开发人员,我帮助Emiliano在Github上解决了此问题。
问题是用于签名清单的pfx证书。
该证书不是从Apple Developer门户生成的,因此,缺少必需的信息。我通过验证工具(https://pkpassvalidator.azurewebsites.net)进行了传递,这使我对问题出在哪里有所了解。一旦确定通过类型标识符和团队标识符值不同,便会进一步调查证书。
您可以在此处阅读问题的完整历史记录-https://github.com/tomasmcguinness/dotnet-passbook/issues/69