18 {
20 if (certContext ==
IntPtr.Zero)
21 {
22 return x509Certificate2Collection;
23 }
24 global::Interop.Crypt32.CERT_CONTEXT cERT_CONTEXT = *(global::Interop.Crypt32.CERT_CONTEXT*)(void*)certContext;
25 if (cERT_CONTEXT.hCertStore !=
IntPtr.Zero)
26 {
27 global::Interop.Crypt32.CERT_CONTEXT* pPrevCertContext = null;
28 while (true)
29 {
30 global::Interop.Crypt32.CERT_CONTEXT* ptr = global::Interop.Crypt32.CertEnumCertificatesInStore(cERT_CONTEXT.hCertStore, pPrevCertContext);
31 if (ptr == null)
32 {
33 break;
34 }
37 {
38 System.
Net.
NetEventSource.
Info(certContext, $
"Adding remote certificate:{x509Certificate}",
"GetRemoteCertificatesFromStoreContext");
39 }
40 x509Certificate2Collection.
Add(x509Certificate);
41 pPrevCertContext = ptr;
42 }
43 }
44 return x509Certificate2Collection;
45 }
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)
int Add(X509Certificate2 certificate)