【问题标题】:Is there Any Alternative For X509Certificate2UI in ASP.net Core?ASP.net Core 中的 X509Certificate2UI 是否有任何替代方案?
【发布时间】:2018-03-26 11:38:48
【问题描述】:

X509Certificate2Collection sel = X509Certificate2UI.SelectFromCollection(
    Filteredcollection, 
    "Certificates", 
    "Select a Certificate to sign", 
    X509SelectionFlag.SingleSelection
);

X509Certificate2UI 此时在 asp.net core 中出现错误

【问题讨论】:

    标签: asp.net-core .net-core asp.net-core-2.0


    【解决方案1】:

    没有。 X509CertificateUI 旨在在 Windows 桌面上弹出一个选择 UI。对于 Web,选择过程由浏览器执行,而不是由服务器上的任何代码执行。

    您必须将您的网站配置为仅接受证书,具体操作方式取决于托管软件。

    对于 Kestrel,它在代码中;

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
           .UseStartup<Startup>()
           .UseKestrel(options =>
           {
               options.Listen(IPAddress.Loopback, 5001, listenOptions =>
               {
                   listenOptions.UseHttps(new HttpsConnectionAdapterOptions
                   {
                       ServerCertificate = /* Your HTTPS Certificate */,
                       ClientCertificateMode = ClientCertificateMode.RequireCertificate,
                       ClientCertificateValidation = /* Validator */
                   });
               });
           })
           .Build();
    

    对于 IIS,它通过 UI,

    1. 在“连接”选项卡中选择您的站点。
    2. 在“功能视图”窗口中双击 SSL 设置。
    3. 选中需要 SSL 复选框并选择客户端证书下的需要单选按钮。

    【讨论】:

    • 那么如何使用 c#@blowdart 在 mac 和 linux 中弹出选择 UI
    • 您将托管网站配置为需要证书并由浏览器处理
    • 您可以使用像 Signer Digital 或其他浏览器扩展程序在浏览器上选择证书,在 Web 应用程序中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2022-01-12
    • 2017-03-06
    • 1970-01-01
    • 2017-02-03
    • 2020-07-13
    相关资源
    最近更新 更多