Exemple #1
0
 public static IntPtr DeriveKey(IntPtr prov, Calg algId, IntPtr hash, GenKeyParam flags)
 {
     IntPtr key;
     bool retVal = Crypto.CryptDeriveKey(prov, (uint)algId, hash, (uint)flags, out key);
     ErrCode ec = Error.HandleRetVal(retVal);
     return key;
 }
Exemple #2
0
        public static IntPtr DeriveKey(IntPtr prov, Calg algId, IntPtr hash, GenKeyParam flags)
        {
            IntPtr  key;
            bool    retVal = NativeMethods.CryptDeriveKey(prov, (uint)algId, hash, (uint)flags, out key);
            ErrCode ec     = Error.HandleRetVal(retVal);

            return(key);
        }
Exemple #3
0
        //algId can also be AT_KEYEXCHANGE = 1, AT_SIGNATURE = 2,
        public static IntPtr GenKey(IntPtr prov, Calg algId, GenKeyParam flags)
        {
            IntPtr  key;
            bool    retVal = Crypto.CryptGenKey(prov, (uint)algId, (uint)flags, out key);
            ErrCode ec     = Error.HandleRetVal(retVal);

            return(key);
        }
Exemple #4
0
        public static IntPtr ImportKey(IntPtr prov, byte[] keyBlob, IntPtr pubKey, GenKeyParam param)
        {
            uint    keyLen = (uint)keyBlob.Length;
            IntPtr  key;
            bool    retVal = NativeMethods.CryptImportKey(prov, keyBlob, keyLen, pubKey, (uint)param, out key);
            ErrCode ec     = Error.HandleRetVal(retVal);

            return(key);
        }
Exemple #5
0
 public static IntPtr ImportKey(IntPtr prov, byte[] keyBlob, IntPtr pubKey, GenKeyParam param)
 {
     uint keyLen = (uint) keyBlob.Length;
     IntPtr key;
     bool retVal = Crypto.CryptImportKey(prov, keyBlob, keyLen, pubKey, (uint) param, out key);
     ErrCode ec = Error.HandleRetVal(retVal);
     return key;
 }