Пример #1
0
        internal static CAPIBase.CRYPT_OID_INFO CryptFindOIDInfo([In] uint dwKeyType, [In] IntPtr pvKey, [In] System.Security.Cryptography.OidGroup dwGroupId)
        {
            if (pvKey == IntPtr.Zero)
            {
                throw new ArgumentNullException("pvKey");
            }
            CAPIBase.CRYPT_OID_INFO crypt_oid_info = new CAPIBase.CRYPT_OID_INFO(Marshal.SizeOf(typeof(CAPIBase.CRYPT_OID_INFO)));
            IntPtr ptr = CAPISafe.CryptFindOIDInfo(dwKeyType, pvKey, dwGroupId);

            if (ptr != IntPtr.Zero)
            {
                crypt_oid_info = (CAPIBase.CRYPT_OID_INFO)Marshal.PtrToStructure(ptr, typeof(CAPIBase.CRYPT_OID_INFO));
            }
            return(crypt_oid_info);
        }
Пример #2
0
        internal static CAPIBase.CRYPT_OID_INFO CryptFindOIDInfo([In] uint dwKeyType, [In] SafeLocalAllocHandle pvKey, [In] System.Security.Cryptography.OidGroup dwGroupId)
        {
            if (pvKey == null)
            {
                throw new ArgumentNullException("pvKey");
            }
            if (pvKey.IsInvalid)
            {
                throw new CryptographicException(SR.GetString("Cryptography_InvalidHandle"), "pvKey");
            }
            CAPIBase.CRYPT_OID_INFO crypt_oid_info = new CAPIBase.CRYPT_OID_INFO(Marshal.SizeOf(typeof(CAPIBase.CRYPT_OID_INFO)));
            IntPtr ptr = CAPISafe.CryptFindOIDInfo(dwKeyType, pvKey, dwGroupId);

            if (ptr != IntPtr.Zero)
            {
                crypt_oid_info = (CAPIBase.CRYPT_OID_INFO)Marshal.PtrToStructure(ptr, typeof(CAPIBase.CRYPT_OID_INFO));
            }
            return(crypt_oid_info);
        }