private static IntPtr Create( string password, string name, CryptoKey key, X509Certificate cert, Stack <X509Certificate> ca, PBE keyPbe, PBE certPbe, int iterations, KeyType keyType) { return(Native.ExpectNonNull(Native.PKCS12_create( password, name, key.Handle, cert.Handle, ca.Handle, (int)keyPbe, (int)certPbe, iterations, 1, (int)keyType))); }
private static IntPtr Create( string password, string name, CryptoKey key, X509Certificate cert, Stack <X509Certificate> ca, PBE keyPbe, PBE certPbe, int iterations, KeyType keyType) { if (key == null) { throw new ArgumentException("Key cannot be null", "key"); } if (cert == null) { throw new ArgumentException("Certificate cannot be null", "cert"); } if (ca == null) { throw new ArgumentException("Certificate chain cannot be null", "ca"); } return(Native.ExpectNonNull(Native.PKCS12_create( password, name, key.Handle, cert.Handle, ca.Handle, (int)keyPbe, (int)certPbe, iterations, 1, (int)keyType))); }
/// <summary> /// Calls PKCS12_create() with more options /// </summary> /// <param name="password"></param> /// <param name="name">friendly name</param> /// <param name="key"></param> /// <param name="cert"></param> /// <param name="ca"></param> /// <param name="keyPbe">How to encrypt the key</param> /// <param name="certPbe">How to encrypt the certificate</param> /// <param name="iterations"># of iterations during encryption</param> /// <param name="keyType"></param> public PKCS12(string password, string name, CryptoKey key, X509Certificate cert, Stack <X509Certificate> ca, PBE keyPbe, PBE certPbe, int iterations, KeyType keyType) : base(Create(password, name, key, cert, ca, keyPbe, certPbe, iterations, keyType), true) { Init(password); }
private static IntPtr Create( string password, string name, CryptoKey key, X509Certificate cert, Stack<X509Certificate> ca, PBE keyPbe, PBE certPbe, int iterations, KeyType keyType) { if (key == null) throw new ArgumentException("Key cannot be null", "key"); if (cert == null) throw new ArgumentException("Certificate cannot be null", "cert"); if (ca == null) throw new ArgumentException("Certificate chain cannot be null", "ca"); return Native.ExpectNonNull(Native.PKCS12_create( password, name, key.Handle, cert.Handle, ca.Handle, (int)keyPbe, (int)certPbe, iterations, 1, (int)keyType)); }
/// <summary> /// Calls PKCS12_create() with more options /// </summary> /// <param name="password"></param> /// <param name="name">friendly name</param> /// <param name="key"></param> /// <param name="cert"></param> /// <param name="ca"></param> /// <param name="keyPbe">How to encrypt the key</param> /// <param name="certPbe">How to encrypt the certificate</param> /// <param name="iterations"># of iterations during encryption</param> /// <param name="keyType"></param> public PKCS12( string password, string name, CryptoKey key, X509Certificate cert, Stack<X509Certificate> ca, PBE keyPbe, PBE certPbe, int iterations, KeyType keyType) : base(Create(password, name, key, cert, ca, keyPbe, certPbe, iterations, keyType), true) { Init(password); }
private static IntPtr Create( string password, string name, CryptoKey key, X509Certificate cert, Stack<X509Certificate> ca, PBE keyType, PBE certType, int iterations) { return Native.ExpectNonNull(Native.PKCS12_create( password, name, key.Handle, cert.Handle, ca.Handle, (int)keyType, (int)certType, iterations, 1, (int)key.Type)); }