示例#1
0
        internal void import_key(byte[] key_blob)
        {
            bool result = Crypt32.CryptImportKey(_provider.Handle, key_blob,
                                                 key_blob.Length, IntPtr.Zero, 0, out _key);
            int param_size = sizeof(uint);

            byte[] rawData = new byte[sizeof(int)];
            Crypt32.CryptGetKeyParam(_key, Crypt32.KP_KEYLEN, ref rawData, ref param_size, 0);
            _key_size  = (((((rawData[3] * 256) + rawData[2]) * 256) + rawData[1]) + 256) + rawData[0];
            _key_size /= 8;
        }