Возможно, он не может конвертироваться из-за проблем с разрешениями или загрузки сертификата в виде потока.
В моем случае с использованием IdentityServer3 работает следующий код:
/// <summary>
/// Load the certificate that sign the Id or Jw token
/// </summary>
/// <returns></returns>
private static X509Certificate2 LoadCertificate()
{
string baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
return new X509Certificate2(
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigMngr.GetAppSettingsValue<string>("IdSrv:SigningCertificatePath")), ConfigMngr.GetAppSettingsValue<string>("IdSrv:SigningCertificatePassword"));
}
Затем в файле запуска owin я передаю его, как показано ниже:
SigningCertificate = LoadCertificate(),
Я знаю, что в Idsrv4 это Реализация отличается от кода, который я опубликовал, но это должна быть та же абстракция, например, вы загружаете X509Certificate, но он устарел, поэтому убедитесь, что вы используете правильную перегрузку для загрузки сертификата в виде потока и возвращаете правильный тип.
Кроме того, этот код можно тестировать с помощью IdSrv4:
var fileName = Path.Combine(env.WebRootPath, "FileName" );
if (!File.Exists(fileName))
{
throw new FileNotFoundException("No Signing Certificate!");
}
var cert = new X509Certificate2(fileName, "Pass" );
services.AddIdentityServer().AddSigningCredential(cert)
Поэтому вместо использования
X509Certificate.CreateFromCertFile(fileName);
Вы можете создать новый сертификат X509Certificate2, например:
var cert = new X509Certificate2(fileName, "Pass" );
И передать его промежуточному ПО owin:
services.AddIdentityServer().AddSigningCredential(cert)
Так что получается довольно просто. Вместо
<%= f.text_field :fieldname %>
поставить
<%= f.text_field :fieldname, :autocomplete => :off %>
Добавьте autocomplete = "off" в качестве атрибута в тег формы:
<form action="..." method="..." autocomplete="off" >
</form>
Вы также можете отключить автозаполнение на уровне формы, используя атрибут: autocomplete в коллекции: html, который будет генерировать HTML-код, на который ссылается Erv. Синтаксис
<% form_for :form_name, @form_name, :html => {:autocomplete => "off"} do |f|%>
...
<% end %>