Ошибка: не найдены учетные данные для авторизации пользователя. Отсутствуют учетные данные для проверки подлинности. - PullRequest
0 голосов
/ 08 октября 2010

Привет всем, у меня возникла проблема, и я впервые настраиваю Mutial SSL для платежного портала, код, который я использую ниже, и ошибка, которую я получаю:

System.Web.Services.Protocols.SoapException: не найдены учетные данные для авторизации пользователя. Отсутствуют учетные данные аутентификации [cert] в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse (сообщение SoapClientMessage, ответ WebResponse, поток ответа WebResponse, поток ответа Логическое значение asyncCall) в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke (параметры String methodName, Object []) в USBANK.epayWebService.epayWebServiceService.Payment (PaymentRequest PaymentRequest) в c: \ users \ hp \ visual Проекты \ USBANK \ USBANK \ Веб-ссылки \ epayWebService \ Reference.cs: строка 953 на USBANK.Default.Page_Load (Отправитель объекта, EventArgs e) в C: \ Users \ HP \ Documents \ visual studio 2010 \ Проекты \ USBANK \ USBANK \ Default.aspx.cs: строка 36

Я никогда раньше не сталкивался с этой ошибкой и не уверен, в чем проблема, я знаю, что мне нужно загрузить файл .crt, и я помогу с этим, это было бы здорово.

Спасибо!

string certPath = "C:\\inetpub\\SSLCertificate.cer";
        Documents\\Visual Studio 2010\\Projects\\USBANK\\USBANK\\SSLCertificate.cer";
        epayWebService.CardNotPresentCredit CNPC = new epayWebService.CardNotPresentCredit();
        epayWebService.PaymentRequest PR = new epayWebService.PaymentRequest();
        epayWebService.BillerCredential BC = new epayWebService.BillerCredential();
        epayWebService.PaymentMethod PM = new epayWebService.PaymentMethod();
        epayWebService.GetPaymentRequest GPR = new epayWebService.GetPaymentRequest();
        epayWebService.PaymentResponse Response = new epayWebService.PaymentResponse();
        BC.billerGroupID = "xxx";
        BC.billerID = "xxx";
        PR.billerCredential = BC;
        PR.paymentAmount = 0;
        PR.paymentDate = DateTime.Now;
        CNPC.cardNumber = "xxxxxxxxxxxxxx";
        PM.Item = CNPC;
        PR.paymentMethod = PM;
        PR.productCode = "Menu";
        try
        {
            epayWebService.epayWebServiceService ep = new epayWebService.epayWebServiceService();
            ep.Url = "https://xxx.xxxxxxxxx.com/EPayWebService/";
            ep.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certPath));
            Response = ep.Payment(PR);
            LabelResponse.Text = Response.response.ToString();
        }
        catch(Exception ex)
        {
            LabelResponse.Text = ex.ToString();
        }

Ответы [ 2 ]

0 голосов
/ 14 июня 2011

Для аутентификации вам нужен ваш личный ключ.Обычно это хранится в файле вместе с вашим публичным сертификатом.Может иметь расширение «.pfx» или «.p12».

Также вам необходимо использовать подкласс X509Certificate2.Как ни странно, несмотря на то, что он является «сертификатом», этот объект может также нести закрытый ключ, необходимый для аутентификации клиента.

0 голосов
/ 14 июня 2011

У нас была эта проблема, и оказалось, что мы отправляли неправильный сертификат. Вы должны прикрепить свой сертификат, а не сертификат USBank.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...