WCF证书创建方法
A.创建证书:
(1)将创建证书工具makecert.exe放到任意地方。可以把该文档中的makecert.exe工具复制粘贴到任意目录。
(2)doc命令去到makecert.exe的路径,然后输入命令makecert -sr localmachine -ss My -n CN=DeferredTopupServer -sky exchange -pe -r。其中localmachine表示证书放的位置是本地计算机,My表示证书放在个人证书中,DeferredTopupServer这个是证书的名字根据实际需要改动。
3)成功后,可以在控制台本地计算机个人证书中看到新创建的名为DeferredTopupServer的证书。步骤:
在运行中输入“mmc”-->在控制台窗口中单击“文件”菜单下的“添加删除管理单元”-->在添加/管理单元窗口的独立页,单击“添加”-->在添加独立管理单元窗口,选择“证书”,单击“添加”-->在证书管理单元窗口,选择“计算机账户”,“下一步”-->选择“本地计算机”,单击“完成”。
展开本地计算机中个人证书,可以查询DeferredTopupServer证书。
(4)在localmachine的My下创建好两个不同名字的证书(一个是用在web service config中,一个是用在IIS上https binding中)后,复制my中新建的两个证书到“本地计算机”下“受信任的根证书颁发机构”中。
(5)因为是创建的带私钥的证书,所以要将这两个证书对应的私钥文件权限设置为everyone,简单起见就是将MachineKeys文件夹的权限设置为everyone,目录为...\Crypto\RSA\MachineKeys
B 导入证书 (当有.pfx的证书文件时,不需要创建证书,只需要导入或安装到控制台证书的相应位置即可,此处只介绍导入方式)
(1)打开控制台的本地计算机证书,步骤类似创建证书中的步骤(3),将该文档中的.pfx文件复制粘贴到任意的目录下。
(2)右击“个人”-->“所有任务”-->“导入”-->“下一步”-->单击“浏览...”,“下一步”-->输入密码,一定要勾选“标志此秘钥为可导出的。这将允许您在稍后备份或传输秘钥”,“下一步”-->“下一步”“完成”
(3)同样的步骤导入其他证书,使“本地计算机”的“个人”和“受信任的根证书颁发机构”都有两个证书。
(4)将MachineKeys文件夹的权限设置为everyone,目录为...\Crypto\RSA\MachineKeys
C.导出证书:
1 导出.pfx文件:
在控制台中找到想要导出的证书-->右键“证书名字”,“所有任务”,“导出”-->“下一步”-->勾选“是,导出私钥”,“下一步”-->只选择“私人信息交换”,“下一步”-->自己给定一个密码,输入“密码”,“确认密码”,“下一步”-->点击“浏览”指定存放.pfx文件的位置和文件名,“下一步”-->“完成”
2 导出.pem文件:(只要导出web service config中的证书)
(1)在控制台中找到想要导出的证书-->右键“证书名字”,“所有任务”,“导出”-->“下一步”-->勾选“不,不要导出私钥”,“下一步”-->勾选“Base64 编码 x509”,“下一步”-->点击“浏览”指定存放文件的位置和文件名,“下一步”-->“完成”。此时导出的文件是扩展名为.cer的文件
(2)将导出的.cer文件,重命名为.pem的文件即可。
常见问题
1:异常详细信息: System.Security.Cryptography.CryptographicException: 密钥集不存在。
ArgumentException: 证书“CN=MyServerCert”必须具有能够进行密钥交换的私钥。该进程必须具有访问私钥的权限。
该问题可能存在两个情况:
A:帐户没有权限访问证书的私钥文件。解决方案就是找到证书的私钥文件找到,(位置类似Windows xp存放在:C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
Windows vista存放在:C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys )将权限设置最大
B:根本没有没有该证书的私钥文件, 地址同A.这种情况一般产生是由于Makecert没有在本机上做,证书是从另外的机器导入进来的. 导入的时候由于服务器的原因不能导入私钥到这个服务器上. 解决方案就是在这服务器上直接用makecert产生证书.
查找证书私钥:
FindPrivateKey My LocalMachine -n "CN=www.ecepdi.com" 或
FindPrivateKey My LocalMachine -t "指纹密钥"
WinHttpCertCfg.exe -g -c LOCAL_MACHINE\MY -s "证书名" -a Network Service
设置完成后,IIS宿主不是马上就可以访问密钥,所以不要急,可以iisreset命令重启IIS
WCF证书创建方法的更多相关文章
- 苹果证书p12和描述文件的创建方法
在2020年之前,我们在使用香蕉云编创建苹果证书的时候,只需要注册苹果开发者账号,但不需要缴费成为开发者. 在2020年之后,需要先缴费成为苹果开发者. 假如你还没有注册苹果开发者账号,可以先参考下下 ...
- ios打包的IDP证书的创建方法
在我们打包ios应用的时候,需要一个IDP证书. 那么我们如何生成这个IDP证书呢?网上介绍的方法都是需要使用mac电脑,然后用mac电脑的钥匙串访问的功能先生成csr文件,然后去苹果开发者生成,然而 ...
- ios私钥证书和profile文件的创建方法
做过ios开发的朋友们,对ios私钥证书和profile文件(描述文件)可能并不陌生,可以通过mac电脑来创建,但是,假如我们是用H5开发工具开发的,我们没有mac电脑怎么创建证书呢? 目前H5打包用 ...
- 实现jquery.ajax及原生的XMLHttpRequest跨域调用WCF服务的方法
关于ajax跨域调用WCF服务的方法很多,经过我反复的代码测试,认为如下方法是最为简便的,当然也不能说别人的方法是错误的,下面就来上代码,WCF服务定义还是延用上次的,如: namespace Wcf ...
- 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法
废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...
- WCF服务创建与使用(双工模式)
昨天发布了<WCF服务创建与使用(请求应答模式)>,今天继续学习与强化在双工模式下WCF服务创建与使用,步骤与代码如下. 第一步,定义服务契约(Service Contract),注意Se ...
- Makecert.exe(证书创建工具)
Makecert.exe(证书创建工具) .NET Framework 4.5 其他版本 2(共 3)对本文的评价是有帮助 - 评价此主题 证书创建工具生成仅用于测试目的的 X.509 证 ...
- jQuery.Ajax()执行WCF Service的方法
Insus.NET有在上一篇<ASP.NET MVC呼叫WCF Service的方法>http://www.cnblogs.com/insus/p/3720547.html 直接呼叫WCF ...
- ASP.NET MVC呼叫WCF Service的方法
本演示,Insus.NET操练asp.net mvc的应用程序,虽然以前有写过:<MVC应用程序使用Wcf Service>http://www.cnblogs.com/insus/p/3 ...
随机推荐
- Sipdroid实现SIP(一): 注册
目录 注册: 预注册获取长号和用户注册 预注册返回长号 周期性用户注册 Receiver类概述 SipdroidEngine类概述 Sipdroid类中的用户注册: 注册代理和注册事务 注册代理类Re ...
- IIS 支持 ajax 跨域
第一,首先要浏览器支持. Firefox和Chrome都支持了. IE10 也支持. IE8,9 需要使用其他方式才能支持 第二, 加上HTTP header. IIS 7 的方式比较容易. 就在we ...
- google谷歌翻译插件-网页一键翻译
上个月转载的一篇博文,是推荐的四款非常实用的翻译插件,这几天看这个chrome插件网首页有新增了一个google谷歌翻译插件.我能说实话,这款插件比之前推荐的4款翻译插件更好用吗?也不能完全说是更好用 ...
- ubuntu配置LAMP
1.安装Apache sudo apt-get install apache2 如果显示未找到软件则执行sudo apt-get update(建议使用ubuntu正在支持的系统版本,不在支持的版本可 ...
- one-sided limit
Limit[e^(-1/x),x->0,Direction->-1] means $\lim_{x \to 0^{+}}e^{-\frac{1}{x}}$ Limit[e^(-1/x),x ...
- SQL MySQL
SQL 结构化查询语言(英语:Structural Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言. 各种通行的数据库系统在其实践过程中都对SQ ...
- WEB 技术分类 Javascript DOM(Element Node) BOM
Web technology for developers Web 技术文档 备注:本文介绍web technology的分类,各自职责,因为之前一直就没有搞明白各种技术.各种名词究竟是属于哪个范 ...
- 如何在高并发的分布式系统中产生UUID
一.数据库发号器 每一次都请求数据库,通过数据库的自增ID来获取全局唯一ID 对于小系统来说,这是一个简单有效的方案,不过也就不符合讨论情形中的高并发的场景. 首先,数据库自增ID需要锁表 而且,UU ...
- 4.请求方式为application/json时的接口测试要如何做?
1.单独新建一个线程组, 在信息头管理器中增加: 在Body Data中,添加json格式的内容(我不会写,直接用fiddler抓包,然后把TextView中的数据复制过来). 2.然后因为登录状态, ...
- DHCP底层参考
[原创翻译,水平有限] ISC DHCP支持802.1的以太网帧,令牌环和FDDI等网络.为了桥接物理层和DHCP层,它还必须实现IP和UDP协议帧. 这源于UNIX BSD socket 对未配置接 ...