CriticalAllocHandle GetProviderInfo()
        {
            CRYPT_KEY_PROV_INFO provInfo = new CRYPT_KEY_PROV_INFO();

            provInfo.container    = this.keyContainerName;
            provInfo.providerType = (int)ProviderType.RsaSecureChannel;
            provInfo.paramsCount  = 0;
            provInfo.keySpec      = (int)AlgorithmType.KeyExchange;
            return(CriticalAllocHandleBlob.FromBlob <CRYPT_KEY_PROV_INFO>(provInfo));
        }
        private CriticalAllocHandle GetProviderInfo()
        {
            CRYPT_KEY_PROV_INFO id = new CRYPT_KEY_PROV_INFO {
                container    = this.keyContainerName,
                providerType = 12,
                paramsCount  = 0,
                keySpec      = 1
            };

            return(CriticalAllocHandleBlob.FromBlob <CRYPT_KEY_PROV_INFO>(id));
        }
        static CriticalAllocHandle GetSha1AlgorithmId()
        {
            Sha1AlgorithmId sha1Id = new Sha1AlgorithmId();

            return(CriticalAllocHandleBlob.FromBlob <CRYPT_ALGORITHM_IDENTIFIER>(sha1Id));
        }