146 references to TlsOperationStatus
System.Net.Security (146)
System\Net\Security\TlsBufferSession.cs (7)
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)
84
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
351
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and before
428
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and the next
629
/// session that suspended with <see cref="
TlsOperationStatus
.NeedsTlsContext"/>
636
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> and the passed context is
713
/// <see cref="
TlsOperationStatus
.CertificateRequested"/>: callers that need to
750
/// is suspended on <see cref="
TlsOperationStatus
.CertificateRequested"/> so the caller can
845
private protected
TlsOperationStatus
HandshakeBufferedCore(
873
return
TlsOperationStatus
.NeedsCertificateValidation;
879
return
TlsOperationStatus
.NeedsTlsContext;
889
return
TlsOperationStatus
.Complete;
899
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
921
return
TlsOperationStatus
.NeedMoreData;
932
return
TlsOperationStatus
.NeedMoreData;
969
return
TlsOperationStatus
.NeedMoreData;
983
return
TlsOperationStatus
.NeedsTlsContext;
994
return
TlsOperationStatus
.NeedMoreData;
1103
return
TlsOperationStatus
.DestinationTooSmall;
1131
return
TlsOperationStatus
.DestinationTooSmall;
1138
?
TlsOperationStatus
.NeedsCertificateValidation
1139
:
TlsOperationStatus
.Complete;
1144
return
TlsOperationStatus
.NeedsCertificateValidation;
1149
return
TlsOperationStatus
.CertificateRequested;
1161
return
TlsOperationStatus
.Complete;
1164
return
TlsOperationStatus
.NeedMoreData;
1172
private protected
TlsOperationStatus
WriteBufferedCore(
1191
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1196
return
TlsOperationStatus
.Complete;
1237
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1242
private protected
TlsOperationStatus
ReadBufferedCore(
1261
return
TlsOperationStatus
.DestinationTooSmall;
1322
return
TlsOperationStatus
.Complete;
1327
return
TlsOperationStatus
.Closed;
1347
return
TlsOperationStatus
.Complete;
1362
private
TlsOperationStatus
TryDrainBufferedPlaintext(Span<byte> plaintext, out int bytesWritten)
1368
return
TlsOperationStatus
.NeedMoreData;
1384
return
TlsOperationStatus
.NeedMoreData;
1390
return
TlsOperationStatus
.NeedMoreData;
1409
return
TlsOperationStatus
.Complete;
1433
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> (re-running the
1435
/// <see cref="
TlsOperationStatus
.Complete"/>. Once validation is accepted the
1439
private protected
TlsOperationStatus
RequestClientCertificateBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1505
return
TlsOperationStatus
.Complete;
1522
return
TlsOperationStatus
.DestinationTooSmall;
1528
return
TlsOperationStatus
.Complete;
1542
/// Returns <see cref="
TlsOperationStatus
.DestinationTooSmall"/> if the caller must
1544
/// otherwise <see cref="
TlsOperationStatus
.Closed"/> once all bytes have
1547
private protected
TlsOperationStatus
ShutdownBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1554
return
TlsOperationStatus
.Closed;
1608
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Closed;
1613
private protected
TlsOperationStatus
DrainPendingOutputCore(Span<byte> ciphertext, out int bytesWritten)
1617
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
2012
private protected
TlsOperationStatus
HandshakeSocketCore()
2020
return
TlsOperationStatus
.Complete;
2023
TlsOperationStatus
? fast = null;
2048
return
TlsOperationStatus
.DestinationTooSmall;
2054
TlsOperationStatus
status = HandshakeBufferedCore(
2083
return
TlsOperationStatus
.DestinationTooSmall;
2091
case
TlsOperationStatus
.Complete:
2092
return
TlsOperationStatus
.Complete;
2094
case
TlsOperationStatus
.NeedMoreData:
2108
return
TlsOperationStatus
.NeedMoreData;
2112
return
TlsOperationStatus
.Closed;
2116
case
TlsOperationStatus
.DestinationTooSmall:
2131
private protected
TlsOperationStatus
ReadSocketCore(Span<byte> buffer, out int bytesRead)
2147
TlsOperationStatus
? fast = null;
2160
TlsOperationStatus
status = ReadBufferedCore(
2173
if (status ==
TlsOperationStatus
.Complete && produced > 0)
2175
return
TlsOperationStatus
.Complete;
2177
if (status ==
TlsOperationStatus
.Closed)
2179
return
TlsOperationStatus
.Closed;
2181
if (status ==
TlsOperationStatus
.Complete && produced == 0)
2186
if (status !=
TlsOperationStatus
.NeedMoreData)
2205
return
TlsOperationStatus
.NeedMoreData;
2209
return
TlsOperationStatus
.Closed;
2215
private protected
TlsOperationStatus
WriteSocketCore(ReadOnlySpan<byte> buffer, out int bytesWritten)
2229
TlsOperationStatus
? fast = null;
2243
return
TlsOperationStatus
.DestinationTooSmall;
2251
return
TlsOperationStatus
.Complete;
2260
TlsOperationStatus
encStatus = WriteBufferedCore(
2286
return
TlsOperationStatus
.DestinationTooSmall;
2292
if (encStatus ==
TlsOperationStatus
.DestinationTooSmall)
2296
return
TlsOperationStatus
.DestinationTooSmall;
2298
if (encStatus !=
TlsOperationStatus
.Complete)
2311
return
TlsOperationStatus
.Complete;
2321
private
TlsOperationStatus
DriveBufferedOpOverSocket(Func<Span<byte>, (
TlsOperationStatus
status, int written)> op)
2333
return
TlsOperationStatus
.DestinationTooSmall;
2342
(
TlsOperationStatus
status, int written) = op(scratch);
2360
return
TlsOperationStatus
.DestinationTooSmall;
2373
private protected
TlsOperationStatus
ShutdownSocketCore()
2376
TlsOperationStatus
s = ShutdownBufferedCore(dest, out int w);
2380
private protected
TlsOperationStatus
RequestClientCertificateSocketCore()
2388
TlsOperationStatus
? fast = null;
2397
TlsOperationStatus
s = RequestClientCertificateBufferedCore(dest, out int w);
2407
partial void TryFastHandshake(ref
TlsOperationStatus
? result);
2408
partial void TryFastRequestClientCertificate(ref
TlsOperationStatus
? result);
2409
partial void TryPeekClientHello(ref
TlsOperationStatus
? result);
2410
partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref
TlsOperationStatus
? result);
2411
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;
182
result =
TlsOperationStatus
.NeedsTlsContext;
226
partial void TryFastHandshake(ref
TlsOperationStatus
? result)
243
result =
TlsOperationStatus
.NeedsCertificateValidation;
265
?
TlsOperationStatus
.NeedsCertificateValidation
266
:
TlsOperationStatus
.Complete;
282
private
TlsOperationStatus
DriveFdPostHandshakeAuth(SafeSslHandle ssl)
287
return
TlsOperationStatus
.NeedMoreData;
317
return
TlsOperationStatus
.NeedMoreData;
323
?
TlsOperationStatus
.NeedsCertificateValidation
324
:
TlsOperationStatus
.Complete;
342
partial void TryFastRequestClientCertificate(ref
TlsOperationStatus
? result)
368
result =
TlsOperationStatus
.Complete;
382
result =
TlsOperationStatus
.Complete;
385
partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref
TlsOperationStatus
? result)
398
result =
TlsOperationStatus
.Complete;
407
result =
TlsOperationStatus
.Complete;
413
partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref
TlsOperationStatus
? result)
426
result =
TlsOperationStatus
.Complete;
435
result =
TlsOperationStatus
.Complete;
461
private static
TlsOperationStatus
MapSslError(Interop.Ssl.SslErrorCode error, int result, string sslErrorTemplate)
465
Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_READ =>
TlsOperationStatus
.NeedMoreData,
466
Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_WRITE =>
TlsOperationStatus
.DestinationTooSmall,
467
Interop.Ssl.SslErrorCode.SSL_ERROR_ZERO_RETURN =>
TlsOperationStatus
.Closed,
System\Net\Security\TlsSocketSession.cs (5)
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();
56
public
TlsOperationStatus
RequestClientCertificate() => RequestClientCertificateSocketCore();