Beispiel #1
0
        public static byte [] GetProvParam(IntPtr prov, ProvParam param)
        {
            byte[]  data    = new byte[0];
            uint    dataLen = 0;
            uint    flags   = 0;
            bool    retVal  = Crypto.CryptGetProvParam(prov, (uint)param, data, ref dataLen, flags);
            ErrCode ec      = Error.HandleRetVal(retVal, ErrCode.MORE_DATA);

            if (ec == ErrCode.MORE_DATA)
            {
                data   = new byte[(int)dataLen];
                retVal = Crypto.CryptGetProvParam(prov, (uint)param, data, ref dataLen, flags);
                ec     = Error.HandleRetVal(retVal);
            }
            return(data);
        }
Beispiel #2
0
 public static byte[] GetProvParam(IntPtr prov, ProvParam param)
 {
     byte[] data = new byte[0];
     uint dataLen = 0;
     uint flags = 0;
     bool retVal = Crypto.CryptGetProvParam(prov, (uint) param, data, ref dataLen, flags);
     ErrCode ec = Error.HandleRetVal(retVal, ErrCode.MORE_DATA);
     if(ec == ErrCode.MORE_DATA)
     {
         data = new byte[(int)dataLen];
         retVal = Crypto.CryptGetProvParam(prov, (uint) param, data, ref dataLen, flags);
         ec = Error.HandleRetVal(retVal);
     }
     return data;
 }