LinqToTwitter错误 - 根据验证过程,远程证书无效

时间:2013-08-07 20:30:45

标签: c# webforms ssl-certificate

我发现了有关此错误的几个不同问题,但似乎没有一个问题可以概述我的情况。

我正在创建一个网站,从我们公司的Twitter帐户中提取推文,并将其显示在社交墙上。我正在使用C#asp.NET webforms。 C#代码使用Linqtotwitter库来处理身份验证和“tweet pull”。它抓取推文并将它们转储到一个aspx文件中,作为一个很长的json字符串。然后,我们有一个jquery脚本,可以读取json并在页面上显示推文,非常漂亮。

该代码目前在我的开发盒上运行完美。但是当我将代码推送到生产时,我得到了这个.NET错误:

  

根据验证程序

,远程证书无效

我将在这里提供一些代码,但首先让我给你一些背景知识。我不知道这些信息是否相关,但谁知道。这个网站实际上是一个大型项目的一部分,可以容纳我们从营销到一台服务器的几个微小单页微网站,以减少它们造成的开销。这些微型网站都可以具有不同的主机名,但它们指向相同的IP地址。 httpmodule存在于该服务器上,并拦截所有进入的请求,并根据主机名将它们重定向到适当的子文件夹。

从我所做的研究来看,似乎SSL与此错误相关联。我对IT世界还很陌生,而且我正在学习更多关于SSL的知识,因为这个故障排除还在继续。这些微型网站所依赖的服务器上确实有一些SSL证书,其中一个微型网站使用SSL,但不是我目前正在处理的网站。但是,由于它们在这种意义上共享相同的IP地址,因此它们属于同一个网站。

这是C#LinqtoTwitter代码:

    private SingleUserAuthorizer auth;
    private TwitterContext twitterCtx;

    protected void Page_Load(object sender, EventArgs e)
    {
        Response.ContentType = "application/json";

        auth = new SingleUserAuthorizer
        {
            Credentials = new SingleUserInMemoryCredentials
            {
                ConsumerKey =
                    ConfigurationManager.AppSettings["twitterConsumerKey"],
                ConsumerSecret =
                    ConfigurationManager.AppSettings["twitterConsumerSecret"],
                TwitterAccessToken =
                    ConfigurationManager.AppSettings["twitterAccessToken"],
                TwitterAccessTokenSecret =
                    ConfigurationManager.AppSettings["twitterAccessTokenSecret"]
            }
        };

        if (auth.IsAuthorized)
        {
            twitterCtx = new TwitterContext(auth);
            var tweetResponse =
           (from tweet in twitterCtx.Status
            where tweet.Type == StatusType.User &&
                  tweet.ScreenName == "OurProfile" &&
                  tweet.IncludeRetweets == true
            select tweet)
           .ToList();

            Results.Text = twitterCtx.RawResult;
        }

    }

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        if (twitterCtx != null)
        {
            twitterCtx.Dispose();
            twitterCtx = null;
        }
    }

有没有人对这里可能出现的问题有任何想法?就像我说的那样,我还是很新的,我甚至不知道如何在谷歌之外解决这个问题。可能是我们的服务器无法验证Twitter的SSL证书是否来自可靠来源的东西?如果我可以提供更多信息或更多代码,请告诉我。感谢您的时间和阅读我的帖子!

0 个答案:

没有答案