148 references to TlsOperationStatus
System.Net.Security (148)
System\Net\Security\TlsBufferSession.cs (8)
21
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> so the caller can supply the
36
public
TlsOperationStatus
Handshake(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten)
47
public
TlsOperationStatus
Write(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten)
58
public
TlsOperationStatus
Read(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten)
66
public
TlsOperationStatus
Shutdown(Span<byte> destination, out int bytesWritten)
74
public
TlsOperationStatus
DrainPendingOutput(Span<byte> destination, out int bytesWritten)
83
/// <see cref="
TlsOperationStatus
.Complete"/> with <paramref name="bytesWritten"/> set to 0, the handshake stays
89
public
TlsOperationStatus
RequestClientCertificate(Span<byte> destination, out int bytesWritten)
System\Net\Security\TlsContext.cs (2)
119
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> with
156
/// returns <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and the caller
System\Net\Security\TlsSession.cs (106)
41
/// Contract: any operation may return <see cref="
TlsOperationStatus
.DestinationTooSmall"/>
331
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/>). The certificates are
352
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and before
437
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and the next
638
/// session that suspended with <see cref="
TlsOperationStatus
.NeedsTlsContext"/>
645
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> and the passed context is
722
/// <see cref="
TlsOperationStatus
.CertificateRequested"/>: callers that need to
759
/// is suspended on <see cref="
TlsOperationStatus
.CertificateRequested"/> so the caller can
854
private protected
TlsOperationStatus
HandshakeBufferedCore(
882
return
TlsOperationStatus
.NeedsCertificateValidation;
888
return
TlsOperationStatus
.NeedsTlsContext;
898
return
TlsOperationStatus
.Complete;
908
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
930
return
TlsOperationStatus
.NeedMoreData;
941
return
TlsOperationStatus
.NeedMoreData;
978
return
TlsOperationStatus
.NeedMoreData;
992
return
TlsOperationStatus
.NeedsTlsContext;
1003
return
TlsOperationStatus
.NeedMoreData;
1140
return
TlsOperationStatus
.DestinationTooSmall;
1168
return
TlsOperationStatus
.DestinationTooSmall;
1175
?
TlsOperationStatus
.NeedsCertificateValidation
1176
:
TlsOperationStatus
.Complete;
1181
return
TlsOperationStatus
.NeedsCertificateValidation;
1186
return
TlsOperationStatus
.CertificateRequested;
1198
return
TlsOperationStatus
.Complete;
1201
return
TlsOperationStatus
.NeedMoreData;
1209
private protected
TlsOperationStatus
WriteBufferedCore(
1228
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1233
return
TlsOperationStatus
.Complete;
1274
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1279
private protected
TlsOperationStatus
ReadBufferedCore(
1298
return
TlsOperationStatus
.DestinationTooSmall;
1359
return
TlsOperationStatus
.Complete;
1364
return
TlsOperationStatus
.Closed;
1384
return
TlsOperationStatus
.Complete;
1399
private
TlsOperationStatus
TryDrainBufferedPlaintext(Span<byte> plaintext, out int bytesWritten)
1405
return
TlsOperationStatus
.NeedMoreData;
1421
return
TlsOperationStatus
.NeedMoreData;
1427
return
TlsOperationStatus
.NeedMoreData;
1446
return
TlsOperationStatus
.Complete;
1470
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> (re-running the
1472
/// <see cref="
TlsOperationStatus
.Complete"/>. Once validation is accepted the
1476
private protected
TlsOperationStatus
RequestClientCertificateBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1546
return
TlsOperationStatus
.Complete;
1563
return
TlsOperationStatus
.DestinationTooSmall;
1569
return
TlsOperationStatus
.Complete;
1583
/// Returns <see cref="
TlsOperationStatus
.DestinationTooSmall"/> if the caller must
1585
/// otherwise <see cref="
TlsOperationStatus
.Closed"/> once all bytes have
1588
private protected
TlsOperationStatus
ShutdownBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1595
return
TlsOperationStatus
.Closed;
1649
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Closed;
1654
private protected
TlsOperationStatus
DrainPendingOutputCore(Span<byte> ciphertext, out int bytesWritten)
1658
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
2097
private protected
TlsOperationStatus
HandshakeSocketCore()
2105
return
TlsOperationStatus
.Complete;
2108
TlsOperationStatus
? fast = null;
2133
return
TlsOperationStatus
.DestinationTooSmall;
2139
TlsOperationStatus
status = HandshakeBufferedCore(
2168
return
TlsOperationStatus
.DestinationTooSmall;
2176
case
TlsOperationStatus
.Complete:
2177
return
TlsOperationStatus
.Complete;
2179
case
TlsOperationStatus
.NeedMoreData:
2193
return
TlsOperationStatus
.NeedMoreData;
2197
return
TlsOperationStatus
.Closed;
2201
case
TlsOperationStatus
.DestinationTooSmall:
2216
private protected
TlsOperationStatus
ReadSocketCore(Span<byte> buffer, out int bytesRead)
2232
TlsOperationStatus
? fast = null;
2245
TlsOperationStatus
status = ReadBufferedCore(
2258
if (status ==
TlsOperationStatus
.Complete && produced > 0)
2260
return
TlsOperationStatus
.Complete;
2262
if (status ==
TlsOperationStatus
.Closed)
2264
return
TlsOperationStatus
.Closed;
2266
if (status ==
TlsOperationStatus
.Complete && produced == 0)
2271
if (status !=
TlsOperationStatus
.NeedMoreData)
2290
return
TlsOperationStatus
.NeedMoreData;
2294
return
TlsOperationStatus
.Closed;
2300
private protected
TlsOperationStatus
WriteSocketCore(ReadOnlySpan<byte> buffer, out int bytesWritten)
2314
TlsOperationStatus
? fast = null;
2328
return
TlsOperationStatus
.DestinationTooSmall;
2336
return
TlsOperationStatus
.Complete;
2345
TlsOperationStatus
encStatus = WriteBufferedCore(
2371
return
TlsOperationStatus
.DestinationTooSmall;
2377
if (encStatus ==
TlsOperationStatus
.DestinationTooSmall)
2381
return
TlsOperationStatus
.DestinationTooSmall;
2383
if (encStatus !=
TlsOperationStatus
.Complete)
2396
return
TlsOperationStatus
.Complete;
2406
private
TlsOperationStatus
DriveBufferedOpOverSocket(Func<Span<byte>, (
TlsOperationStatus
status, int written)> op)
2418
return
TlsOperationStatus
.DestinationTooSmall;
2427
(
TlsOperationStatus
status, int written) = op(scratch);
2445
return
TlsOperationStatus
.DestinationTooSmall;
2458
private protected
TlsOperationStatus
ShutdownSocketCore()
2461
TlsOperationStatus
s = ShutdownBufferedCore(dest, out int w);
2465
private protected
TlsOperationStatus
RequestClientCertificateSocketCore()
2473
TlsOperationStatus
? fast = null;
2482
TlsOperationStatus
s = RequestClientCertificateBufferedCore(dest, out int w);
2492
partial void TryFastHandshake(ref
TlsOperationStatus
? result);
2493
partial void TryFastRequestClientCertificate(ref
TlsOperationStatus
? result);
2494
partial void TryPeekClientHello(ref
TlsOperationStatus
? result);
2495
partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref
TlsOperationStatus
? result);
2496
partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref
TlsOperationStatus
? result);
System\Net\Security\TlsSession.OpenSsl.cs (26)
121
partial void TryPeekClientHello(ref
TlsOperationStatus
? result)
133
result =
TlsOperationStatus
.NeedsTlsContext;
154
result =
TlsOperationStatus
.NeedMoreData;
184
result =
TlsOperationStatus
.NeedsTlsContext;
228
partial void TryFastHandshake(ref
TlsOperationStatus
? result)
245
result =
TlsOperationStatus
.NeedsCertificateValidation;
267
?
TlsOperationStatus
.NeedsCertificateValidation
268
:
TlsOperationStatus
.Complete;
284
private
TlsOperationStatus
DriveFdPostHandshakeAuth(SafeSslHandle ssl)
289
return
TlsOperationStatus
.NeedMoreData;
322
return
TlsOperationStatus
.NeedMoreData;
328
?
TlsOperationStatus
.NeedsCertificateValidation
329
:
TlsOperationStatus
.Complete;
347
partial void TryFastRequestClientCertificate(ref
TlsOperationStatus
? result)
373
result =
TlsOperationStatus
.Complete;
387
result =
TlsOperationStatus
.Complete;
390
partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref
TlsOperationStatus
? result)
403
result =
TlsOperationStatus
.Complete;
412
result =
TlsOperationStatus
.Complete;
418
partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref
TlsOperationStatus
? result)
431
result =
TlsOperationStatus
.Complete;
440
result =
TlsOperationStatus
.Complete;
466
private static
TlsOperationStatus
MapSslError(Interop.Ssl.SslErrorCode error, int result, string sslErrorTemplate)
470
Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_READ =>
TlsOperationStatus
.NeedMoreData,
471
Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_WRITE =>
TlsOperationStatus
.DestinationTooSmall,
472
Interop.Ssl.SslErrorCode.SSL_ERROR_ZERO_RETURN =>
TlsOperationStatus
.Closed,
System\Net\Security\TlsSocketSession.cs (6)
42
public
TlsOperationStatus
Handshake() => HandshakeSocketCore();
45
public
TlsOperationStatus
Read(Span<byte> buffer, out int bytesRead)
49
public
TlsOperationStatus
Write(ReadOnlySpan<byte> buffer, out int bytesWritten)
53
public
TlsOperationStatus
Shutdown() => ShutdownSocketCore();
58
/// the method returns <see cref="
TlsOperationStatus
.Complete"/>, the handshake stays complete, no client
61
public
TlsOperationStatus
RequestClientCertificate() => RequestClientCertificateSocketCore();