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
351
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and before
429
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> and the next
630
/// session that suspended with <see cref="
TlsOperationStatus
.NeedsTlsContext"/>
637
/// <see cref="
TlsOperationStatus
.NeedsTlsContext"/> and the passed context is
714
/// <see cref="
TlsOperationStatus
.CertificateRequested"/>: callers that need to
751
/// is suspended on <see cref="
TlsOperationStatus
.CertificateRequested"/> so the caller can
846
private protected
TlsOperationStatus
HandshakeBufferedCore(
874
return
TlsOperationStatus
.NeedsCertificateValidation;
880
return
TlsOperationStatus
.NeedsTlsContext;
890
return
TlsOperationStatus
.Complete;
900
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
922
return
TlsOperationStatus
.NeedMoreData;
933
return
TlsOperationStatus
.NeedMoreData;
970
return
TlsOperationStatus
.NeedMoreData;
984
return
TlsOperationStatus
.NeedsTlsContext;
995
return
TlsOperationStatus
.NeedMoreData;
1104
return
TlsOperationStatus
.DestinationTooSmall;
1132
return
TlsOperationStatus
.DestinationTooSmall;
1139
?
TlsOperationStatus
.NeedsCertificateValidation
1140
:
TlsOperationStatus
.Complete;
1145
return
TlsOperationStatus
.NeedsCertificateValidation;
1150
return
TlsOperationStatus
.CertificateRequested;
1162
return
TlsOperationStatus
.Complete;
1165
return
TlsOperationStatus
.NeedMoreData;
1173
private protected
TlsOperationStatus
WriteBufferedCore(
1192
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1197
return
TlsOperationStatus
.Complete;
1238
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
1243
private protected
TlsOperationStatus
ReadBufferedCore(
1262
return
TlsOperationStatus
.DestinationTooSmall;
1323
return
TlsOperationStatus
.Complete;
1328
return
TlsOperationStatus
.Closed;
1348
return
TlsOperationStatus
.Complete;
1363
private
TlsOperationStatus
TryDrainBufferedPlaintext(Span<byte> plaintext, out int bytesWritten)
1369
return
TlsOperationStatus
.NeedMoreData;
1385
return
TlsOperationStatus
.NeedMoreData;
1391
return
TlsOperationStatus
.NeedMoreData;
1410
return
TlsOperationStatus
.Complete;
1434
/// <see cref="
TlsOperationStatus
.NeedsCertificateValidation"/> (re-running the
1436
/// <see cref="
TlsOperationStatus
.Complete"/>. Once validation is accepted the
1440
private protected
TlsOperationStatus
RequestClientCertificateBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1510
return
TlsOperationStatus
.Complete;
1527
return
TlsOperationStatus
.DestinationTooSmall;
1533
return
TlsOperationStatus
.Complete;
1547
/// Returns <see cref="
TlsOperationStatus
.DestinationTooSmall"/> if the caller must
1549
/// otherwise <see cref="
TlsOperationStatus
.Closed"/> once all bytes have
1552
private protected
TlsOperationStatus
ShutdownBufferedCore(Span<byte> ciphertext, out int bytesWritten)
1559
return
TlsOperationStatus
.Closed;
1613
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Closed;
1618
private protected
TlsOperationStatus
DrainPendingOutputCore(Span<byte> ciphertext, out int bytesWritten)
1622
return _pendingBuffer.ActiveLength > 0 ?
TlsOperationStatus
.DestinationTooSmall :
TlsOperationStatus
.Complete;
2061
private protected
TlsOperationStatus
HandshakeSocketCore()
2069
return
TlsOperationStatus
.Complete;
2072
TlsOperationStatus
? fast = null;
2097
return
TlsOperationStatus
.DestinationTooSmall;
2103
TlsOperationStatus
status = HandshakeBufferedCore(
2132
return
TlsOperationStatus
.DestinationTooSmall;
2140
case
TlsOperationStatus
.Complete:
2141
return
TlsOperationStatus
.Complete;
2143
case
TlsOperationStatus
.NeedMoreData:
2157
return
TlsOperationStatus
.NeedMoreData;
2161
return
TlsOperationStatus
.Closed;
2165
case
TlsOperationStatus
.DestinationTooSmall:
2180
private protected
TlsOperationStatus
ReadSocketCore(Span<byte> buffer, out int bytesRead)
2196
TlsOperationStatus
? fast = null;
2209
TlsOperationStatus
status = ReadBufferedCore(
2222
if (status ==
TlsOperationStatus
.Complete && produced > 0)
2224
return
TlsOperationStatus
.Complete;
2226
if (status ==
TlsOperationStatus
.Closed)
2228
return
TlsOperationStatus
.Closed;
2230
if (status ==
TlsOperationStatus
.Complete && produced == 0)
2235
if (status !=
TlsOperationStatus
.NeedMoreData)
2254
return
TlsOperationStatus
.NeedMoreData;
2258
return
TlsOperationStatus
.Closed;
2264
private protected
TlsOperationStatus
WriteSocketCore(ReadOnlySpan<byte> buffer, out int bytesWritten)
2278
TlsOperationStatus
? fast = null;
2292
return
TlsOperationStatus
.DestinationTooSmall;
2300
return
TlsOperationStatus
.Complete;
2309
TlsOperationStatus
encStatus = WriteBufferedCore(
2335
return
TlsOperationStatus
.DestinationTooSmall;
2341
if (encStatus ==
TlsOperationStatus
.DestinationTooSmall)
2345
return
TlsOperationStatus
.DestinationTooSmall;
2347
if (encStatus !=
TlsOperationStatus
.Complete)
2360
return
TlsOperationStatus
.Complete;
2370
private
TlsOperationStatus
DriveBufferedOpOverSocket(Func<Span<byte>, (
TlsOperationStatus
status, int written)> op)
2382
return
TlsOperationStatus
.DestinationTooSmall;
2391
(
TlsOperationStatus
status, int written) = op(scratch);
2409
return
TlsOperationStatus
.DestinationTooSmall;
2422
private protected
TlsOperationStatus
ShutdownSocketCore()
2425
TlsOperationStatus
s = ShutdownBufferedCore(dest, out int w);
2429
private protected
TlsOperationStatus
RequestClientCertificateSocketCore()
2437
TlsOperationStatus
? fast = null;
2446
TlsOperationStatus
s = RequestClientCertificateBufferedCore(dest, out int w);
2456
partial void TryFastHandshake(ref
TlsOperationStatus
? result);
2457
partial void TryFastRequestClientCertificate(ref
TlsOperationStatus
? result);
2458
partial void TryPeekClientHello(ref
TlsOperationStatus
? result);
2459
partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref
TlsOperationStatus
? result);
2460
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 (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();