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 36public TlsOperationStatus Handshake(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten) 47public TlsOperationStatus Write(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten) 58public TlsOperationStatus Read(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten) 66public TlsOperationStatus Shutdown(Span<byte> destination, out int bytesWritten) 74public TlsOperationStatus DrainPendingOutput(Span<byte> destination, out int bytesWritten) 83/// <see cref="TlsOperationStatus.Complete"/> with <paramref name="bytesWritten"/> set to 0, the handshake stays 89public 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 846private protected TlsOperationStatus HandshakeBufferedCore( 874return TlsOperationStatus.NeedsCertificateValidation; 880return TlsOperationStatus.NeedsTlsContext; 890return TlsOperationStatus.Complete; 900return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 922return TlsOperationStatus.NeedMoreData; 933return TlsOperationStatus.NeedMoreData; 970return TlsOperationStatus.NeedMoreData; 984return TlsOperationStatus.NeedsTlsContext; 995return TlsOperationStatus.NeedMoreData; 1104return TlsOperationStatus.DestinationTooSmall; 1132return TlsOperationStatus.DestinationTooSmall; 1139? TlsOperationStatus.NeedsCertificateValidation 1140: TlsOperationStatus.Complete; 1145return TlsOperationStatus.NeedsCertificateValidation; 1150return TlsOperationStatus.CertificateRequested; 1162return TlsOperationStatus.Complete; 1165return TlsOperationStatus.NeedMoreData; 1173private protected TlsOperationStatus WriteBufferedCore( 1192return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 1197return TlsOperationStatus.Complete; 1238return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 1243private protected TlsOperationStatus ReadBufferedCore( 1262return TlsOperationStatus.DestinationTooSmall; 1323return TlsOperationStatus.Complete; 1328return TlsOperationStatus.Closed; 1348return TlsOperationStatus.Complete; 1363private TlsOperationStatus TryDrainBufferedPlaintext(Span<byte> plaintext, out int bytesWritten) 1369return TlsOperationStatus.NeedMoreData; 1385return TlsOperationStatus.NeedMoreData; 1391return TlsOperationStatus.NeedMoreData; 1410return TlsOperationStatus.Complete; 1434/// <see cref="TlsOperationStatus.NeedsCertificateValidation"/> (re-running the 1436/// <see cref="TlsOperationStatus.Complete"/>. Once validation is accepted the 1440private protected TlsOperationStatus RequestClientCertificateBufferedCore(Span<byte> ciphertext, out int bytesWritten) 1510return TlsOperationStatus.Complete; 1527return TlsOperationStatus.DestinationTooSmall; 1533return TlsOperationStatus.Complete; 1547/// Returns <see cref="TlsOperationStatus.DestinationTooSmall"/> if the caller must 1549/// otherwise <see cref="TlsOperationStatus.Closed"/> once all bytes have 1552private protected TlsOperationStatus ShutdownBufferedCore(Span<byte> ciphertext, out int bytesWritten) 1559return TlsOperationStatus.Closed; 1613return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Closed; 1618private protected TlsOperationStatus DrainPendingOutputCore(Span<byte> ciphertext, out int bytesWritten) 1622return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 2061private protected TlsOperationStatus HandshakeSocketCore() 2069return TlsOperationStatus.Complete; 2072TlsOperationStatus? fast = null; 2097return TlsOperationStatus.DestinationTooSmall; 2103TlsOperationStatus status = HandshakeBufferedCore( 2132return TlsOperationStatus.DestinationTooSmall; 2140case TlsOperationStatus.Complete: 2141return TlsOperationStatus.Complete; 2143case TlsOperationStatus.NeedMoreData: 2157return TlsOperationStatus.NeedMoreData; 2161return TlsOperationStatus.Closed; 2165case TlsOperationStatus.DestinationTooSmall: 2180private protected TlsOperationStatus ReadSocketCore(Span<byte> buffer, out int bytesRead) 2196TlsOperationStatus? fast = null; 2209TlsOperationStatus status = ReadBufferedCore( 2222if (status == TlsOperationStatus.Complete && produced > 0) 2224return TlsOperationStatus.Complete; 2226if (status == TlsOperationStatus.Closed) 2228return TlsOperationStatus.Closed; 2230if (status == TlsOperationStatus.Complete && produced == 0) 2235if (status != TlsOperationStatus.NeedMoreData) 2254return TlsOperationStatus.NeedMoreData; 2258return TlsOperationStatus.Closed; 2264private protected TlsOperationStatus WriteSocketCore(ReadOnlySpan<byte> buffer, out int bytesWritten) 2278TlsOperationStatus? fast = null; 2292return TlsOperationStatus.DestinationTooSmall; 2300return TlsOperationStatus.Complete; 2309TlsOperationStatus encStatus = WriteBufferedCore( 2335return TlsOperationStatus.DestinationTooSmall; 2341if (encStatus == TlsOperationStatus.DestinationTooSmall) 2345return TlsOperationStatus.DestinationTooSmall; 2347if (encStatus != TlsOperationStatus.Complete) 2360return TlsOperationStatus.Complete; 2370private TlsOperationStatus DriveBufferedOpOverSocket(Func<Span<byte>, (TlsOperationStatus status, int written)> op) 2382return TlsOperationStatus.DestinationTooSmall; 2391(TlsOperationStatus status, int written) = op(scratch); 2409return TlsOperationStatus.DestinationTooSmall; 2422private protected TlsOperationStatus ShutdownSocketCore() 2425TlsOperationStatus s = ShutdownBufferedCore(dest, out int w); 2429private protected TlsOperationStatus RequestClientCertificateSocketCore() 2437TlsOperationStatus? fast = null; 2446TlsOperationStatus s = RequestClientCertificateBufferedCore(dest, out int w); 2456partial void TryFastHandshake(ref TlsOperationStatus? result); 2457partial void TryFastRequestClientCertificate(ref TlsOperationStatus? result); 2458partial void TryPeekClientHello(ref TlsOperationStatus? result); 2459partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref TlsOperationStatus? result); 2460partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref TlsOperationStatus? result);
System\Net\Security\TlsSession.OpenSsl.cs (26)
121partial void TryPeekClientHello(ref TlsOperationStatus? result) 133result = TlsOperationStatus.NeedsTlsContext; 154result = TlsOperationStatus.NeedMoreData; 182result = TlsOperationStatus.NeedsTlsContext; 226partial void TryFastHandshake(ref TlsOperationStatus? result) 243result = TlsOperationStatus.NeedsCertificateValidation; 265? TlsOperationStatus.NeedsCertificateValidation 266: TlsOperationStatus.Complete; 282private TlsOperationStatus DriveFdPostHandshakeAuth(SafeSslHandle ssl) 287return TlsOperationStatus.NeedMoreData; 317return TlsOperationStatus.NeedMoreData; 323? TlsOperationStatus.NeedsCertificateValidation 324: TlsOperationStatus.Complete; 342partial void TryFastRequestClientCertificate(ref TlsOperationStatus? result) 368result = TlsOperationStatus.Complete; 382result = TlsOperationStatus.Complete; 385partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref TlsOperationStatus? result) 398result = TlsOperationStatus.Complete; 407result = TlsOperationStatus.Complete; 413partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref TlsOperationStatus? result) 426result = TlsOperationStatus.Complete; 435result = TlsOperationStatus.Complete; 461private static TlsOperationStatus MapSslError(Interop.Ssl.SslErrorCode error, int result, string sslErrorTemplate) 465Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_READ => TlsOperationStatus.NeedMoreData, 466Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_WRITE => TlsOperationStatus.DestinationTooSmall, 467Interop.Ssl.SslErrorCode.SSL_ERROR_ZERO_RETURN => TlsOperationStatus.Closed,
System\Net\Security\TlsSocketSession.cs (6)
42public TlsOperationStatus Handshake() => HandshakeSocketCore(); 45public TlsOperationStatus Read(Span<byte> buffer, out int bytesRead) 49public TlsOperationStatus Write(ReadOnlySpan<byte> buffer, out int bytesWritten) 53public TlsOperationStatus Shutdown() => ShutdownSocketCore(); 58/// the method returns <see cref="TlsOperationStatus.Complete"/>, the handshake stays complete, no client 61public TlsOperationStatus RequestClientCertificate() => RequestClientCertificateSocketCore();