Подключите веб-сайт Azure к партнерскому приложению Xero
Я интегрирую свое приложение с Xero, для которого требуются два сертификата. Я загрузил их в Azure с помощьюэтот статья, но я все еще не могу подключиться кXero API, Я надеюсь, что у кого-то есть опыт интеграции приложения Xero Partner с веб-приложением Azure.
Я загрузил два файла PFX; один - это самозаверяющий сертификат, а другой - сертификат партнера, выданный Xero. Последний файл pfx содержит два сертификата; Entrust Commercial Private Sub CA1 (независимо от средств) и уникальный сертификат Entrust Id для моего приложения.
Я использую следующий код для загрузки сертификатов по их уникальному отпечатку:
static X509Certificate2 GetCertificateFromStore(string thumbprint)
{
var store = new X509Store(StoreLocation.CurrentUser);
try
{
thumbprint = Regex.Replace(thumbprint, @"[^\da-zA-z]", string.Empty).ToUpper();
store.Open(OpenFlags.ReadOnly);
var certCollection = store.Certificates;
var currentCerts = certCollection.Find(X509FindType.FindByTimeValid, DateTime.Now, false);
var signingCert = currentCerts.Find(X509FindType.FindByThumbprint, thumbprint, false);
if (signingCert.Count == 0)
{
throw new Exception($"Could not find Xero SSL certificate. cert_name={thumbprint}");
}
return signingCert[0];
}
finally
{
store.Close();
}
}
Локально это работает, но на моем лазурном веб-сайте я получаю ошибку 403.7:
The page you are attempting to access requires your browser to have a Secure Sockets Layer (SSL) client certificate that the Web server recognizes.
Я также посмотрел следующие ссылки, чтобы попытаться решить проблему:
Конфигурация SSL Xero Partner в Azure (Использует облачный сервис, а не веб-приложение, поэтому я не смог выполнить шаги в конце)403 Запрещено при загрузке X509Certificate2 из файла (В теме, опубликованной на форумах Xero об этой же проблеме, выяснилось, что разрешение только на очередной раз; облачные сервисы)Партнерские связи Xero и веб-сайты Azure (Опубликованное решение предлагает использовать виртуальную машину)Что я еще не пробовал:
Преобразование моего веб-приложения в облачный сервис; пытаясь избежать этого, однако я не уверен, какие шаги предпринимаются.Использование ВМ; Я не нашел подробных шагов о том, как это сделать, но мне кажется, что этот вариант лучше, чем выше.