2016-09-27 78 views
0

我不能让PushSharp工作,我敢肯定,问题是什么我做不正确的,虽然我不知道...:/PushSharp投掷CryptographicException:证书实例是空

下面的代码:

var cert = new X509Certificate2(
       "cio_aps_development.p12", 
       "", 
       X509KeyStorageFlags.MachineKeySet | 
       X509KeyStorageFlags.PersistKeySet | 
       X509KeyStorageFlags.Exportable); 

//var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, "cio_aps_development.p12", ""); 
var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, cert); 

不要紧,哪一种方法我拿,我得到这个错误:

System.Security.Cryptography.CryptographicException: Certificate instance is empty.

System.Security.Cryptography.CryptographicException: Certificate instance is empty. 
     at System.Security.Cryptography.X509Certificates.X509Helper.ThrowIfContextInvalid (System.Security.Cryptography.X509Certificates.X509CertificateImpl impl) [0x0000b] in /private/tmp/source-mono-4.6.0/bockbuild-xamarin/profiles/mono-mac-xamarin/build-root/mono-x86/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509Helper.cs:120 
     at System.Security.Cryptography.X509Certificates.X509Certificate.get_Impl() [0x00000] in /private/tmp/source-mono-4.6.0/bockbuild-xamarin/profiles/mono-mac-xamarin/build-root/mono-x86/mcs/class/corlib/System.Security.Cryptography.X509Certificates/X509Certificate.cs:137 
     at System.Security.Cryptography.X509Certificates.X509Certificate2.get_Impl() [0x00000] in /private/tmp/source-mono-4.6.0/bockbuild-xamarin/profiles/mono-mac-xamarin/build-root/mono-x86/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Certificate2.cs:63 
     at System.Security.Cryptography.X509Certificates.X509Certificate2.get_IssuerName() [0x00000] in /private/tmp/source-mono-4.6.0/bockbuild-xamarin/profiles/mono-mac-xamarin/build-root/mono-x86/mcs/class/System/System.Security.Cryptography.X509Certificates/X509Certificate2.cs:169 
     at PushSharp.Apple.ApnsConfiguration.CheckIsApnsCertificate() [0x00011] in <1389cefdb7bb4d6c97d6126934847d24>:0 
     at PushSharp.Apple.ApnsConfiguration.Initialize (PushSharp.Apple.ApnsConfiguration+ApnsServerEnvironment serverEnvironment, System.Security.Cryptography.X509Certificates.X509Certificate2 certificate, System.Boolean validateIsApnsCertificate) [0x000a8] in <1389cefdb7bb4d6c97d6126934847d24>:0 
     at PushSharp.Apple.ApnsConfiguration..ctor (PushSharp.Apple.ApnsConfiguration+ApnsServerEnvironment serverEnvironment, System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) [0x00006] in <1389cefdb7bb4d6c97d6126934847d24>:0 

任何想法?

谢谢!

回答

0

供将来参考:

问题是我的p12文件。它没有正确出口。 以正确的方式导出之后,它工作正常。