private async Task <Stream> CreateSslStream(Stream unencryptedStream) { var sslStream = new FixedSslStream(unencryptedStream, false); await sslStream.AuthenticateAsServerAsync(AuthTlsCommandHandler.ServerCertificate); return(sslStream); }
private async Task<FtpResponse> ElevateToTls(CancellationToken cancellationToken) { await Connection.WriteAsync(new FtpResponse(234, "Enabling TLS Connection"), cancellationToken); await Connection.SocketStream.FlushAsync(cancellationToken); try { var sslStream = new FixedSslStream(Connection.OriginalStream, true); Connection.SocketStream = sslStream; await sslStream.AuthenticateAsServerAsync(ServerCertificate); return null; } catch (Exception ex) { Connection.Log?.Warn(ex, "SSL stream authentication failed: {0}", ex.Message); return new FtpResponse(421, "TLS authentication failed"); } }
private async Task <FtpResponse> ElevateToTls(CancellationToken cancellationToken) { await Connection.WriteAsync(new FtpResponse(234, "Enabling TLS Connection"), cancellationToken); await Connection.SocketStream.FlushAsync(cancellationToken); try { var sslStream = new FixedSslStream(Connection.OriginalStream, true); Connection.SocketStream = sslStream; await sslStream.AuthenticateAsServerAsync(ServerCertificate); return(null); } catch (Exception ex) { Connection.Log?.Warn(ex, "SSL stream authentication failed: {0}", ex.Message); return(new FtpResponse(421, "TLS authentication failed")); } }
private async Task<Stream> CreateSslStream(Stream unencryptedStream) { var sslStream = new FixedSslStream(unencryptedStream, false); await sslStream.AuthenticateAsServerAsync(AuthTlsCommandHandler.ServerCertificate); return sslStream; }