用于新天地棋牌置备的Cisco ISE API

这是编写脚本的演练,该脚本利用新天地棋牌颁发机构RESTful API生成新天地棋牌对。

当我们在1.3版的思科ISE中添加新天地棋牌颁发机构(CA)时,该领域引起了极大的关注。公司一直在寻找该功能,以使BYOD和来自端点的安全网络访问更加安全,对此功能引起了很多关注。

当这个举着ISE内置CA的“标志”遍及世界的家伙–将我的信息传达给所有高管时,我发现它为什么如此重要,我自然会欣喜若狂地看到我成功的事情自成立以来一直倡导和培养。

但是,与所有内容一样,始终需要更多!全世界的ISE管理员都认为这对能够启动的设备非常有用,但是他们需要向无法通过自动启动过程的设备(例如,医疗设备,销售点系统,Linux)颁发终结点新天地棋牌。等

“让它如此”-让·卢克·皮卡德

在ISE 1.4中,我们为CA添加了RESTful(代表状态传输)API,以发布私钥+公新天地棋牌对。这篇博客文章专门向您展示如何利用RESTful API并为无法使用BYOD入职流程的自动置备功能的设备生成自己的新天地棋牌。

主要呼吁维克多·阿什(Victor Ashe),他是我们负责此CA的小组摇滚明星中的关键团队之一。 Victor是我将在此博客中向您展示的内容的原始作者。谢谢,维克多!

 演说家 瓦尔·基尔默(Val Kilmer),壮志凌云

维克多·阿什

您(当然)可以构建一个完善的Web门户,利用该API为组织中的人员生成新天地棋牌。但是,我将向您展示如何在任何使用CURL的Linux或MAC设备上使用简单脚本执行此操作。您可能可以将其与带有CURL for Windows的Windows设备一起使用,但我不愿意这样做-因此它不会成为博客的一部分:)

让我们开始吧

REST有很多可用的工具,因此请记住,我们使用curl而不是基于浏览器的REST Client(例如Poster,Postman等)是有原因的。基于浏览器的客户端只是将响应主体作为文本吐出来,并且还不够聪明,无法将其视为文件并让您下载。

您将在Linux / MAC工作站上创建两个文件。我们将其中一个称为request.sh,另一个称为有效负载。 request.sh 脚本包含CURL命令,该命令将信息放入API中以检索新天地棋牌对。有效负载文件包含您尝试生成的新天地棋牌的详细信息。

request.sh :
curl -X PUT -H“授权:基本YXBpdXNlcjpoaXNwYXNzd29yZA ==” -H“接受:application / vnd.com.cisco.ise.ca.endpointcert.1.0 + xml; charset = utf-8” -H“内容类型: application / vnd.com.cisco.ise.ca.endpointcert.1.0 + xml; charset = utf-8“ --data @payload -v-不安全 http:// _<Your_ISE_Node>:9060 / ers / config / endpointcert / certRequest > result.zip

有效载荷 :
<?xml版本=“ 1.0”编码=“ UTF-8”独立=“是”?>
<ns3:endpointcert description =“在ERS中创建” xmlns:ns2 =“ ers.ise.cisco.com” xmlns:ns3 =“ ca.ers.ise.cisco.com”>
 <certTemplateName>EAP_Authentication_Certificate_Template</certTemplateName>
  <certificateRequest>
   <entry>
    <key>san</key>
    <value>11-22-33-44-55-66</value>
   </entry>
   <entry>
    <key>cn</key>
    <value>test</value>
   </entry>
  </certificateRequest>
  <format>PKCS12</format>
  <password>Cisco123</password>
</ns3:endpointcert>

生成的zip文件(或失败时出现的任何错误消息)将显示在一个名为  result.zip 。因此,如果响应状态不是200正常(也许是400错误的请求),则 result.zip  文件将只是一个文本文件,因此请在文本编辑器中将其打开以查看错误消息。

请求(如上所示)中需要Accept和Content-Type标头,它们具有相同的值。这在文档页面(如下所述)上显示。授权标头是基本访问授权标头。此标头的值应为:

基本的<“用户名:密码”的基本64位编码>

对于base 64编码,您可以转到这样的站点 //www.base64encode.org/  (如图2所示),然后转到顶部的“编码”标签。输入您的用户名和密码,并用冒号(例如apiuser:hispassword)分隔,然后点击编码按钮。您会看到类似YXBpdXNlcjpoaXNwYXNzd29yZA ==的内容。这样,“ Authorization”标头的值将为“ 基本的YXBpdXNlcjpoaXNwYXNzd29yZA ==”。如上所示,在curl命令中。

 base64encode base64encode .org

图1-BASE64编码器

在使用脚本之前,您需要在ISE部署上启用ERS。导航: 行政> System > Settings > ERS Settings。如图2所示,在Primary Administrative Node上启用ERS。不要忘记单击 保存 .

 促成因素 亚伦·T·沃兰德

图2-启用ERS

该页面还将显示ERS文档的URL。该网址应为 http:// _<your_ise_node>:9060/ers/sdk

该文档页面包含很多信息。最有用的页面应该是:


快速参考> Setting up
快速参考> Request Headers
API文档>终点新天地棋牌

除了启用ERS API外,您还将需要ERS管理员级别的用户。导航: 行政> System > Admin Access > Administrators > Admin Users 。 请点击 并设置一个与图3类似的ERS Admin用户。不要忘记单击 保存 。这是需要转换为BASE64并插入到request.sh脚本中的用户名和密码。

 管理员 亚伦·T·沃兰德

图3-ersadmin

您还需要新天地棋牌模板供CA使用。您可以使用所有ISE 1.3安装的内置新天地棋牌模板“ EAP_Authentication_Certificate_Template”,也可以为您的环境创建自己的全新模板。

图4显示了我用于此博客文章的自定义模板。您必须在certTemplateName部分的有效负载文件中指定模板名称。

 atw模板 亚伦·T·沃兰德

图4-自定义模板

让我们来看一个例子

我创建了一个名为request.sh的文件。该文件的内容如图5所示。

 Request.sh 亚伦·T·沃兰德

图5-Request.sh

我还创建了一个名为有效负载的文件。内容如图6所示。

 有效载荷 亚伦·T·沃兰德

图6-有效负载

现在,我运行request.sh文件,如图7所示。

 脚本运行 亚伦·T·沃兰德

图7-脚本输出

图8显示了生成的zip文件和提取的新天地棋牌链(p12文件)。

产生的钥匙串 亚伦·T·沃兰德

图8-

再一次,我要感谢Val Kilmer,呃...我是说Victor Ashe,感谢他的剧本和出色的ISE CA团队,感谢他们持续的辛勤工作和一流的交付。

亚伦·T·沃兰德
加入以下网络世界社区 脸书 领英 对最重要的话题发表评论。

版权 © 2015 IDG通讯 ,Inc.