Я закончил настройку IdentityServer.v3 с IdentityManager, и все работает в значительной степени, как я хочу. Остается только заменить сертификат X.509 на собственный самозаверяющий. Я использую code here для загрузки моего встроенного сертификата. То, что я делаю, это копирование моего .pfx-файла в папку конфигурации и изменение имени сертификата и пароля для этого файла pfx в файле Cert.cs. Кроме того, я устанавливаю «Build Action: Embedded Resource» и «Copy to Output Directory: Do not copy» в новые свойства файла pfx.Изменение встроенного самоподписанного сертификата X.509 (idsrv3test.pfx) в IdentityServer.v3
Когда я публикую свое решение, я получаю широко распространенную ошибку приложения.
The system cannot find the file specified.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Security.Cryptography.CryptographicException: The system cannot find the file specified.
Есть ли определенный способ создания файла pfx? Я создал мой, используя makecert.exe
и pvk2pfx.exe
файлов. Кроме того, я использую этот сертификат для обеспечения безопасности домена, на котором размещается IDSRV3. Не затрагивая конфигурацию сертификата, оба IdentityServer.v3 и IdentityManager работают без ошибок.
Что мне здесь не хватает?
Вложенный сертификат действительно предназначен только для тестирования. Для производства вам действительно нужно настроить сертификат из более безопасного места, например, в хранилище сертификатов Windows. –
Спасибо, мне удалось загрузить мой сертификат из хранилища сертификатов Windows. Но мне удалось решить и мой вопрос. В ближайшее время я добавлю свои выводы. – ilter
Типичная проблема с загрузкой встроенных сертификатов: http://stackoverflow.com/questions/9951729/x509certificate-constructor-exception/10048789#10048789 –