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 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 854private protected TlsOperationStatus HandshakeBufferedCore( 882return TlsOperationStatus.NeedsCertificateValidation; 888return TlsOperationStatus.NeedsTlsContext; 898return TlsOperationStatus.Complete; 908return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 930return TlsOperationStatus.NeedMoreData; 941return TlsOperationStatus.NeedMoreData; 978return TlsOperationStatus.NeedMoreData; 992return TlsOperationStatus.NeedsTlsContext; 1003return TlsOperationStatus.NeedMoreData; 1140return TlsOperationStatus.DestinationTooSmall; 1168return TlsOperationStatus.DestinationTooSmall; 1175? TlsOperationStatus.NeedsCertificateValidation 1176: TlsOperationStatus.Complete; 1181return TlsOperationStatus.NeedsCertificateValidation; 1186return TlsOperationStatus.CertificateRequested; 1198return TlsOperationStatus.Complete; 1201return TlsOperationStatus.NeedMoreData; 1209private protected TlsOperationStatus WriteBufferedCore( 1228return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 1233return TlsOperationStatus.Complete; 1274return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 1279private protected TlsOperationStatus ReadBufferedCore( 1298return TlsOperationStatus.DestinationTooSmall; 1359return TlsOperationStatus.Complete; 1364return TlsOperationStatus.Closed; 1384return TlsOperationStatus.Complete; 1399private TlsOperationStatus TryDrainBufferedPlaintext(Span<byte> plaintext, out int bytesWritten) 1405return TlsOperationStatus.NeedMoreData; 1421return TlsOperationStatus.NeedMoreData; 1427return TlsOperationStatus.NeedMoreData; 1446return TlsOperationStatus.Complete; 1470/// <see cref="TlsOperationStatus.NeedsCertificateValidation"/> (re-running the 1472/// <see cref="TlsOperationStatus.Complete"/>. Once validation is accepted the 1476private protected TlsOperationStatus RequestClientCertificateBufferedCore(Span<byte> ciphertext, out int bytesWritten) 1546return TlsOperationStatus.Complete; 1563return TlsOperationStatus.DestinationTooSmall; 1569return TlsOperationStatus.Complete; 1583/// Returns <see cref="TlsOperationStatus.DestinationTooSmall"/> if the caller must 1585/// otherwise <see cref="TlsOperationStatus.Closed"/> once all bytes have 1588private protected TlsOperationStatus ShutdownBufferedCore(Span<byte> ciphertext, out int bytesWritten) 1595return TlsOperationStatus.Closed; 1649return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Closed; 1654private protected TlsOperationStatus DrainPendingOutputCore(Span<byte> ciphertext, out int bytesWritten) 1658return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 2097private protected TlsOperationStatus HandshakeSocketCore() 2105return TlsOperationStatus.Complete; 2108TlsOperationStatus? fast = null; 2133return TlsOperationStatus.DestinationTooSmall; 2139TlsOperationStatus status = HandshakeBufferedCore( 2168return TlsOperationStatus.DestinationTooSmall; 2176case TlsOperationStatus.Complete: 2177return TlsOperationStatus.Complete; 2179case TlsOperationStatus.NeedMoreData: 2193return TlsOperationStatus.NeedMoreData; 2197return TlsOperationStatus.Closed; 2201case TlsOperationStatus.DestinationTooSmall: 2216private protected TlsOperationStatus ReadSocketCore(Span<byte> buffer, out int bytesRead) 2232TlsOperationStatus? fast = null; 2245TlsOperationStatus status = ReadBufferedCore( 2258if (status == TlsOperationStatus.Complete && produced > 0) 2260return TlsOperationStatus.Complete; 2262if (status == TlsOperationStatus.Closed) 2264return TlsOperationStatus.Closed; 2266if (status == TlsOperationStatus.Complete && produced == 0) 2271if (status != TlsOperationStatus.NeedMoreData) 2290return TlsOperationStatus.NeedMoreData; 2294return TlsOperationStatus.Closed; 2300private protected TlsOperationStatus WriteSocketCore(ReadOnlySpan<byte> buffer, out int bytesWritten) 2314TlsOperationStatus? fast = null; 2328return TlsOperationStatus.DestinationTooSmall; 2336return TlsOperationStatus.Complete; 2345TlsOperationStatus encStatus = WriteBufferedCore( 2371return TlsOperationStatus.DestinationTooSmall; 2377if (encStatus == TlsOperationStatus.DestinationTooSmall) 2381return TlsOperationStatus.DestinationTooSmall; 2383if (encStatus != TlsOperationStatus.Complete) 2396return TlsOperationStatus.Complete; 2406private TlsOperationStatus DriveBufferedOpOverSocket(Func<Span<byte>, (TlsOperationStatus status, int written)> op) 2418return TlsOperationStatus.DestinationTooSmall; 2427(TlsOperationStatus status, int written) = op(scratch); 2445return TlsOperationStatus.DestinationTooSmall; 2458private protected TlsOperationStatus ShutdownSocketCore() 2461TlsOperationStatus s = ShutdownBufferedCore(dest, out int w); 2465private protected TlsOperationStatus RequestClientCertificateSocketCore() 2473TlsOperationStatus? fast = null; 2482TlsOperationStatus s = RequestClientCertificateBufferedCore(dest, out int w); 2492partial void TryFastHandshake(ref TlsOperationStatus? result); 2493partial void TryFastRequestClientCertificate(ref TlsOperationStatus? result); 2494partial void TryPeekClientHello(ref TlsOperationStatus? result); 2495partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref TlsOperationStatus? result); 2496partial 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; 184result = TlsOperationStatus.NeedsTlsContext; 228partial void TryFastHandshake(ref TlsOperationStatus? result) 245result = TlsOperationStatus.NeedsCertificateValidation; 267? TlsOperationStatus.NeedsCertificateValidation 268: TlsOperationStatus.Complete; 284private TlsOperationStatus DriveFdPostHandshakeAuth(SafeSslHandle ssl) 289return TlsOperationStatus.NeedMoreData; 322return TlsOperationStatus.NeedMoreData; 328? TlsOperationStatus.NeedsCertificateValidation 329: TlsOperationStatus.Complete; 347partial void TryFastRequestClientCertificate(ref TlsOperationStatus? result) 373result = TlsOperationStatus.Complete; 387result = TlsOperationStatus.Complete; 390partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref TlsOperationStatus? result) 403result = TlsOperationStatus.Complete; 412result = TlsOperationStatus.Complete; 418partial void TryFastWrite(ReadOnlySpan<byte> buffer, ref int bytesWritten, ref TlsOperationStatus? result) 431result = TlsOperationStatus.Complete; 440result = TlsOperationStatus.Complete; 466private static TlsOperationStatus MapSslError(Interop.Ssl.SslErrorCode error, int result, string sslErrorTemplate) 470Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_READ => TlsOperationStatus.NeedMoreData, 471Interop.Ssl.SslErrorCode.SSL_ERROR_WANT_WRITE => TlsOperationStatus.DestinationTooSmall, 472Interop.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();