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 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) 84public 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 845private protected TlsOperationStatus HandshakeBufferedCore( 873return TlsOperationStatus.NeedsCertificateValidation; 879return TlsOperationStatus.NeedsTlsContext; 889return TlsOperationStatus.Complete; 899return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 921return TlsOperationStatus.NeedMoreData; 932return TlsOperationStatus.NeedMoreData; 969return TlsOperationStatus.NeedMoreData; 983return TlsOperationStatus.NeedsTlsContext; 994return TlsOperationStatus.NeedMoreData; 1103return TlsOperationStatus.DestinationTooSmall; 1131return TlsOperationStatus.DestinationTooSmall; 1138? TlsOperationStatus.NeedsCertificateValidation 1139: TlsOperationStatus.Complete; 1144return TlsOperationStatus.NeedsCertificateValidation; 1149return TlsOperationStatus.CertificateRequested; 1161return TlsOperationStatus.Complete; 1164return TlsOperationStatus.NeedMoreData; 1172private protected TlsOperationStatus WriteBufferedCore( 1191return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 1196return TlsOperationStatus.Complete; 1237return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 1242private protected TlsOperationStatus ReadBufferedCore( 1261return TlsOperationStatus.DestinationTooSmall; 1322return TlsOperationStatus.Complete; 1327return TlsOperationStatus.Closed; 1347return TlsOperationStatus.Complete; 1362private TlsOperationStatus TryDrainBufferedPlaintext(Span<byte> plaintext, out int bytesWritten) 1368return TlsOperationStatus.NeedMoreData; 1384return TlsOperationStatus.NeedMoreData; 1390return TlsOperationStatus.NeedMoreData; 1409return TlsOperationStatus.Complete; 1433/// <see cref="TlsOperationStatus.NeedsCertificateValidation"/> (re-running the 1435/// <see cref="TlsOperationStatus.Complete"/>. Once validation is accepted the 1439private protected TlsOperationStatus RequestClientCertificateBufferedCore(Span<byte> ciphertext, out int bytesWritten) 1505return TlsOperationStatus.Complete; 1522return TlsOperationStatus.DestinationTooSmall; 1528return TlsOperationStatus.Complete; 1542/// Returns <see cref="TlsOperationStatus.DestinationTooSmall"/> if the caller must 1544/// otherwise <see cref="TlsOperationStatus.Closed"/> once all bytes have 1547private protected TlsOperationStatus ShutdownBufferedCore(Span<byte> ciphertext, out int bytesWritten) 1554return TlsOperationStatus.Closed; 1608return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Closed; 1613private protected TlsOperationStatus DrainPendingOutputCore(Span<byte> ciphertext, out int bytesWritten) 1617return _pendingBuffer.ActiveLength > 0 ? TlsOperationStatus.DestinationTooSmall : TlsOperationStatus.Complete; 2012private protected TlsOperationStatus HandshakeSocketCore() 2020return TlsOperationStatus.Complete; 2023TlsOperationStatus? fast = null; 2048return TlsOperationStatus.DestinationTooSmall; 2054TlsOperationStatus status = HandshakeBufferedCore( 2083return TlsOperationStatus.DestinationTooSmall; 2091case TlsOperationStatus.Complete: 2092return TlsOperationStatus.Complete; 2094case TlsOperationStatus.NeedMoreData: 2108return TlsOperationStatus.NeedMoreData; 2112return TlsOperationStatus.Closed; 2116case TlsOperationStatus.DestinationTooSmall: 2131private protected TlsOperationStatus ReadSocketCore(Span<byte> buffer, out int bytesRead) 2147TlsOperationStatus? fast = null; 2160TlsOperationStatus status = ReadBufferedCore( 2173if (status == TlsOperationStatus.Complete && produced > 0) 2175return TlsOperationStatus.Complete; 2177if (status == TlsOperationStatus.Closed) 2179return TlsOperationStatus.Closed; 2181if (status == TlsOperationStatus.Complete && produced == 0) 2186if (status != TlsOperationStatus.NeedMoreData) 2205return TlsOperationStatus.NeedMoreData; 2209return TlsOperationStatus.Closed; 2215private protected TlsOperationStatus WriteSocketCore(ReadOnlySpan<byte> buffer, out int bytesWritten) 2229TlsOperationStatus? fast = null; 2243return TlsOperationStatus.DestinationTooSmall; 2251return TlsOperationStatus.Complete; 2260TlsOperationStatus encStatus = WriteBufferedCore( 2286return TlsOperationStatus.DestinationTooSmall; 2292if (encStatus == TlsOperationStatus.DestinationTooSmall) 2296return TlsOperationStatus.DestinationTooSmall; 2298if (encStatus != TlsOperationStatus.Complete) 2311return TlsOperationStatus.Complete; 2321private TlsOperationStatus DriveBufferedOpOverSocket(Func<Span<byte>, (TlsOperationStatus status, int written)> op) 2333return TlsOperationStatus.DestinationTooSmall; 2342(TlsOperationStatus status, int written) = op(scratch); 2360return TlsOperationStatus.DestinationTooSmall; 2373private protected TlsOperationStatus ShutdownSocketCore() 2376TlsOperationStatus s = ShutdownBufferedCore(dest, out int w); 2380private protected TlsOperationStatus RequestClientCertificateSocketCore() 2388TlsOperationStatus? fast = null; 2397TlsOperationStatus s = RequestClientCertificateBufferedCore(dest, out int w); 2407partial void TryFastHandshake(ref TlsOperationStatus? result); 2408partial void TryFastRequestClientCertificate(ref TlsOperationStatus? result); 2409partial void TryPeekClientHello(ref TlsOperationStatus? result); 2410partial void TryFastRead(Span<byte> buffer, ref int bytesRead, ref TlsOperationStatus? result); 2411partial 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 (5)
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(); 56public TlsOperationStatus RequestClientCertificate() => RequestClientCertificateSocketCore();