DotNetOpenAuth - "Missing OpenID Endpoint Found" Diagnostics on Mono

I run a build with DotNetOpenAuth mono branches and have problems with No OpenID Endpoint Found errors that try to authenticate with Google but are not sure how to diagnose them.

Additional Information:

  • Performing the same assembly of mono branches under Windows.
  • Authentication using the local openid provider works fine (Windows and Linux).
  • Authentication using myopenid works (maybe it's not https, like google?)
  • Same Web.Config performs binary copying of everything under Windows and Linux.
  • Disable the DNOA openid cacheDiscovery parameter.
  • Verified SSL works through a firewall from a Linux machine. (i.e. wget https://www.google.com ).
  • Checked apache error logs, no error reported.

Any tips on how to diagnose this?

Follow up: still looking at this, as far as I can tell, this is a mono / ssl problem not related to dotnetopenauth. A simple ssl request with C # code is not executed with an invalid certificate received from the server. Error code: exception 0xffffffff800b010a.

Running mozroots under mono 2.4 / ubuntu 9.10 the desktop fixes the problem, but the same mozroots command on the mono 2.6 / ubuntu 10.10 server does not help. I use this:

 yes yes|sudo mozroots --import --machine 

It says that he imported the certificates, but a simple command-line tool for requesting https://www.google.com still does not work.

+4
source share
2 answers

This is a hacker answer, but at least I got his job ...

It appears that the machine certificate store does not work on the mono 2.6 / ubuntu 10.10 server. I do not know why.

The fix is ​​to import mozroots root certificates into www-data user certificate store. Since I could not figure out how to do this with mozroots, I did it manually as follows:

 sudo mkdir /var/www/.config/.mono/certs/Trust sudo mkdir /var/www/.config/.mono/certs/CA sudo cp /usr/share/.mono/certs/Trust /var/www/.config/.mono/certs/Trust 

Now it works ...

0
source

You need to create an empty keypairs directory next to the certs directory in the computer store:

  sudo mkdir /usr/share/.mono/keypairs 

mozroots (and certmgr under the hood) do not create it, but without it mono runtime will refuse to create connections (and it cannot create it itself, since the machine store can only be written as root, why do you need to create it, and then leave it empty, I I do not know).

+3
source

All Articles