130 references to Ssl
System.Net.Security (130)
src\libraries\Common\src\Interop\Unix\System.Net.Security.Native\Interop.Initialization.cs (1)
31
Ssl
.EnsureLibSslInitialized();
src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.OpenSsl.cs (79)
138
if (!Interop.
Ssl
.Capabilities.Tls13Supported)
211
SafeSslContextHandle sslCtx =
Ssl
.SslCtxCreate(
Ssl
.SslMethods.SSLv23_method);
219
Ssl
.SslCtxSetProtocolOptions(sslCtx, protocols);
224
if (!
Ssl
.SetEncryptionPolicy(sslCtx, sslAuthenticationOptions.EncryptionPolicy))
239
if (!
Ssl
.SslCtxSetCiphers(sslCtx, cipherListStr, cipherSuitesStr))
253
Ssl
.SslCtxSetQuietShutdown(sslCtx);
262
Ssl
.SslCtxSetCaching(sslCtx, 1, cacheSize, contextId.Length, contextId, null, null);
267
int result =
Ssl
.SslCtxSetCaching(sslCtx, 1, cacheSize, 0, null, &NewSessionCallback, &RemoveSessionCallback);
274
Ssl
.SslCtxSetCaching(sslCtx, 0, -1, 0, null, null, null);
279
Interop.
Ssl
.SslCtxSetAlpnSelectCb(sslCtx, &AlpnServerSelectCallback, IntPtr.Zero);
288
if (!
Ssl
.AddExtraChainCertificates(sslCtx, sslAuthenticationOptions.CertificateContext.IntermediateCertificates))
296
Ssl
.SslCtxSetDefaultOcspCallback(sslCtx);
301
Ssl
.SslCtxSetKeylogCallback(sslCtx, &KeyLogCallback);
316
Interop.
Ssl
.SslSetClientCertCallback(ssl, 0);
326
int retVal =
Ssl
.SslUseCertificate(ssl, sslAuthenticationOptions.CertificateContext.CertificateHandle);
332
retVal =
Ssl
.SslUsePrivateKey(ssl, sslAuthenticationOptions.CertificateContext.KeyHandle);
340
if (!
Ssl
.AddExtraChainCertificates(ssl, sslAuthenticationOptions.CertificateContext.IntermediateCertificates))
362
if (!Interop.
Ssl
.Capabilities.Tls13Supported ||
429
Debug.Assert(Interop.
Ssl
.SslGetData(sslHandle) == IntPtr.Zero);
431
Interop.
Ssl
.SslSetData(sslHandle, GCHandle.ToIntPtr(alpnHandle));
436
if (Interop.
Ssl
.SslSetAlpnProtos(sslHandle, sslAuthenticationOptions.ApplicationProtocols) != 0)
448
if (!
Ssl
.SslSetTlsExtHostName(sslHandle, sslAuthenticationOptions.TargetHost))
465
Ssl
.SslSetPostHandshakeAuth(sslHandle, 1);
470
Ssl
.SslSetClientCertCallback(sslHandle, 1);
476
Ssl
.SslSetVerifyPeer(sslHandle);
496
if (!
Ssl
.SslAddClientCAs(sslHandle, handles.Slice(0, certList.Count)))
509
Ssl
.SslStapleOcsp(sslHandle, ocspResponse);
529
ushort[] rawAlgs = Interop.
Ssl
.GetDefaultSignatureAlgorithms();
629
ret = Interop.
Ssl
.SslSetSigalgs(sslHandle, pBuffer);
635
ret = Interop.
Ssl
.SslSetClientSigalgs(sslHandle, pBuffer);
664
int ret = Interop.
Ssl
.SslRenegotiate(sslContext, out
Ssl
.SslErrorCode errorCode);
681
if (
Ssl
.BioWrite(context.InputBio!, ref MemoryMarshal.GetReference(input), input.Length) != input.Length)
688
int retVal =
Ssl
.SslDoHandshake(context, out
Ssl
.SslErrorCode errorCode);
691
if (errorCode ==
Ssl
.SslErrorCode.SSL_ERROR_WANT_X509_LOOKUP)
696
if ((retVal != -1) || (errorCode !=
Ssl
.SslErrorCode.SSL_ERROR_WANT_READ))
741
if (context.IsServer && token.Size == 0 && errorCode ==
Ssl
.SslErrorCode.SSL_ERROR_NONE &&
Ssl
.IsSslRenegotiatePending(context))
746
bool stateOk =
Ssl
.IsSslStateOK(context);
755
internal static
Ssl
.SslErrorCode Encrypt(SafeSslHandle context, ReadOnlySpan<byte> input, ref ProtocolToken outToken)
757
int retVal =
Ssl
.SslWrite(context, ref MemoryMarshal.GetReference(input), input.Length, out
Ssl
.SslErrorCode errorCode);
765
case
Ssl
.SslErrorCode.SSL_ERROR_ZERO_RETURN:
766
case
Ssl
.SslErrorCode.SSL_ERROR_WANT_READ:
794
internal static int Decrypt(SafeSslHandle context, Span<byte> buffer, out
Ssl
.SslErrorCode errorCode)
798
int retVal =
Ssl
.SslRead(context, ref MemoryMarshal.GetReference(buffer), buffer.Length, out errorCode);
807
case
Ssl
.SslErrorCode.SSL_ERROR_ZERO_RETURN:
810
case
Ssl
.SslErrorCode.SSL_ERROR_WANT_READ:
812
errorCode =
Ssl
.IsSslRenegotiatePending(context)
813
?
Ssl
.SslErrorCode.SSL_ERROR_RENEGOTIATE
814
:
Ssl
.SslErrorCode.SSL_ERROR_WANT_READ;
817
case
Ssl
.SslErrorCode.SSL_ERROR_WANT_X509_LOOKUP:
821
errorCode =
Ssl
.SslErrorCode.SSL_ERROR_RENEGOTIATE;
833
return
Ssl
.SslGetPeerCertificate(context);
838
return
Ssl
.SslGetPeerCertChain(context);
847
bool sessionReused =
Ssl
.SslSessionReused(context);
849
Ssl
.SslGetPeerFinished(context, bindingHandle.CertHashPtr, bindingHandle.Length) :
850
Ssl
.SslGetFinished(context, bindingHandle.CertHashPtr, bindingHandle.Length);
878
IntPtr sslData =
Ssl
.SslGetData(ssl);
882
return
Ssl
.SSL_TLSEXT_ERR_ALERT_FATAL;
888
return
Ssl
.SSL_TLSEXT_ERR_ALERT_FATAL;
904
return
Ssl
.SSL_TLSEXT_ERR_OK;
917
return
Ssl
.SSL_TLSEXT_ERR_ALERT_FATAL;
924
return
Ssl
.SSL_TLSEXT_ERR_ALERT_FATAL;
941
IntPtr cert = Interop.
Ssl
.SslGetCertificate(ssl);
942
Interop.
Ssl
.SslSessionSetData(session, cert);
944
IntPtr ptr =
Ssl
.SslGetData(ssl);
948
IntPtr name =
Ssl
.SslGetServerName(ssl);
970
IntPtr ptr =
Ssl
.SslCtxGetData(ctx);
984
IntPtr name =
Ssl
.SessionGetHostname(session);
1011
int bytes =
Ssl
.BioWrite(bio, ref MemoryMarshal.GetReference(buffer), buffer.Length);
1018
private static Exception? GetSslError(int result,
Ssl
.SslErrorCode retVal)
1023
case
Ssl
.SslErrorCode.SSL_ERROR_SYSCALL:
1033
case
Ssl
.SslErrorCode.SSL_ERROR_SSL:
1052
int retVal =
Ssl
.SslCtxUseCertificate(contextPtr, certPtr);
1059
retVal =
Ssl
.SslCtxUsePrivateKey(contextPtr, keyPtr);
1067
retVal =
Ssl
.SslCtxCheckPrivateKey(contextPtr);
src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.Ssl.cs (8)
420
SafeSslHandle handle = Interop.
Ssl
.SslCreate(context);
437
Interop.
Ssl
.SslSetBio(handle, readBio, writeBio);
449
Interop.
Ssl
.SslSetAcceptState(handle);
453
Interop.
Ssl
.SslSetConnectState(handle);
485
Interop.
Ssl
.SslSetData(handle, IntPtr.Zero);
491
Interop.
Ssl
.SslDestroy(h); // will free the handles underlying _readBio and _writeBio
500
int retVal = Interop.
Ssl
.SslShutdown(handle);
508
retVal = Interop.
Ssl
.SslShutdown(handle);
src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.SslCtx.cs (11)
135
Interop.
Ssl
.SslCtxSetData(handle, IntPtr.Zero);
141
Interop.
Ssl
.SessionFree(session);
151
Interop.
Ssl
.SslCtxDestroy(handle);
165
Interop.
Ssl
.SslCtxSetData(this, (IntPtr)_gch);
185
Interop.
Ssl
.SessionSetHostname(session, namePtr);
208
Interop.
Ssl
.SslCtxRemoveSession(this, oldSession);
209
Interop.
Ssl
.SessionFree(oldSession);
241
Interop.
Ssl
.SessionFree(oldSession);
258
Debug.Assert(Interop.
Ssl
.SslGetData(sslHandle) == IntPtr.Zero);
259
Interop.
Ssl
.SslSetData(sslHandle, (IntPtr)_gch);
267
Interop.
Ssl
.SslSetSession(sslHandle, session);
System\Net\CertificateValidationPal.Unix.cs (5)
105
if (!Interop.
Ssl
.SslSessionReused(ssl))
109
return Interop.
Ssl
.SslGetCertificate(ssl) != IntPtr.Zero;
123
IntPtr session = Interop.
Ssl
.SslGetSession(ssl);
125
return Interop.
Ssl
.SslSessionGetData(session) != IntPtr.Zero;
141
using (SafeSharedX509NameStackHandle names = Interop.
Ssl
.SslGetClientCAList((SafeSslHandle)securityContext))
System\Net\Security\CipherSuitesPolicyPal.Linux.cs (5)
11
using Ssl = Interop.
Ssl
;
25
if (!Interop.
Ssl
.Capabilities.Tls13Supported)
30
using (SafeSslContextHandle innerContext =
Ssl
.SslCtxCreate(
Ssl
.SslMethods.SSLv23_method))
49
string? name = Interop.
Ssl
.GetOpenSslCipherSuiteName(
System\Net\Security\SslConnectionInfo.Linux.cs (4)
13
Protocol = (int)MapProtocolVersion(Interop.
Ssl
.SslGetVersion(sslContext));
14
ReadOnlySpan<byte> alpn = Interop.
Ssl
.SslGetAlpnSelected(sslContext);
32
TlsResumed = Interop.
Ssl
.SslSessionReused(sslContext);
40
if (!Interop.
Ssl
.SslGetCurrentCipherId(ssl, out cipherSuite))
System\Net\Security\SslStreamPal.Unix.cs (17)
69
Interop.
Ssl
.SslErrorCode errorCode = Interop.OpenSsl.Encrypt((SafeSslHandle)securityContext, input.Span, ref token);
87
int resultSize = Interop.OpenSsl.Decrypt((SafeSslHandle)securityContext, buffer, out Interop.
Ssl
.SslErrorCode errorCode);
105
private static SecurityStatusPal MapNativeErrorCode(Interop.
Ssl
.SslErrorCode errorCode) =>
108
Interop.
Ssl
.SslErrorCode.SSL_ERROR_RENEGOTIATE => new SecurityStatusPal(SecurityStatusPalErrorCode.Renegotiate),
109
Interop.
Ssl
.SslErrorCode.SSL_ERROR_ZERO_RETURN => new SecurityStatusPal(SecurityStatusPalErrorCode.ContextExpired),
110
Interop.
Ssl
.SslErrorCode.SSL_ERROR_WANT_X509_LOOKUP => new SecurityStatusPal(SecurityStatusPalErrorCode.CredentialsNeeded),
111
Interop.
Ssl
.SslErrorCode.SSL_ERROR_NONE or
112
Interop.
Ssl
.SslErrorCode.SSL_ERROR_WANT_READ => new SecurityStatusPal(SecurityStatusPalErrorCode.OK),
212
if (token.Size == 0 && Interop.
Ssl
.IsSslRenegotiatePending((SafeSslHandle)context))
252
Interop.
Ssl
.SslSetQuietShutdown((SafeSslHandle)context, 0);
254
int status = Interop.
Ssl
.SslShutdown((SafeSslHandle)context);
258
status = Interop.
Ssl
.SslShutdown((SafeSslHandle)context);
264
Interop.
Ssl
.SslErrorCode code = Interop.
Ssl
.SslGetError((SafeSslHandle)context, status);
265
if (code == Interop.
Ssl
.SslErrorCode.SSL_ERROR_WANT_READ ||
266
code == Interop.
Ssl
.SslErrorCode.SSL_ERROR_WANT_WRITE)
270
else if (code == Interop.
Ssl
.SslErrorCode.SSL_ERROR_SSL)