flickr-downloadr / flickr-downloadr-gtk

A cross-platform desktop app, written in Mono that would download (all or selected) photos from your photostream in their selected size along with their description, title and tags.
https://flickrdownloadr.com/
MIT License
180 stars 41 forks source link

Unable to login #37

Closed CGarces closed 8 years ago

CGarces commented 8 years ago

I'm using flickr-downloadr from the deb package on Debian 8 stable.

Launching the program on the console (the .deb not create any menu entry) launch the aplication with a login button. Click on the current button raise the following error.

$ mono /opt/flickrdownloadr/bin/flickr-downloadr.exe 
Fatal Error: DotNetOpenAuth.Messaging.ProtocolException: Web request to 'https://www.flickr.com/services/oauth/request_token' failed. ---> System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a
  at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.RemoteValidation (Mono.Security.Protocol.Tls.ClientContext context, AlertDescription description) [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) Mono.Security.Protocol.Tls.Handshake.HandshakeMessage:Process ()
  at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Net.HttpWebRequest.EndGetRequestStream (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
  at System.Net.HttpWebRequest.GetRequestStream () [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStreamCore (System.Net.HttpWebRequest request) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStreamCore (System.Net.HttpWebRequest request) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream (System.Net.HttpWebRequest request, DirectWebRequestOptions options) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetRequestStream (System.Net.HttpWebRequest request) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.Channel.SendParametersInEntity (System.Net.HttpWebRequest httpRequest, IDictionary`2 fields) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.Channel.InitializeRequestAsPost (IDirectedProtocolMessage requestMessage) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.OAuth.ChannelElements.OAuthChannel.CreateHttpRequest (IDirectedProtocolMessage request) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.Channel.RequestCore (IDirectedProtocolMessage request) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.Channel.Request (IDirectedProtocolMessage requestMessage) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.Messaging.Channel.Request[UnauthorizedTokenResponse] (IDirectedProtocolMessage requestMessage) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.OAuth.ConsumerBase.PrepareRequestUserAuthorization (System.Uri callback, IDictionary`2 requestParameters, IDictionary`2 redirectParameters, System.String& requestToken) [0x00000] in <filename unknown>:0 
  at DotNetOpenAuth.OAuth.DesktopConsumer.RequestUserAuthorization (IDictionary`2 requestParameters, IDictionary`2 redirectParameters, System.String& requestToken) [0x00000] in <filename unknown>:0 
  at FloydPink.Flickr.Downloadr.OAuth.OAuthManager.BeginAuthorization () [0x00000] in <filename unknown>:0 
  at FloydPink.Flickr.Downloadr.Logic.LoginLogic.Login (System.Action`1 applyUser) [0x00000] in <filename unknown>:0 
  at FloydPink.Flickr.Downloadr.Presentation.LoginPresenter.Login () [0x00000] in <filename unknown>:0  ... False
CGarces commented 8 years ago

Tested solution from #5

Not works for me, I'm doing something wrong?

$ mozroots --import --ask-remove
Mozilla Roots Importer - version 3.2.8.0
Download and import trusted root certificates from Mozilla's MXR.
Copyright 2002, 2003 Motus Technologies. Copyright 2004-2008 Novell. BSD licensed.

Downloading from 'http://mxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1'...
Couldn't retrieve the file using the supplied information.
CGarces commented 8 years ago

Ok, fixed. Solution from #5 is no longer valid, see https://github.com/KSP-CKAN/CKAN/issues/1787

Mono users on Linux no longer need to run mozroots to get SSL working. A new command, cert-sync, has been added to this release, which synchronizes the Mono SSL certificate store against your OS certificate store – and this tool has been integrated into the packaging system for all mono-project.com packages, so it is automatically used when you install Mono via our packages. Just make sure the ca-certificates-mono package is installed on Debian/Ubuntu (it’s always bundled on RPM-based distros) to take advantage! It should be installed on fresh installs by default.

Theca-certificates-mono package not is on the repositories of Debian 8 stable. So you must use the mono repositories directly http://www.mono-project.com/docs/getting-started/install/linux/

floydpink commented 8 years ago

Thank you, @CGarces