Почему я получаю эту ошибку: эмитент токена безопасности не был распознан IssuerNameRegistry

Когда я хочу запустить свое приложение с помощью пользовательской STS (я написал ее, и она работает хорошо), во-первых, я получаю эту ошибку:

Эмитент токена безопасности не был распознан в реестре IssuerName

Я проверил все решения для этой ошибки, но у меня все еще есть эта ошибка.

Я добавил класс «TrustedIssuerNameRegistery» и установил его в web.config.

public class TrustedIssuerNameRegistery : IssuerNameRegistry
{
    string issuerName = string.Empty;
    public override string GetIssuerName(SecurityToken securityToken)
    {
        if (securityToken != null)
        {
            X509SecurityToken x509Cert = securityToken as X509SecurityToken;
            if (x509Cert != null && x509Cert.Certificate.SubjectName.Name == "CN=busta-ip1sts.com")
            {
                issuerName = x509Cert.Certificate.SubjectName.Name;
            }
        }
        if (string.IsNullOrEmpty(issuerName))
        {
            throw new SecurityTokenException("Untrusted issuer.");
        }

        return issuerName;
    }

    public override string GetIssuerName(System.IdentityModel.Tokens.SecurityToken securityToken, string requestedIssuerName)
    {
        return base.GetIssuerName(securityToken, requestedIssuerName);
    }
}

это настройка web.config:

<issuerNameRegistry type='Webapp1.TrustedIssuerNameRegistry' />

Затем я получаю эту ошибку:

***ID8030: The value of the 'type' property could not be parsed.Verify that the type attribute of '<issuerNameRegistry type="Webapp1.TrustedIssuerNameRegistry,webapp1">***

Я даже установил dll "ValidatingIssuerNameRegistry" и зарегистрировал ее в web.config, но снова получаю первую ошибку.

Почему я часто получаю эту ошибку? Что с этим не так? Что еще я могу сделать? Если хотите, я тоже могу дать вам свой исходный код.


person Amir Jalilifard    schedule 22.12.2013    source источник


Ответы (1)


Похоже, вам также нужно имя сборки: «WebApp1.TrustedIssuerNameRegistry, AssemblyName».

Кстати, я надеюсь, что реестр имен эмитентов предназначен только для тестирования — это небезопасно, поскольку любой может создать сертификат с этим именем субъекта.

person Brock Allen    schedule 22.12.2013
comment
Да, это только для теста - person Amir Jalilifard; 24.12.2013