证书制作 z
一、WCF中的安全方式
说到安全就会涉及到认证,消息一致性和机密性,WCF的安全方式分为两种,即传输安全和消息安全。
传输安全和消息安全的区别:
传输安全提供点对点的安全: 比如 A 提供服务,B和C直接连接到A,这时候A与B 及 A与C直接的传输是安全的,如果B通过C连接到A,那么A与B直接是安全的,B与C之间是不安全的。
消息安全:是把安全机制都应用在消息级别上面的,能够提供端对端的安全,不管消息的路由路径多么复杂,也能保证消息的安全传输。
传输安全我们一般应用在局域网中,消息安全主要应用在复杂的互联网环境中,传输安全有着消息安全不可比拟的优势就是高性能。
二、如何制作证书
既然是传输安全就必然会用到SSL,Https,就会涉及到数字证书,数字证书的概念和原理我们就不介绍了,百度一下就Ok,我们只要知道它是为我们的服务器端和客户端提供身份认证和能为我们的消息提供加密的东东就可以了。首先我们来演示一下制作证书的过程:
Windows server 系统都有证书服务的,我们可以通过添加证书服务来制作证书,具体操作可以参照这篇文章。
我们后面的DEMO环境都是在Win7 +vs2010环境下面进行的,因此我们只能通过MakeCert命令方式创建证书,并通过netsh程序给端口注册证书。
1、MakeCert 命令 可以通过 Visual Studio 命令提示输入“ MakeCert”运行,命令主要参数介绍:(参数有很多,不一一列出,只列出我们使用的)
-n :证书的主题名称;例如 -n "CN=计算机名称"
-pe:将生成的私钥标记可导出;
-sr:数字证书的位置(CurrentUser代表当前帐户;LocalMachine代表本机)
-ss:证书的存储区;-sky: 指定密钥的类型(signature:签名密钥;exchange:交换密钥)
-r :创建自签证书
注意:-n "CN=计算机名称" 默认为计算机名称,实际项目中可以为网站的名称,比如:wwww.xxx.com,当然你也可以使用其他名称,但是在WCF调用的时候会有信任关系异常提示,Demo中我们会进行介绍
2、netsh.exe 位于 C:\Windows\System32 目录下:
查看SSL证书的绑定: netsh> http show sslcert
将证书与端口进行绑定: netsh>http add sslcert ipport=0.0.0.0:端口号 certhash=证书的指纹 appid={一个有效的GUID}
删除端口绑定的证书: netsh>http delete sslcert ipport=0.0.0.0:端口
三、制作一个证书并绑定到ip地址端口:
1、制作证书:
我们启动Visual Studio 命令提示工具,然后输入:makecert -sr localmachine -ss My -n "CN=Lx-PC" -sky exchange -pe -r,回车,提示成功!
如何查看这个证书呢?这个证书放到哪里了呢?
我们可以通过运行MMC命令打开控制台,选择 “文件” 菜单中的 “添加或删除管理单元” 打开该对话框,在弹出的对话框左面选择 “证书” :
并点击 “添加” 弹出 “证书管理” 对话框,我们选择 “计算机帐户” ,并点击 “下一步” ,选择 “本地计算机” 之后,点击完成。当然还可以在继续添加一个 “我的用户帐户”,如下图:
点击 “确定” 之后,我们可以在 “证书(本地计算机)” --“个人”--“证书” 节点中 ,看到我们创建的 “Lx-PC” 证书;
接下来要做的是将该证书加入到 “受信任的根证书颁发机构” 和 “受信任人” 节点中,至于为什么会这么做。举个简单的例子,身份证就是我们的证书,谁是可信任的颁发机构,当然是当地xxx公安单位了,如果不是权威机构发布的证书,那么该证书肯定是有问题的了。
我们 “右击” 我们创建的证书,选择 “所有任务”--“导出”,打开 “证书导出” 对话框,选择 “下一步” 后,选择 “是,导出密钥”
并点击 “下一步”,默认选择“个人信息交换”,
继续点击 “下一步” ,输入 密码 “123456”,
点击 “下一步” 后,选择 “浏览” ,文件命名为 “lxpc.pfx”,并保存到桌面。
之后,我们分别右击 “受信任的根证书颁发机构” 节点和 “受信任人” 节点,选择 “所有任务” --“导入” 。选择我们刚刚导出到桌面的lxpc.pfx 文件,并输入 密码123456,之后,就分别导入到两个节点中了。
2、利用netsh 命令将制作的证书绑定到端口:
这时候我们需要查看证书的指纹: 双击我们的证书,选择详细信息标签
记录下该证书的指纹为:63c06b2292c76391fe075becb01e4a1f350a5a87
接着,我们通过windows 控制台 cmd,运行 netsh 命令,并输入:
http add sslcert ipport=0.0.0.0:9000
certhash=63c06b2292c76391fe075becb01e4a1f350a5a87
appid={BFC5621F-EF33-1234-AD7E-51EDDAEC5234}
结果显示:
我们可以利用 netsh> http show sslcert 来查看我们的证书是否绑定到了9000端口:
由图可见:我们已经将我们刚刚制作的证书 绑定到了 9000端口。
证书制作 z的更多相关文章
- iOS企业分发证书制作
自签名证书制作流程 打开终端,输入 openssl genrsa - ,生成名称为ca的秘钥 注:openssl生成的文件皆放在用户文档下(finder菜单栏'前往' - 电脑 -Macintosh ...
- iOS调试证书/公布证书制作
当已经注冊过applied 开发人员账号后,而且进行付款了,那么接下来就是证书制作了 1.登录membercenter https://developer.apple.com/membercenter ...
- nginx证书制作以及配置https并设置访问http自动跳转https(反向代理转发jboss)
nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖 ...
- Activex打包于发布完整版---微软证书制作
众所周知,Activex组件没有进行有效的签名,在IE上无法安装的,除非你让用户手工开启“接收任何未签名的ActiveX”,这个很明显不现实.而组件签名需要证书,证书从哪里来,你可以选择付1000到3 ...
- ios证书制作与上架指南
项目开发完了,要上架 ios AppStore 记录一下经过,以及需要提前准备和预防的东西,以便下次省心! 一.首先要申请开发者账号: 账号按流程注册申请,当时申请了够10遍,总结以下经验: 1.申请 ...
- SSL:GoDaddy SSL证书制作和安装
简介 SSL证书是数字证书的一种类似于驾驶证.护照和营业执照的电子副本.因为配置在服务器上,也称为SSL服务器证书.SSL 证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁 ...
- 国密算法SM2证书制作
国密算法sm2非对称算法椭圆曲线 原文:http://www.jonllen.cn/jonllen/work/162.aspx 前段时间将系统的RSA算法全部升级为SM2国密算法,密码机和UKey硬件 ...
- 重温WCF之WCF传输安全(十三)(1)前期准备之证书制作(转)
转载地址:http://www.cnblogs.com/lxblog/archive/2012/09/12/2682372.html 一.WCF中的安全方式 说到安全就会涉及到认证,消息一致性和机密性 ...
- JAVA数字证书制作生成
1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法 ...
随机推荐
- Java正则表达式-匹配正负浮点数
记录缘由: 公司项目需要从xml中获取标识为NUMBER的字符串,将之存入数据库中,存入的列的类型即为NUMBER.当遇到非数字时,原实现是通过异常: String plainValue = null ...
- Comparing deep learning frameworks: Tensorflow, CNTK, MXNet, & Caffe
https://imaginghub.com/blog/10-a-comparison-of-four-deep-learning-frameworks-tensorflow-cntk-mxnet-a ...
- java获取当前秒数输出
Date的getSeconds()已经过时了.不建议用.所以用了下面方法 Calendar c = Calendar.getInstance(); while(true) { c ...
- java跨库事务Atomikos
1:引入额外的jar <dependency> <groupId>com.atomikos</groupId> <artifactId>transact ...
- <数据挖掘导论>读书笔记5关联分析的基本概念和算法
关联规则的强度可以用support度和confidence(置信)度来度量 关联规则发现 给定事务的集合T,关联规则发现是指找出支持度大于等于minsup并且置信度大于等于minconf的所有规则, ...
- 有向图和无向图的数组C++实现
源码:https://github.com/cjy513203427/C_Program_Base/tree/master/55.%E5%9B%BE 结点类Noded.h 不需要存储索引 #pragm ...
- HDU 5695 ——Gym Class——————【贪心思想,拓扑排序】
Gym Class Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- sql 列名无效
版权声明:本文为博主原创文章,未经博主允许不得转载. 在SQLServer2008中,当设计(修改)表结构之后,再用SQL语句时,列名会显示无效,但执行可以通过 如下图: 原因是SQL Server的 ...
- js 对象数据观察者实现
var observer = function (originalData) { var newData = {}; newData.observer = {}; newData.$data = {} ...
- input textbox tag
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAb8AAAB0CAIAAACaKavmAAAJ0klEQVR4nO3dO2wb5wHA8YOHIkOLrk