L'exécution du code de GitHub, dotnet-passbook (mis à jour thumbprint pour correspondre à la mienne)cause de la défaillance ComputerSignature dans dotnet-passbook
CmsSigner signer = new CmsSigner(SubjectIdentifierType.SubjectKeyIdentifier, passCert)
{
IncludeOption = X509IncludeOption.None
};
signer.Certificates.Add(passCert);
signer.Certificates.Add(appleCert);
signer.SignedAttributes.Add(new Pkcs9SigningTime());
Trace.TraceInformation("Processing the signature..");
//fails on the next line
signing.ComputeSignature(signer);
Je reçois l'erreur suivante:
Data: {System.Collections.ListDictionaryInternal}
HResult: -2146893811
HelpLink: null
IPForWatsonBuckets: {1687357764}
InnerException: null
IsTransient: false
Message: "Key does not exist.\r\n"
RemoteStackTrace: null
Source: "System.Security"
StackTrace: " at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer, Boolean silent)\r\n at Passbook.Generator.PassGenerator.SignManifestFile(PassGeneratorRequest request) in D:\\git\\dotnet-passbook\\Passbook.Generator\\PassGenerator.cs:line 261"
TargetSite: {Void ComputeSignature(System.Security.Cryptography.Pkcs.CmsSigner, Boolean)}
Je vois que il y avait quelques bugs avec Net4.0 cités ailleurs.
- Tous les certificats sont valables encore (et non null)
- Tous les certificats sont de la pomme
Toute idée rapide à faire?
Salut, mon certificat d'Apple Worldwide Developer Relations Autorité de certification a expiré, donc je supprimé mon original de mmc et remplacé par un nouveau certificat téléchargé à partir d'ici - https://developer.apple.com/support/certificates/expiration/ Cependant, la bibliothèque dotnet-passbook échoue maintenant avec "" Impossible de signer le manifeste "" Des suggestions sur pourquoi? – Bhav
Est-ce que le certificat que vous utilisez pour signer inclut la clé privée? – tomasmcguinness
Non, c'est exactement celui disponible sur ce lien. – Bhav