1自签名SSL证书的创建

创建自签名SSL工具xca为:https://sourceforge.net/projects/xca/

创建过程

1)创建根证书

打开软件,界面如下。

点击,看到下拉菜单,选择,创建新的数据库。

给文件命名,选择文件存储的位置,这里我放在了E:\CA这个文件夹下

点击保存,弹出下页,填写密码

点击ok,弹出下页

点击,弹出下页

签名算法改为SHA 256,其他不变,点击,然后点击ok,弹出下页

点击,填写信息,如下:

点击,弹出下页

确认无误,点击,成功显示下页

点击ok,显示下页

点击ok,创建成功显示下页

点击ok,至此成功生成了根证书。

2)创建服务端证书

在上述根证书创建成功的基础上,选中已生成的根证书。

点击,弹出下页

修改加密算法为SHA 256,证书模板有三个,选择

点击,点击ok,弹出下页

其他操作与生成根证书类似,生成好了以后,页面如下:

3)创建客户端证书

与创建服务端证书基本一致,不同的是选择

2 导出证书

选中证书,点击

选择文件夹和导出格式,导出格式有多种,根据需求导出。

3 IIS中安装证书

注意同一个证书不要安装多次,若要重装,那么先删除已安装的证书。

打开IIS,点击根目录,双击

右键,弹出菜单,点击完成证书申请,即红框部分

弹出页,选择生成好的证书(证书需要以格式导出)

命名并点击确定

至此,不同的IIS会有不同的反应,有些服务器导入成功,有些服务器报错:

有的导入似乎成功,但刷新页面,导入的证书消失。对于这种情况,导入证书后别刷新,右键查看证书,截图如下:

针对上述两种错误的解决办法是:

1 )报错的解决方案是

先将证书安装到计算机受信区,然后打开证书管理器,即开始处运行:certmgr.msc

选中证书,右键操作如图所示。

选择

依提示操作,到输入密码时,这里指的就是创建证书的密码

输入正确的密码,依提示操作即可。

但是有些计算机即使正常安装了证书,也无法导出,如下图,导出私钥为不可选。

解决办法是,在安装证书的时候,要勾选对应选项,如下图所示:

2)双击证书(针对.cer格式或.p12格式),按提示安装,选择自动存储模式

这种方法不起作用,安装完依然不可用,截图如下。

选择,这种方式指定存储区也不起作用。

要导出格式,然后双击安装才可以。

 

4 访问自签名Https网站

一般添加安全例外就可以,但是有些会显示不全,解决办法是:

例如火狐浏览器中,点击暂时解除保护。这是因为https请求返回的页中含有http的请求,这种混合类型的被浏览器认为是不安全的。

ASP.NET Web API编程——使用自签名SSL证书的更多相关文章

  1. ASP.NET Web API编程——路由

    路由过程大致分为三个阶段: 1)请求URI匹配已存在路由模板 2)选择控制器 3)选择操作 1匹配已存在的路由模板 路由模板 在WebApiConfig.Register方法中定义路由,例如模板默认生 ...

  2. ASP.NET Web API编程——序列化与内容协商

    1 多媒体格式化器 多媒体类型又叫MIME类型,指示了数据的格式.在HTTP协议中多媒体类型描述了消息体的格式.一个多媒体类型包括两个字符串:类型和子类型. 例如: text/html.image/p ...

  3. ASP.NET Web API编程——构建api帮助文档

    1 概要 创建ASP.NET Web Api 时模板自带Help Pages框架. 2 问题 1)使用VS创建Web Api项目时,模板将Help Pages框架自动集成到其中,使得Web Api项目 ...

  4. ASP.NET Web API编程——模型验证与绑定

    1.模型验证 使用特性约束模型属性 可以使用System.ComponentModel.DataAnnotations提供的特性来限制模型. 例如,Required特性表示字段值不能为空,Range特 ...

  5. ASP.NET Web API编程——版本控制

    版本控制   版本控制的方法有很多,这里提供一种将Odata与普通web api版本控制机制统一的方法,但也可以单独控制,整合控制与单独控制主要的不同是:整合控制通过VersionController ...

  6. ASP.NET Web API编程——文件上传

    首先分别介绍正确的做法和错误的做法,然后分析他们的不同和错误之处,以便读者在实现此功能时可避开误区 1正确的做法 public class AvaterController : BaseApiCont ...

  7. ASP.NET Web API编程——异常捕获

    1 向客户端发送错误消息 使用throw new HttpResponseException()向客户端抛出错误信息. HttpResponseException包含两个重载的构造函数,其中一个是构造 ...

  8. ASP.NET Web API编程——文件下载

    断点续传基本原理 HTTP协议中与断点续传相关的HTTP头为:Range和Content-Range标头,断点续传实现流程: 1)客户端请求下载一个文件,文件的总长度为n:已经下载了一部分文件,长度为 ...

  9. ASP.NET Web API编程——客户端调用

    可以使用HttpClient这个调用Web API,下面是HttpClient的定义,列举了一些常用的方法,其中还有一些没有列举,包括重载的方法. public class HttpClient : ...

随机推荐

  1. Silverlight & Blend动画设计系列十二:三角函数(Trigonometry)动画之自由旋转(Free-form rotation)

    说到对象的旋转,或许就会联想到对象角度的概念.对象的旋转实现实际上就是利用对象的角度改变来实现的位置变换,在<Silverlight & Blend动画设计系列二:旋转动画(Rotate ...

  2. Silverlight & Blend动画设计系列五:故事板(StoryBoards)和动画(Animations)

    正如你所看到的,Blend是一个非常强大的节约时间的设计工具,在Blend下能够设计出很多满意的动画作品,或许他具体是怎么实现的,通过什么方式实现的我们还是一无所知.本篇将续前面几篇基础动画之上,详细 ...

  3. java设计模式--基础思想总结--抽象类与架构设计思想

    抽象类?这个东西我感觉没什么卵用啊,又不能拿来new对象,没有具体的对象的抽象类,有什么实际的意义呢?这是很多刚刚接触java抽象类语法时的第一反应(当然,包括我).确实,很多刚刚接触抽象类这个概念的 ...

  4. centos下如何停止ping命令

    ctrl + c 或者 Ctrl + d(好像不行) man ping

  5. JDBC编程错误:Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

    出现上面的错误是因为连接数据库的用户名不对或密码赋值不对,请对用户名和密码进行检查. 或者在程序中没有获取到正确的用户名或密码.看是否少写了用户名或密码.

  6. html+css模仿的锤子官方首页

    <div id="wrapper"> <header> <div class="container"> <h1> ...

  7. Ubuntu / Raspberry 下切换GCC版本

    目前Ubuntu 自带的GCC版本为4.6,遗憾的是在实际使用时,反而版本越高越好问题越多,所以,一旦遇到编译问题时最好先检查你下载的工程里的readme,默认的编译器版本是否为当前的安装版本,如果不 ...

  8. Android PopupWindow显示位置设置

    当点击某个按钮并弹出PopupWindow时,PopupWindow左下角默认与按钮对齐,但是如果PopupWindow是下图的那样,会发 生错位的情况,尤其是不同尺寸的平板上,那错位错的不是一般的不 ...

  9. JavaScript中的XMLHttpRequest与WebAPI

    JavaScript中的XMLHttpRequest与WebAPI它仅仅是一种客户端与服务端的关系.JavaScript中的XMLHttpRequest负责在客户端发起请求,而Web API负责在服务 ...

  10. css3 background-sizing 属性,捎带 background-repeat 属性

    background-sizing: contain: 在指定大小的容器内把图像按照图像本身长宽比扩展到最大尺寸,有可能有留白 cover: 在指定大小的容器内,把图像按照图像本身的长宽比扩展到足够大 ...