我正在运行DotNetOpenAuth的单声道分支构build,并尝试使用谷歌进行身份validation,但没有确定如何诊断它们有No OpenID Endpoint Found
错误的问题。
更多信息:
wget https://www.google.com
工作)。 任何提示如何诊断?
跟进:仍然看着这个,最好的我可以告诉这是一个mono / ssl问题不涉及dotnetopenauth。 来自C#代码的一个简单的SSL请求失败,从服务器收到无效的证书。 错误代码:0xffffffff800b010aexception。
在单声道2.4 / Ubuntu 9.10桌面下运行mozroots修复了这个问题,但是单声道2.6 / Ubuntu 10.10服务器上的mozroots命令没有帮助。 我正在使用这个:
yes yes|sudo mozroots --import --machine
它说它导入了证书,但一个简单的命令行程序来请求https://www.google.com仍然失败。
您需要在机器商店的“certs”目录旁边创建一个空的“keypairs”目录:
sudo mkdir /usr/share/.mono/keypairs
mozroots(和引擎盖下的certmgr)不创建它,但没有它单声道运行时将拒绝进行连接(它不能创建它本身,因为机器商店是只有root可写入;为什么需要创建它,然后让它为空, 我不知道)。
这是一个黑客的答案,但至少我得到了它的工作…
似乎机器证书存储在单声道2.6 / Ubuntu 10.10服务器不起作用。 不知道为什么。
修复方法是将mozroots根证书导入到www-data用户证书存储中。 由于我无法弄清楚如何使用mozroots工具来做到这一点,我手动这样做:
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
现在它工作…