private static X509Certificate2 GetCertificate(SecHandle context, SECPKG_ATTR attr)
        {
            var cert = QueryContextAttribute <IntPtr>(context, attr);

            try
            {
                return(new X509Certificate2(cert));
            }
            finally
            {
                SecurityNativeMethods.CertFreeCertificateContext(cert);
            }
        }
Beispiel #2
0
 private static X509Certificate2 GetCertificate(SecHandle context, SECPKG_ATTR attr)
 {
     using (var buffer = new SafeStructureInOutBuffer <IntPtr>())
     {
         SecurityNativeMethods.QueryContextAttributesEx(context, attr, buffer, buffer.Length).CheckResult();
         try
         {
             return(new X509Certificate2(buffer.Result));
         }
         finally
         {
             SecurityNativeMethods.CertFreeCertificateContext(buffer.Result);
         }
     }
 }