HaveIBeenPwned / PwnedPasswordsDownloader

A tool to download all Pwned Passwords hash ranges and save them offline so they can be used without a dependency on the k-anonymity API
BSD 3-Clause "New" or "Revised" License
700 stars 55 forks source link

Run failure #21

Open GuruGabe opened 1 year ago

GuruGabe commented 1 year ago

I have tried running this with various switches and every time I get Failed request #1 while fetching . Exception message: The SSL connection could not be established, see inner exception.. Failed request #10 while fetching . Exception message: The SSL connection could not be established, see inner exception.. downloaded ---------------------------------------- 0% ::** - System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. System.ComponentModel.Win32Exception: The Local Security Authority cannot be contacted . at async Task System.Net.Security.SslStream.ForceAuthenticationAsync(TIOAdapter adapter, bool receiveFirst, byte[] reAuthenticationData, bool isApm) at async ValueTask System.Net.Http.ConnectHelper.EstablishSslConnectionAsync( SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, bool async, Stream stream, CancellationToken cancellationToken) at async ValueTask System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, bool async, Stream stream, CancellationToken cancellationToken) at async ValueTask<ValueTuple<Socket, Stream, TransportContext>> System.Net.Http.HttpConnectionPool.ConnectAsync( HttpRequestMessage request, bool async, CancellationToken cancellationToken) at async ValueTask System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, bool async, CancellationToken cancellationToken) at async Task System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request) at async ValueTask System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync( CancellationToken cancellationToken) at async ValueTask<HttpConnection> System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, bool async, CancellationToken cancellationToken) at async ValueTask<HttpResponseMessage> System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync( HttpRequestMessage request, bool async, bool doRequestAuth, CancellationToken cancellationToken) at async ValueTask<HttpResponseMessage> System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, bool async, CancellationToken cancellationToken) at async ValueTask<HttpResponseMessage> System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, bool async, CancellationToken cancellationToken) at async Task<HttpResponseMessage> System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, bool disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken) at async Task<TResult> Polly.Retry.AsyncRetryEngine.ImplementationAsync<TResult>(Func<Context, CancellationToken, Task<TResult>> action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates<TResult> shouldRetryResultPredicates, Func<DelegateResult<TResult>, TimeSpan, int, Context, Task> onRetryAsync, int permittedRetryCount, IEnumerable<TimeSpan> sleepDurationsEnumerable, Func<int, DelegateResult<TResult>, Context, TimeSpan> sleepDurationProvider, bool continueOnCapturedContext) at async Task<TResult> Polly.AsyncPolicy1.ExecuteAsync(Func<Context, CancellationToken, Task> action, Context context, CancellationToken cancellationToken, bool continueOnCapturedContext) at async Task PwnedPasswordsDownloader.GetPwnedPasswordsRangeFromWeb(int i, bool fetchNtlm) in //src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:208 at async Task PwnedPasswordsDownloader.ProcessRanges(Settings settings) in //src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:250 at async Task PwnedPasswordsDownloader.ProcessRanges(Settings settings) in /_/src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:247

Hash ranges downloaded ---------------------------------------- 0% 00:00:00

Finished downloading all hash ranges in 876ms (1.14 hashes per second). We made 0 Cloudflare requests (avg response time: NaNms). Of those, Cloudflare had already cached 0 requests, and made 0 requests to the Have I Been Pwned origin server.

What am I missing?

darkpixel commented 1 year ago

Same here. A flood of error message and an empty pwnedpasswords_ntlm.txt file:

<snip>
Failed request #10 while fetching . Exception message: The requested address is not valid in its context.
(api.pwnedpasswords.com:443).----------------------------------   0% --:--:-- -
Failed request #10 while fetching . Exception message: The requested address is not valid in its context.
(api.pwnedpasswords.com:443).----------------------------------   0% --:--:-- -
Failed request #10 while fetching . Exception message: The requested address is not valid in its context.
(api.pwnedpasswords.com:443).----------------------------------   0% --:--:-- \
Failed request #10 while fetching . Exception message: The requested address is not valid in its context.
(api.pwnedpasswords.com:443).----------------------------------   0% --:--:-- \
Failed request #10 while fetching . Exception message: The requested address is not valid in its context.
(api.pwnedpasswords.com:443).----------------------------------   0% --:--:-- |
System.Net.Http.HttpRequestException: The requested address is not valid in its context. (api.pwnedpasswords.com:443)
     System.Net.Sockets.SocketException: The requested address is not valid in its context.
       at void System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error,
          CancellationToken cancellationToken)
       at void System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.
          GetResult(short token)
       at async ValueTask System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|277_0(
          AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
       at async ValueTask<ValueTuple<Socket, Stream>> System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(string
          host, int port, HttpRequestMessage initialRequest, bool async, CancellationToken cancellationToken)
  at async ValueTask<ValueTuple<Socket, Stream>> System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(string host,
     int port, HttpRequestMessage initialRequest, bool async, CancellationToken cancellationToken)
  at async ValueTask<ValueTuple<Socket, Stream, TransportContext>> System.Net.Http.HttpConnectionPool.ConnectAsync(
     HttpRequestMessage request, bool async, CancellationToken cancellationToken)
  at async Task System.Net.Http.HttpConnectionPool.AddHttp2ConnectionAsync(HttpRequestMessage request)
  at async ValueTask<T> System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(
     CancellationToken cancellationToken)
  at async ValueTask<Http2Connection> System.Net.Http.HttpConnectionPool.GetHttp2ConnectionAsync(HttpRequestMessage
     request, bool async, CancellationToken cancellationToken)
  at async ValueTask<HttpResponseMessage> System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(
     HttpRequestMessage request, bool async, bool doRequestAuth, CancellationToken cancellationToken)
  at async ValueTask<HttpResponseMessage> System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, bool
     async, CancellationToken cancellationToken)
  at async ValueTask<HttpResponseMessage> System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request,
     bool async, CancellationToken cancellationToken)
  at async Task<HttpResponseMessage> System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request,
     HttpCompletionOption completionOption, CancellationTokenSource cts, bool disposeCts, CancellationTokenSource
     pendingRequestsCts, CancellationToken originalCancellationToken)
  at async Task<TResult> Polly.Retry.AsyncRetryEngine.ImplementationAsync<TResult>(Func<Context, CancellationToken,
     Task<TResult>> action, Context context, CancellationToken cancellationToken, ExceptionPredicates
     shouldRetryExceptionPredicates, ResultPredicates<TResult> shouldRetryResultPredicates,
     Func<DelegateResult<TResult>, TimeSpan, int, Context, Task> onRetryAsync, int permittedRetryCount,
     IEnumerable<TimeSpan> sleepDurationsEnumerable, Func<int, DelegateResult<TResult>, Context, TimeSpan>
     sleepDurationProvider, bool continueOnCapturedContext)
  at async Task<TResult> Polly.AsyncPolicy`1.ExecuteAsync(Func<Context, CancellationToken, Task<TResult>> action,
     Context context, CancellationToken cancellationToken, bool continueOnCapturedContext)
  at async Task<Stream> PwnedPasswordsDownloader.GetPwnedPasswordsRangeFromWeb(int i, bool fetchNtlm) in
     /_/src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:187
  at async Task PwnedPasswordsDownloader.ProcessRanges(Settings settings) in
     /_/src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:227
  at async Task PwnedPasswordsDownloader.ProcessRanges(Settings settings) in
     /_/src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:224
  at async Task PwnedPasswordsDownloader.ProcessRanges(Settings settings) in
     /_/src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:240
  at async Task PwnedPasswordsDownloader.ProcessRanges(Settings settings) in
     /_/src/HaveIBeenPwned.PwnedPasswords.Downloader/Program.cs:240

Hash ranges downloaded ----------------------------------------   0% 00:00:00

Finished downloading all hash ranges in 48,398ms (0.02 hashes per second).
We made 0 Cloudflare requests (avg response time: NaNms). Of those, Cloudflare had already cached 0 requests, and made 0requests to the Have I Been Pwned origin server.
PS C:\Users\adebruyn>
stebet commented 1 year ago

Try again using the latest version (0.3.12).

darkpixel commented 1 year ago

I ended up restarting the server after-hours and it worked perfectly after that. I suspect it had something to do with the latest .NET Framework being installed and the installer not prompting for a restart.