Example #1
0
 /// <summary>
 /// INVALID_PARAMETER. call Context.AcquireContext with minimal values instead
 /// </summary>
 public static string GetDefaultProvider(ProvType provType, ProvDefaultFlag provDefFlag)
 {
     uint reserved = 0;
     uint flags = (uint) provDefFlag;
     uint dataLen = 0;
     StringBuilder provName = new StringBuilder();
     bool retVal = Crypto.CryptGetDefaultProvider((uint)provType, ref reserved, flags, provName, ref dataLen);
     ErrCode ec = Error.HandleRetVal(retVal, ErrCode.MORE_DATA);
     if(ec == ErrCode.MORE_DATA)
     {
         provName = new StringBuilder((int)dataLen);
         retVal = Crypto.CryptGetDefaultProvider((uint)provType, ref reserved, flags, provName, ref dataLen);
         ec = Error.HandleRetVal(retVal);
     }
     string name = provName.ToString();
     if(name == null || name == String.Empty)
         throw new Exception(ec.ToString());
     return name;
 }
Example #2
0
        /// <summary>
        /// INVALID_PARAMETER. call Context.AcquireContext with minimal values instead
        /// </summary>
        public static string GetDefaultProvider(ProvType provType, ProvDefaultFlag provDefFlag)
        {
            uint          reserved = 0;
            uint          flags    = (uint)provDefFlag;
            uint          dataLen  = 0;
            StringBuilder provName = new StringBuilder();
            bool          retVal   = Crypto.CryptGetDefaultProvider((uint)provType, ref reserved, flags, provName, ref dataLen);
            ErrCode       ec       = Error.HandleRetVal(retVal, ErrCode.MORE_DATA);

            if (ec == ErrCode.MORE_DATA)
            {
                provName = new StringBuilder((int)dataLen);
                retVal   = Crypto.CryptGetDefaultProvider((uint)provType, ref reserved, flags, provName, ref dataLen);
                ec       = Error.HandleRetVal(retVal);
            }
            string name = provName.ToString();

            if (name == null || name == String.Empty)
            {
                throw new Exception(ec.ToString());
            }
            return(name);
        }
Example #3
0
 /// <summary>
 /// INVALID_PARAMETER. call SetProvider instead
 /// </summary>
 public static void SetProviderEx(string provName, ProvType provType, ProvDefaultFlag provDefFlag)
 {
     uint reserved = 0;
     bool retVal = Crypto.CryptSetProviderEx(provName, (uint) provType, ref reserved, (uint) provDefFlag);
     ErrCode ec = Error.HandleRetVal(retVal);
 }
Example #4
0
 /// <summary>
 /// INVALID_PARAMETER. call SetProvider instead
 /// </summary>
 public static void SetProviderEx(string provName, ProvType provType, ProvDefaultFlag provDefFlag)
 {
     uint    reserved = 0;
     bool    retVal   = Crypto.CryptSetProviderEx(provName, (uint)provType, ref reserved, (uint)provDefFlag);
     ErrCode ec       = Error.HandleRetVal(retVal);
 }