2016-05-11 11 views
0

でComputerSignature障害の原因、DOTNET-通帳(鉱山と一致するように更新拇印)コードオフgithubの実行DOTNET-通帳

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); 

私は次のエラーを取得する:

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)} 

私がいることがわかりNet4.0にいくつかのバグがありました。すべての証明書がまだ有効(およびNOT NULL)です

  • すべての証明書は、リンゴ

から原因についてどのような迅速な洞察力がありますか?

答えて

1

ケン、

私はDOTNET-通帳の著者ので、私は試してみてお手伝いします:)

これは通常、秘密鍵が証明書から欠落しているという事実によって引き起こされます。それらをエクスポートするときは、必ず秘密鍵コンポーネントを含める必要があります。これはマニフェストに実際に署名するために必要です。

私は役立つことを願っています。

+0

私のアップルワールドワイドデベロッパーリレーションズ認証局の証明書が期限切れになったので、元のものをmmcから削除して、ここから新しい証明書をダウンロードして置き換えました - https://developer.apple.com/support/certificates/expiration/しかし、ドットネット通帳のライブラリは、 "'マニフェストに署名できませんでした'というエラーで失敗する。 – Bhav

+0

署名に使用している証明書に秘密鍵が含まれていますか? – tomasmcguinness

+0

いいえ、それはまさにそのリンクで利用できるものです。 – Bhav

関連する問題