一、基础准备

为了创建和导入第三方SSL-certificate你需要做如下准备:
1、一个WLC(随着版本的不同,可能需要准备的也不同)这里以7.0.98版本为例。
2、一个外部的证书颁发机构(Certificate Authority,CA),这里以www.startssl.org为例,该网站提供免费的一类证书。
3、一个带有DNS和DHCP服务器的guest网络的独立VLAN。
4、适用于Windows的OpenSSL 0.9.8h,当然,在Linux系统中也可以使用OpenSSL。
5、一个TFTP服务器软件(这里离使用TFTP32)

二、控制器的准备

1、你必须为guest网络创建两个接口
第一个接口与其他接口一样,具有名称,IP地址和VLAN标签。
第二接口是virtual接口,参考如下截图创建:

设置IP地址并定义应该在证书中命名的DNS主机名称:

2、创建WLAN
定义guest WLAN,按照如下截图实现:

进入对应的SSID,选择你想绑定的接口并且进行设置:

这样定义完成后,点击Apply,你就能看到一个没加密的SSID,当你尝试连接它,并打开浏览器界面,你应该从自签名SSL证书收到一个“certificate error”的起来。这就需要我们去做第三方的证书了。

三、通过startssl.org准备创建SSL certificate

1、准备
要使用www.startssl.org创建SSL证书,您必须注册一个用户帐户。 通过创建用户帐户,您将收到一个用户证书,您将需要安全地登录到startssl.org。
可以肯定的是,请求的域名属于你,你必须验证你的域名。 因为我们只使用免费的1类证书,所以不需要其他验证。

2、验证你的域名
要为您的主机wlc.domain.org创建1类证书,您必须在www.startssl.org上验证域domain.org。 首先,您必须使用用户凭证登录www.startssl.org。
注意,wlc.domain.org是你在WLC上配置的DNS。
在登录之后,进入StartSSL PKI,然后到Control Panel。到Validation Wizard→Domain Name Validation→Continue

然后输入域名名称,选择TLD(top level domain,顶级的域名)然后,点击Continue

要验证你是域名所有者,StartSSL会将电子邮件发送到预定义的邮件地址。 在你的邮件系统中创建一个你使用的电子邮件地址,并以下面的形式选择它:

点击Continue按钮,并且等待验证邮件。只要你收到了验证邮件,就点击邮件中的验证链接,以验证这个domain。

四、在StartSSL.org请求证书

点击Certificates Wizard,选择Web Server SSL/TLS Certificate 并点击Continue

输入一个10-32位的密码,要记住这个密码,后面会需要它,并且之后不能修改恢复它。选择2048位的密钥大小(WLC不支持大于2048 bits的,而这里的StartSSL不支持小于2048 bits的)。当然如果其他的支持1024 bits,也可以选择1024 bits。

然后点击Continue,你会收到如下信息:

复制文本框中的完整内容并将其粘贴到新的文本文件中,命名该文本文件为private_key.txt 。该文件创建完毕后,点击Continue
这个private key对应的是mykey.pem

选择你想要的hostname并且点击Continue

接下来等待StartSSL的验证,你大概需要等待将近3小时。

五、下载设备证书(Device Certificate)

在手动验证了StartSSL之后,你将会收到一封确认邮件,然后在StartSSL安装如下指导选择Tool Box→Retrieve Certificate(取回证书)

选择所需的证书。 新的将被标记为绿色:

您将收到此信息:

复制文本框中的全部内容并将其粘贴到新的文本文件中。 将该文本文件另存为device_cert.pem
Device cert对应是合并证书的第一个证书

六、下载CA Certificate

按照如下指导点击Tool Box→StartCom CA Certificates
下载StartCom Root CA(PEM编码)Class 1 Intermediate CA两个证书

七、合并证书

创建一个新的文件文件,保存为All-Certs.pem ,并且以文本方式打开,按照下列顺序插入三个文件。
 
    Device certificate
    Class 1 Intermediate Server CA
    StartCom Root CA

转换证书:

你需要使用OpenSSL来转换证书,这里使用的是OpenSSL 的Windows版本0.9.8h,打开OpenSSL并且执行如下命令:
操作命令1:这里是将All-Certs.pem证书和private_key.txt合成我们的All-certs.p12文件。
pkcs12 -export -in D:\All-Certs.pem -inkey D:\private_key.txt -out D:\All-certs.p12  -clcerts –passin pass:PASSWORD –passout pass:PASSWORD
操作命令2:合成p12文件后,由于我们的WLC不能支持,所以要转换回.pem文件。
pkcs12 -in D:\All-certs.p12 -out D:\final-cert.pem -passin pass:PASSWORD -passout pass:PASSWORD

其中D:\表示你的证书所在的路径,PASSWORD表示您在StartSSL主页上定义的密码。 两行应该没有错误的执行。
为-passout参数配置的密码必须与在WLC上配置的证书密码参数相匹配。

八、导入证书到WLC

允许TFTP server,选择你证书的路径,打开WEB界面,Security→Web Auth→Certificate→勾选Download SSL Certificate,然后输入下面的类似信息

点击Apply按钮提交,成功安装证书后,需要重启WLC.

额外需要的网络配置:
您必须在guest vlan中配置您的DHCP和DNS服务器。 在DNS服务器上,您需要为wlc.domain.org设置指向IP地址2.2.2.2的区域条目。

原文地址:
https://www.burkard.it/2011/05/add-third-party-ssl-certificate-to-cisco-wlcs-web-authentication-page/

WLC-Download 3-party CA to WLC的更多相关文章

  1. WLC Crash采集什么信息?

    WLC和思科的路由器交换机不同,Cisco的WLC采用的是AireOS. 如果WLC crash或无故重启,可以尝试采集如下信息: AireOS WLC version 8.0.140.0 or hi ...

  2. iOS APNS配置(转)

    Introduction To send Push notification to an application/device couple you need an unique device tok ...

  3. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  4. "This connection is untrusted" - Firefox error message

    Error Messages I am receiving the following error message in Firefox: After selecting Cancel to clos ...

  5. (转)Apple Push Notification Services in iOS 6 Tutorial: Part 1/2

    转自:http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1 Upda ...

  6. Docker Data Center系列(三)- DTR安装指南

    本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 系统要求 1.1 硬件和软件要求 成为UCP管理的 ...

  7. expdp和impdp快速导出导入,不用创建虚拟目录

    expdp 和impdp不用创建虚拟目录:在cmd直接   expdp 用户名/密码 回车 就导出了,(如果提示输入用户名和密码就输入).再将导出的文件放在oracle默认的dpdump文件夹里面,然 ...

  8. Generate a Push Certificate

    To send Push notification to an application/device couple you need an unique device token (see the O ...

  9. 9-lvs-lvs集群-及keepalived健康检查

    注意: 配置前需要将上一篇的配置都清除掉 ifconfig eth1: down service ipvsadm restart nginx作为请求分发服务器时, 有健康检查机制, 挂了的服务器不会在 ...

随机推荐

  1. 概率dp poj2096

    /** dp求期望的题. 题意:一个软件有s个子系统,会产生n种bug. 某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中. 求找到所有的n种bug,且每个子系统都找到bug,这样 ...

  2. go之二进制协议gob和msgpack

    文章引用自 二进制协议gob和msgpack介绍 本文主要介绍二进制协议gob及msgpack的基本使用. 最近在写一个gin框架的session服务时遇到了一个问题,Go语言中的json包在序列化空 ...

  3. Vue.js 学习入门:介绍及安装

    Vue.js 是什么? Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层 ...

  4. 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)

    上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...

  5. 请描述一下 cookies,sessionStorage 和 localStorage 的区别

    原文:http://blog.csdn.net/lxcao/article/details/52809939 相同点:都存储在客户端不同点: 1.存储大小 cookie数据大小不能超过4k. sess ...

  6. SQL常用语句和函数

    从一个表中选取数据插入到另一个表中: select column_name(s) into new_table_name from old_table_name --new_table_name表不必 ...

  7. 一些基础但有趣的shell脚本

    一.打印9*9乘法表 #!/bin/bash for i in `seq 9` do for j in `seq $i` do echo -n "$i*$j=$[i*j]" don ...

  8. Bugku-CTF加密篇之 托马斯.杰斐逊

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdYAAAKLCAYAAABL4qnuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw ...

  9. 学习笔记(26)- plato-端到端模型-定闹钟

    今天用了定闹钟的场景语料,在plato框架尝试了端到端的模型. 本文先记录英文的训练过程,然后记录中文的训练过程. 训练端到端的模型 发现使用英文的模型,还是显示有中文,所以,新建目录,重新训练 1. ...

  10. JavaScript学习笔记之二

    一 js与json数据格式的转换:序列号与反序列化 JSON.stringify(jsobj, '  ');//将js的obj转换为json对象: JSON.parse()把json对象变成一个Jav ...