IIS下调用证书出现异常的解决方法 (C#)

 更新时间:2017年05月10日 14:13:12   作者:similar  
这篇文章主要为大家详细介绍了IIS下调用证书出现异常的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

程序发布前,跑在vs上是没问题的,当发布后,程序就报错了。通过系统日志找到了错误所在:证书调用时出现了异常。原因是:在IIS上调用证书是需要配置的,具体配置如下:

一. 确保证书已安装

1. 点击 [开始] -> [运行] -> 键入[mmc] 进入“控制台”界面 -> 选择[文件] -> [添加/删除管理单元]

2. 选择[证书] -> [计算机账户] -> [下一步] -> [完成]

3. 选择[个人] -> [证书] -> [所有任务] -> [导入] 。如果证书已存在则跳过此步骤,不用做导入操作。

二. 修改IIS上对应项目的程序池标识

1. 打开IIS -> 选择[应用程序池] -> 选中对应的项目 -> 选择右侧的[高级设置]

2. 找到[进程模型] -> 修改[标识]属性值

3. 将 ApplicationPoolIdentity 修改为 NetworkService

三. 对证书进行授权

1. 下载并安装 winhttpcertcfg.exe 工具(Windows HTTP Services Certificate Configuration Tool)。安装完成后该工具在C:\Program Files (x86)\Windows Resource Kits\Tools 或者C:\Program Files\Windows Resource Kits\Tools 文件夹下。

2. 打开[开始] -> [运行] ->键入[cmd]

3. 在控制台中输入指令 cdC:\Program Files (x86)\Windows Resource Kits\Tools 按[回车]键,进入工具所在目录

4. 进入指定目录后,输入指令 winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "证书名称" -a "IIS程序池标识"

5. 按[回车]键,执行指令

成功后结果如下图:

关于指令的一点说明:

winhttpcertcfg -g -c LOCAL_MACHINE\MY -s "证书名称" -a "IIS程序池标识"

-g 代表授权

-c 代表证书在计算机上安装存储位置

-s "证书的名称" (证书名称如何查看?如下图:)

-a "IIS程序池标识" (上面我们将iis程序池标识改成了NetworkService) 所以是 -a "NetworkService"

参考博文:记ASP.NET 使用 X509Certificate2 出现的一系列问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C# 语言入门基础介绍

    C# 语言入门基础介绍

    这篇文章主要介绍了C# 语言入门基础,c#是一种新式编程语言,不仅面向对象,还类型安全,本教程概述了 C# 8 及更高版本中该语言的主要组件。 下面一起进入文章了解更多的详细内容吧
    2021-12-12
  • C#数据库操作的用法

    C#数据库操作的用法

    这篇文章主要介绍了C#数据库操作的三种经典用法
    2015-10-10
  • C# File类中的文件读写方法详解

    C# File类中的文件读写方法详解

    C#提供了多种操作文件的方案,尤其是File类中封装的静态方法,本文将通过一些简单的示例为大家讲讲C#读写文件的方法,需要的可以参考一下
    2023-05-05
  • C#实现将像素转换为页面单位的方法

    C#实现将像素转换为页面单位的方法

    这篇文章主要介绍了C#实现将像素转换为页面单位的方法,涉及C#像素转换在图形绘制中的技巧,需要的朋友可以参考下
    2015-06-06
  • 小白2分钟学会Visual Studio如何将引用包打包到NuGet上

    小白2分钟学会Visual Studio如何将引用包打包到NuGet上

    这篇文章主要介绍了小白2分钟学会Visual Studio如何将引用包打包到NuGet上,只需两步完成打包上传操作,需要的朋友可以参考下
    2021-09-09
  • C#使用虚拟方法实现多态

    C#使用虚拟方法实现多态

    这篇文章主要介绍了C#使用虚拟方法实现多态,涉及C#多态的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • C#实现文件读写到SQLite数据库

    C#实现文件读写到SQLite数据库

    这篇文章主要为大家详细介绍了使用 C# 将文件读写到 SQLite 数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2025-01-01
  • 使用C#进行音频处理的完整指南(从播放到编辑)

    使用C#进行音频处理的完整指南(从播放到编辑)

    在现代应用程序中,音频处理已经成为不可或缺的一部分,无论是开发一个简单的音频播放器,还是构建一个复杂的音频编辑工具,C#都提供了丰富的工具和库来实现这些功能,通过本文,我们将深入探索如何在C#中进行音频播放、录制、编辑、格式转换以及音频分析
    2025-04-04
  • C#中一些字符串操作的常用用法

    C#中一些字符串操作的常用用法

    C#中一些字符串操作的常用用法...
    2007-03-03
  • C#多线程TPL模式下使用HttpClient

    C#多线程TPL模式下使用HttpClient

    这篇文章介绍了C#多线程TPL模式下使用HttpClient的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论