前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云免费SSL证书扩展文件含义

腾讯云免费SSL证书扩展文件含义

原创
作者头像
研究僧
修改于 2022-07-02 14:00:19
修改于 2022-07-02 14:00:19
7.6K0
举报

背景

最近有网友反馈腾讯云 API Explorer工具,通过API上传证书(https://console.cloud.tencent.com/api/explorer?Product=ssl&Version=2019-12-05&Action=UploadCertificate&SignVersion=) 报错。 腾讯云SSL证书产品,可以管理自己的SSL证书也可以托管其他厂商发的SSL证书文件,如果托管的SSL证书文件比较多时是可以通过API来上传的,同时也可以通过控制台(https://console.cloud.tencent.com/ssl)的上传SSL证书来最终托管证书文件。以下为用户反馈的内容,通过API Explorer上传报异常错误。

用户反馈问题(图1)
用户反馈问题(图1)

这里经过排查最终的原因是,在API Explorer工具是单行输入证书体验,而实际的SSL证书文件内容是多行且有换行,换行在urlencode时会转义,最终影响接口不识别导致报错,这里优化的方案一方面是纠正转义问题,再就是把单行改为多行输入文本,方便肉眼可以看到,增强这里的用户体验。

API Explorer上传证书,优化前的体验(图2)
API Explorer上传证书,优化前的体验(图2)
API Explorer上传证书,优化后的体验(图3)
API Explorer上传证书,优化后的体验(图3)

问题

笔者在复现用户的问题时也发现了这里新的体验问题,如果你申请过腾讯云的免费SSL证书的话(https://console.cloud.tencent.com/ssl) ,申请通过后下载SSL证书的效果如下。

免费证书下载(图4)
免费证书下载(图4)

以下载Nginx为例,最终下载后的证书文件,截图如下。

Nginx免费证书,下载后解压内容(图5)
Nginx免费证书,下载后解压内容(图5)

我们可以看到这里Nginx免费证书下载后(图4) 和API Explorer工具上传证书描述不一致(图2) ,其中API Explorer工具是让输入公钥(CertificatePublicKey)和私钥(CertificatePrivateKey)与扩展名对应不上,当然如果是一个老手这里肯定不会难住,如果是一个新手就会出现问题,不知道如何填写。其实腾讯云的免费证书是通过TrustAsia等CA机构颁发的TLS/SSL证书,共分为四个文件pem/crt/key/csr,以下是不同文件的含义和对应API Explorer的内容。

证书扩展名

含义

在API Explorer上传时对应的文件名

crt

申请者使用自己的身份与公钥生成CSR文件(certificate signing request),请求CA给自己颁发用CA私钥签名过的证书

pem

pem只是一种编码方式,内容与csr文件内容一致(公钥)

csr

csr包含ssl证书拥有者身份与公钥等信息

公钥(CertificatePublicKey)

key

私钥

私钥(CertificatePrivateKey)

四个证书文件MD5值(图5)
四个证书文件MD5值(图5)

解决方案

API Explorer工具不同秘钥对应的文件扩展名。关于这里的体验我们也在持续优化中,如果您有关于腾讯云体验问题也可以给我留言。

API Explorer文件对应证书名(图7)
API Explorer文件对应证书名(图7)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
设计模式-命令模式
命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。
码哥字节
2021/07/27
3770
[设计模式] 命令模式
假定我们定义一个宏命令实现回家后的一个智能操作:包含开灯和开电视,并要求它支持撤销能力。
架构探险之道
2019/08/26
4230
[设计模式] 命令模式
重温设计模式 --- 命令模式
命令模式是一种行为型设计模式,它将请求封装成一个对象,从而允许你将不同的请求对客户端参数化,将请求排队或记录请求日志,以及支持可撤销的操作。
Niuery Diary
2023/10/22
1770
重温设计模式 --- 命令模式
设计模式-命令模式
命令模式(Command Pattern)是一种行为型设计模式,它将请求封装成一个对象,从而允许使用不同的请求、队列或者日志来参数化其他对象。命令模式支持撤销操作,它的核心思想就是将一个请求封装为一个对象,然后通过不同的命令对象来执行请求。
堕落飞鸟
2023/05/04
2630
图解Java设计模式之命令模式
对原理类图的说明 : 1)Invoker 是调用者角色 2)Command :是命令角色,需要执行的所有命令都在这里,可以是或抽象类 3)Receiver :接受者角色,知道如何实施和执行一个请求相关的操作 4)ConcreteCommand :将一个接受者对象与一个动作绑定,调用接受者相应的操作,实现execute
海仔
2020/04/01
4780
图解Java设计模式之命令模式
设计模式-命令模式
Client:确定具体的命令和接受者; Command:抽象命令接口,一般是接口类或者抽象类 ConcreteCommand:具体的命令执行,调用接受者 Invoker:请求者,把命令封装进行请求,调用 action 方法 Receiver:接受者,被具体的命令调用,一般任何类都可以担当
breezedancer
2018/09/12
6060
设计模式-命令模式
工厂模式
老板:阿飞啊,我们公司最近接了个项目,你看着设计一下,我给你说下需求。 项目组长阿飞:好啊,什么需求? 老板:我们找了一个合作的商铺,他们要设计一套面包销售系统。主要功能,根据用户选择的面包种类来下订单,面包目前有奶油口味面包和苹果口味面包,所有面包的制作流程都是---搅拌,搓圆,加工,烘烤。 项目组长阿飞:好的,我去想想怎么设计。 项目组长阿飞:小三啊,我给你个任务,…………,听懂了吗? 阿三:听懂了,飞哥。 项目组长阿飞:嗯嗯,好的,这个任务就交给你了,我要去处理点事情,我相信你。 阿三:。。。 三天过后。 阿三:飞哥,设计好了,你看下。
杨小杰
2019/07/04
2860
工厂模式
Java设计模式之命令模式
智能生活项目需求:我们买了一套智能家电,与照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装一个app就可以控制这些家电工作。
shaoshaossm
2022/12/27
3890
Java设计模式之命令模式
设计模式之命令模式(二)
我们通过一个简单的练习,完成了一个控制开关。那现在,我们打算将遥控器的每个插槽,对应到一个命令这样就要遥控器变成“调用者”。当按下按钮,相应命令对象的execute()方法就会被调用,其结果就是,接收者(例如电灯、风扇、音响)的动作被调用。
程序员小跃
2019/12/25
4580
命令模式
如上述代码所示,我一共写了两种的电器,一种是点灯,一种是电视,小伙伴们在测试的时候完全可以先写一种,然后再去写第二种,体验一下命令模式的可扩展性,并且它是遵循OCP原则的。
@派大星
2023/06/28
1580
命令模式
装饰者模式
动态地将责任附加到对象上,若要拓展功能,装饰者提供了比继承更有弹性的替代方案对于设计模式。
杨小杰
2019/07/04
3780
抽象工厂模式
老板:阿飞,上次面包店老板找我聊了一下,他们是大规模的从各大小原料商铺进的原料,出现了好多偷工减料的情况,现在他们做大了,想自己开几个原料提供点,如果中国的顾客去买,发现原料用尽,就要去找中国原料提供点,拿原料,这个功能看看好不好实现,如果好实现,你就开始做吧!
杨小杰
2019/07/04
4610
抽象工厂模式
框架创建中常见设计模式-模板方法模式
钩子是一种被声明在抽象类中的方法,但只有空的或者默认实现,钩子的存在,可以让子类有能力对算法的不同点进行挂钩,要不要挂钩,由子类自行决定。
杨小杰
2019/07/04
3390
适配器模式
1.缺少兔子类对象,先用狗类冒充一下 2.不会让客户调用兔子类的方法,发生改变(例如在客户调用的方法内做判断如果是某个值,去调用狗类的方法,去冒充兔子类)
杨小杰
2019/07/04
5790
命令模式.
Topic:我们要制作一个简易的遥控器,有两个控制灯开关的按钮,并有一个操作回退按钮。
JMCui
2018/12/19
2900
03.如何实现一个遥控器-命令模式
本篇所有示例程序下载: 【设计模式】03.命令模式_博客园jackson0714.zip 命令模式:将请求封装成对象,这可以让你使用不同的请求,这可以让你使用不同的请求、队列,或者日志请求来参数化其他对象。命令模式也可以支持撤销操作。当需要将发出请求的对象和执行请求的对象解耦的时候,使用命令模式。 在本章,我们将把封装带到一个全新的境界:把方法调用(method invocation) 封装起来。没错,通过封装方法调用,我们可以把运算块包装成形。所以调用此运算的对象不需要关心事情是如何进行的,只要知道如何使
悟空聊架构
2018/05/18
1.1K0
使用 C# (.NET Core) 实现命令设计模式 (Command Pattern)
本文的概念内容来自深入浅出设计模式一书. 项目需求 有这样一个可编程的新型遥控器, 它有7个可编程插槽, 每个插槽可连接不同的家用电器设备. 每个插槽对应两个按钮: 开, 关(ON, OFF). 此外
solenovex
2018/04/16
1.2K0
使用 C# (.NET Core) 实现命令设计模式 (Command Pattern)
设计模式--02.命令模式
命令模式是把对象的操作方法分成一个命令,分别去执行。在分布式环境中,熔断和降级组件使用的设计模式就是命令模式。
付威
2020/02/17
4020
设计之禅——我只要结果(命令模式)
生活中我们会接收到各种各样的命令,也会发出各种各样的命令,虽然命令的事情都各不相同,但是都具有一个共同的特质,那就是对于发出命令的人而言他不需要知道你是怎么实现的,他只要得到结果就行了,相信大家都会常听到BOSS这样对自己说(当老板真好啊!)。那么,我们在写程序时,如果能将请求的调用和请求的执行解耦,对于客户端而言就不用再关心后台复杂的实现逻辑了,因此,命令模式也就应运而生。
夜勿语
2020/09/07
4080
命令模式,这么学就很简单!
命令模式是一种行为型设计模式,核心是将每种请求或操作封装为一个独立的对象,从而可以集中管理这些请求或操作,比如将请求队列化依次执行、或者对操作进行记录和撤销。
程序员鱼皮
2024/01/03
2720
命令模式,这么学就很简单!
相关推荐
设计模式-命令模式
更多 >
目录
  • 背景
  • 问题
  • 解决方案
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档