Помогите с ошибкой SAML: «Набор ключей не существует» - PullRequest
2 голосов
/ 17 апреля 2011

У нас есть две среды, которые должны быть идентичными, но одна из них вызывает ошибку, когда мы пытаемся сгенерировать подпись сообщения SAML. Я не смотрел на SAML раньше, и я не совсем уверен, что он пытается сделать

Часть кода:

X509Certificate2 x509Certificate = (X509Certificate2)Application[ASP.global_asax.IdPX509Certificate];

        try
        {
            SAMLMessageSignature.Generate(samlResponse, x509Certificate.PrivateKey, x509Certificate);
        }
        catch (Exception ex)
        {
            app = File.AppendText(@"C:\SAML.txt");
            app.WriteLine(ex.Message.ToString());
            app.Flush();
            app.Close();
        }

Сообщение об исключении:

Набор ключей не существует

Кто-нибудь знает, на что мне смотреть?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 19 апреля 2011

Привет, пожалуйста, проверьте следующее в вашей настройке.

  • Установите правильные записи контроля доступа (ACL) для установленного вами сертификата.
  • Добавить Изменить сертификат доступа для NETWORK SERVICE к сертификату.
  • Если вы используете Windows 2008 и Windows 7, вы можете получить доступ к закрытому ключу из сертификата оснастка в MMC.

    Manage Private Keys

  • Если это все еще не работает, добавьте роль изменения Изменить также для IIS_IUSRS. IIS_IUSRS

Надеюсь, это поможет вам.

Спасибо!

0 голосов
/ 17 апреля 2011

Проверьте, был ли сертификат, сохраненный в ключе объекта HttpApplicationState ASP.global_asax.IdPX509Certificate, успешно загружен. Если сертификат загружается из файла PFX, убедитесь, что он присутствует на диске и доступен для учетной записи, под которой работает ваше веб-приложение. Если сертификат загружается из хранилища сертификатов, убедитесь, что он установлен в правильном хранилище и что учетная запись, под которой работает ваше веб-приложение, может обращаться к сертификату.

Вы можете использовать winhttpcertcfg.exe для установки сертификатов в системные хранилища ключей и управления ACL-списками сертификатов. Статья базы знаний http://support.microsoft.com/kb/901183 содержит дополнительную информацию.

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