专栏首页加菲猫的VFP搞定需要HTTPS证书访问的WebAPI

搞定需要HTTPS证书访问的WebAPI

有些需要WEBAPI的调用需要用证书,证书一般是cer或者p12格式的,本文教你怎么搞定VFP访问HTTPS WEBAPI.

祺佑三层开发框架(猫框)发布的VFPBS,如果需要HTTPS,证书也是像图片这样安装。

以一个电子零售的WEBAPI为例来说明:

可以看到有cer,和p12的证书,p12证书的密码在那个文本文本中

1 打开控制台,进行证书管理

点击开始菜单->运行->mmc

2 导入证书

这里实际应是p12的证书

3 开始调用HTTPS WEBAPI

上面获取到OU的值是SmartStore

loXmlHttp = createobject("Msxml2.XMLHTTP")
loXmlHttp.setOption(3) = "LOCAL_MACHINE\My\SmartStore" &&注意这里证书路径
loXmlHttp.open("post", sendurl, .F.)   &&&	
loXmlHttp.setRequestHeader("Content-Type","application/json;charset=utf-8")   &&text/xml;charset=utf-8  Content-Type: application/x-www-form-urlencoded
loXmlHttp.setRequestHeader("charset", "utf-8")
TRY 
loXmlHttp.send(tmplData)

这样就成功完成加载证书,就可以正确调用HTTPS WEBAPI

4 让上面的过程自动化

首先到微软网站上下载并安装winhttpcertcfg.exe文件,下载链接:http://www.microsoft.com/en-us/download/details.aspx?id=19801

安装winhttpcertcfg.exe后,找到其安装目录,一般是:C:\Program Files (x86)\Windows Resource Kits\Tools,将winhttpcertcfg.exe拷贝一份到证书文件所在的目录中;

运行CMD命令行后,在命令行中转到证书所在的目录,然后运行:

winhttpcertcfg -g -i "apiclient_cert.p12" -c LOCAL_MACHINE\My -a "Network Service" -p password

winhttpcertcfg -g -c LOCAL_MACHINE\My -s "SmartStore" -a "Network Service"

winhttpcertcfg -g -c LOCAL_MACHINE\My -s "SmartStore" -a "EveryOne"

备注说明:以上命令行中的第1行中password为你的证书密码,密码一般设置为商户号;第2、3行中的SmartStore为证书名称 

提醒:以上命令行中的减号,双引号都为英文半角状态,如果您发现直接复制以上命令运行后,提示的是使用方法,那么说明复制的不行,请手动输入。为了方便您复制,代码形式的再补充一份:

winhttpcertcfg -g -i "apiclient_cert.p12" -c LOCAL_MACHINE\My -a "Network Service" -p password  
winhttpcertcfg -g -c LOCAL_MACHINE\My -s "SmartStore" -a "Network Service"  
winhttpcertcfg -g -c LOCAL_MACHINE\My -s "SmartStore" -a "EveryOne"  

本文分享自微信公众号 - 加菲猫的VFP(VFPPLUS),作者:加菲猫的VFP

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-10-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快速入门系列--WebAPI--01基础

    ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的...

    用户1216676
  • ASP.NET WebApi 基于OAuth2.0实现Token签名认证

    跟着阿笨一起玩NET
  • 旧话重提:IIS将http强制https访问的正确方法

    我以前写过《DTcms4/5中使用HttpModule将http访问301重定向到https》,也写过《使用Certify来自动申请并配置Let’s Encry...

    崔文远TroyCui
  • 微信小程序开发 (资料汇总,谁还没被坑过?希望助你绕过一些坑)

    最近帮人家做一个微信小程序,刚好想熟悉一下。由于牵扯到多用户使用系统,以及数据共享,所以自然架构选择了,客户端和服务器的方式。

    麦克-堂
  • dotnet core 微服务教程

      --no-https :表示这个应用运行的时候不需要https证书,这是为了部署时方便

    Vincent-yuan
  • asp dotnet core 从零开始创建一个 WebApi 服务

    本文将从最简单开始,新从全控制台开始创建一个 WebApi 服务,然后再使用 VisualStudio 创建服务

    林德熙
  • 使用Identity Server 4建立Authorization Server (2)

    第一部分主要是建立了一个简单的Identity Server. 接下来继续: 建立Web Api项目 如图可以在同一个解决方案下建立一个web api项目: ?...

    solenovex
  • Identity Server4学习系列一

    今天开始学习Identity Server4,顺便了解下.Net Core,以便于完善技术栈,最主要的是要跟上.Net的发展潮流,顺便帮助各位整理下官方文档,加...

    郑小超.
  • VB.NET ASP.NET WebAPI及应用(三)使用Mysql数据库简单的用户登录注册取数据WebAPI

    一,首先我们要在数据库里面创建一个简单用户表(角色表等其他表需要的自行创建,这里只做演示,就创建一个简单的用户表)

    巴西_prince
  • ABP入门系列(16)——通过webapi与系统进行交互

    源码路径:Github-LearningMpaAbp 1. 引言 上一节我们讲解了如何创建微信公众号模块,这一节我们就继续跟进,来讲一讲公众号模块如何与系统...

    圣杰
  • 再见 HTTP!!!

    可惜一直没搞备案和 HTTPS,导致每次访问都提示不安全,感觉怪别扭的,见上图中红色框框部分。

    沉默王二
  • linux、nginx部署https证书

    最近服务器的https证书过期了,所以重新申请证书,然后将证书下载到本地,因为是免费的所以要手动下载,这个证书因为免费所以不会自动续费延期,所以这玩意儿必须每年...

    挥刀北上
  • 5秒解决Https请求 未能创建 SSL/TLS 安全通道

    我们在使用代码调用https数据时,有时会出现:未能创建 SSL/TLS 安全通道的问题。这个问题一般是和SSL证书有关,网上有很多解决办法,今天说一种特别的,...

    用户1219352
  • Linux+Nginx/Apache/Tomcat新增SSL证书,开启https访问教程

    上上篇文章《nginx 平滑升级&新增模块》提到了公司的 https 访问需求。当我新增了 SSL 模块之后,却发现以前还真没部署过 https 访问。 下面整...

    张戈
  • Nginx配置SSL实现https请求并重定向http请求的实现

    因为我的网站是部署在腾讯云上的,腾讯云同时也提供了免费的SSL证书(有效期1年)。

    Bug生活2048
  • 今天来说一下 IIS - HTTP转HTTPS问题

    本人有稍许强迫症,访问网址时HTTP前面带个了叉,说什么不安全网站,看起来也不舒服,又提示个不安全

    Shunnet
  • 30分钟让网站支持HTTPS

    我不是安全专家也不是搞服务器的,所以这对我而言也是一种有趣的经历,而记录这个过程可以让其他任何人也能很快地做到这些。包括一些暂时的停顿时间,我总共只花了20-3...

    哲洛不闹
  • ASP.NET Core Web API 与 SSL

    solenovex
  • 手把手搭建WebRTC测试环境,实现1对1视频通话

    疫情除了火了电商直播、短视频也火了视频会议,其中看zoom和声网市值就能窥探实时音视频的目前发展情况。其中视频会议相关的技术栈基本都是建立在WebRTC基础上,...

    潇湘落木

扫码关注云+社区

领取腾讯云代金券