17 private unsafe global::Interop.HttpApi.HTTP_SSL_CLIENT_CERT_INFO*
_memoryBlob;
28 : base(asyncObject, userState, callback)
34 internal unsafe
void Reset(uint size)
71 global::Interop.HttpApi.HTTP_SSL_CLIENT_CERT_INFO* requestBlob =
asyncResult.RequestBlob;
72 asyncResult.Reset(numBytes + requestBlob->CertEncodedSize);
89 asyncResult.ErrorCode = (int)errorCode;
94 global::Interop.HttpApi.HTTP_SSL_CLIENT_CERT_INFO* memoryBlob =
asyncResult._memoryBlob;
95 if (memoryBlob !=
null)
99 System.
Net.
NetEventSource.
Info(
null, $
"pClientCertInfo:{(IntPtr)memoryBlob} pClientCertInfo->CertFlags: {memoryBlob->CertFlags} pClientCertInfo->CertEncodedSize: {memoryBlob->CertEncodedSize} pClientCertInfo->pCertEncoded: {(IntPtr)memoryBlob->pCertEncoded} pClientCertInfo->Token: {(IntPtr)memoryBlob->Token} pClientCertInfo->CertDeniedByMapper: {memoryBlob->CertDeniedByMapper}",
"IOCompleted");
101 if (memoryBlob->pCertEncoded !=
null)
105 byte[]
array =
new byte[memoryBlob->CertEncodedSize];
108 result = x509Certificate2;
114 System.
Net.
NetEventSource.
Info(
null, $
"HttpListenerRequest: {httpListenerRequest} caught CryptographicException: {ex}",
"IOCompleted");
122 System.
Net.
NetEventSource.
Info(
null, $
"HttpListenerRequest: {httpListenerRequest} caught SecurityException: {ex2}",
"IOCompleted");
141 if (errorCode != 997)
154 System.
Net.
NetEventSource.
Info(
null, $
"errorCode:[{errorCode}] numBytes:[{numBytes}] nativeOverlapped:[{(long)nativeOverlapped}]",
"WaitCallback");
static bool HasShutdownStarted
static void SuppressFinalize(object obj)
static bool IsFatal(Exception exception)
SafeHandle RequestQueueHandle
HttpListenerContext HttpListenerContext
void SetClientCertificateError(int clientCertificateError)
static readonly bool SkipIOCPCallbackOnSuccess
ThreadPoolBoundHandle _boundHandle
static unsafe void WaitCallback(uint errorCode, uint numBytes, NativeOverlapped *nativeOverlapped)
unsafe override void Cleanup()
ListenerClientCertAsyncResult(ThreadPoolBoundHandle boundHandle, object asyncObject, object userState, AsyncCallback callback, uint size)
unsafe global::Interop.HttpApi.HTTP_SSL_CLIENT_CERT_INFO * _memoryBlob
void IOCompleted(uint errorCode, uint numBytes)
unsafe NativeOverlapped * _pOverlapped
unsafe global::Interop.HttpApi.HTTP_SSL_CLIENT_CERT_INFO * RequestBlob
static unsafe readonly IOCompletionCallback s_IOCallback
unsafe void Reset(uint size)
unsafe ~ListenerClientCertAsyncResult()
static unsafe void IOCompleted(ListenerClientCertAsyncResult asyncResult, uint errorCode, uint numBytes)
static readonly System.Net.NetEventSource Log
static void Info(object thisOrContextObject, FormattableString formattableString=null, [CallerMemberName] string memberName=null)
static void Copy(int[] source, int startIndex, IntPtr destination, int length)
static unsafe IntPtr UnsafeAddrOfPinnedArrayElement(Array arr, int index)
unsafe void FreeNativeOverlapped(NativeOverlapped *overlapped)
unsafe NativeOverlapped * AllocateNativeOverlapped(IOCompletionCallback callback, object? state, object? pinData)
static unsafe? object GetNativeOverlappedState(NativeOverlapped *overlapped)
unsafe delegate void IOCompletionCallback(uint errorCode, uint numBytes, NativeOverlapped *pOVERLAP)