背景

因公司安全基线需求,需要对一些落库值进行加密处理。

在之前项目的方案里,是通过 AES256 做了一些自定义处理,对值进行加密,其中密钥和偏移量都是由运维同事维护的。

为了更加安全,公司层面直接使用了阿里云的 KMS 服务。

跟阿里云业务人员沟通之后,最终决定使用企业版KMS:DKMS

然而,官方只有 Java 版本的 SDK

SDK实现

传送门

参考了官方 KMSSDK 之后,使用了其一些类库,实现了 PHP 版本的 DKMS SDK

TIPS:仅实现了 encryptdecrypt 两个接口。

protubuf

由于对方接口要求接收 protubuf 格式的数据,这里引入了相关的 google/protobuf 的类库。

当然,若环境本身已经安装了相关类库,也是可以的。

TIPS:php 的版本小于 7,不建议环境层面安装 protobuf 相关扩展。(因为部分方法不可用)。

同时,若环境层面有相关扩展,且 SDK 中也引入了相关类库,程序会优先使用环境层面的扩展。

cacert

可以从官方下载相关 ca证书 用于认证。

但是,ca证书 并不是每个环境都能校验通过,比如官方的 php:5.6-fpm-alpinephp:7.4.16-fpm-alpine 使用的 curl 类库依赖的 lib 库不同,最终导致在某些环境下认证失败。

最终不得不默认不验证。

laravel

传送门

由于公司主要以 laravel 框架为准,故这里也开发了 laravel 版本的 SDK

最后

使用 DKMS 的整体体验不是很好,主要是没有 SDK

阿里云的业务人员虽然给了一个接口文档,但上面的一些介绍和 SDK(Java) 的有些许出入,最后还是通过阅读 Java 版本的 SDK 写出来的。

同时,其 ca证书 也给我造成了不少麻烦,最终也是以忽略验证结尾的。

最后,就是 PHP 版本的相关类库明显写的没那么用心,有些参数设置了跟没设置是一样的。

有兴趣的朋友可以自行看源码。

阿里云DKMS对接记录相关推荐

  1. 阿里云视频点播-对接注意点

    阿里云视频点播-对接注意点 ​ 对接接阿里云的视频点播过程有点繁琐,做个记录以便以后查阅 一.分发加速配置-域名管理 ​ 配置成功的前提是自己先要有个主域名,并且成功备案. 1.先配置一个域名 2.配 ...

  2. 动态更新阿里云DDNS解析记录的IPv6地址,随时随地用域名远程访问自己的电脑【如何远程访问家里的电脑】

    远程访问电脑 日志 简介 要求 1. 获取两台电脑 2.IPv6网络 2.1检查光猫 2.2检查路由器 2.3配置电脑防火墙 2.3.1添加ICMPv6协议 2.3.2配置SMB协议 2.4配置远程桌 ...

  3. JIRA实践系列-JIRA与阿里云效对接指南

    JIRA实践系列-JIRA与阿里云效对接指南,拧出部分重点关联接口,便于快速上手. 一.API对照关系 api名称 云效 JIRA 创建项目 CreateDevopsProject /rest/api ...

  4. 阿里云域名解析和记录值

    当我们注册好域名后紧接着就是域名解析了,一般的国内域名是需要进行备案的,所以解析域名是非常重要的,因为解析域名的目的是把域名解析到IP上,让人可以进行访问.下面我们就来说说解析域名中的记录值该怎么选择 ...

  5. python实现批量变更阿里云DNS解析记录状态

    包含两个脚本,一个是阿里云和维格表的同步脚本ali_dns.py,另一个是执行阿里云解析记录的开启暂停脚本ali_modify.py. 使用阿里云的sdk,ali_dns.py将所有域名解析拉取后写入 ...

  6. H3C对接外部Portal+Radius认证计费系统实现mac-trigger快速认证Mac无感知认证并结合L2TP实现阿里云部署对接配置

    H3C对接外部Portal认证+Radius认证计费系统平台 实现基于mac-trigger快速认证协议的Mac无感知认证功能 并结合L2TP实现阿里云部署 实现AD域LDAP对接,实现用户名密码实名 ...

  7. 阿里高可用mysql搭建方案_阿里云环境迁移记录 - MYSQL高可用搭建

    MYSQL高可用方案主要分为两大类,一类是前置管理,一类是后置管理. 前置管理的思想是利用各种前置管理工具,动态切换或者分发请求到不同的实例并切换master,如keepalived.MHA.pack ...

  8. 阿里云debian mysql_记录下在阿里云linux上安装与配置Mysql

    环境:阿里云ECS服务器,系统为centos7.2 用户:root 参考博客:https://blog.csdn.net/kunzai6/article/details/81938613 师兄的哈哈哈 ...

  9. 阿里云kafka使用记录(python版本)

    kafka端 consumer vpc版代码 import socket from kafka import KafkaConsumer from kafka.errors import KafkaE ...

  10. 饥荒 阿里云服务器搭建记录

    获得一个服务器 我选的是阿里云学生免费体验的服务器 ubuntu 4核(vCPU) 8 GiB 3Mbps 带宽 饥荒 照搬的 饥荒云服务器搭建流程[Steam][阿里云] 安装工具 sudo apt ...

最新文章

  1. Xamarin.Forms的基本页面和基本视图
  2. jquery+javascript触发a标签的点击事件
  3. oracle进程内存不足1046552,ora-04030 进程内存不足解决方案
  4. 领域应用 | 为电商而生的知识图谱,如何感应用户需求?
  5. 计算机网络——电子邮件
  6. @SuppressWarnings(resource)
  7. MATLAB 积分 上限为变量,matlab 求定积分,积分的上限是变量,函数带有其他参数
  8. 多种方式Map集合遍历
  9. php笔刷怎么安装,ps笔刷怎么用?PS笔刷使用教程
  10. 林期苏曼属性标签编辑_CAD技巧之增强属性编辑器 属性文字
  11. 计算机格式化后,电脑格式化后需要重装系统吗_格式化电脑重装系统的方法步骤...
  12. 制作ROS小车系列(一)——小车底盘制作(麦科勒姆轮地盘)
  13. 计算机设备预计净残值,【电子设备折旧年限及残值率】
  14. wine下微信中文乱码修订
  15. 怎样用电池给铁锅作防锈
  16. C#随机函数Radom问题详解
  17. Day-8 bootstrap 徽章、进度条、分页、列表组
  18. 多元(二元)函数极限的存在性问题
  19. python中变量无须先创建和赋值而直接使用_python综合练习1
  20. MU-MIMO是什么

热门文章

  1. 物联网技术-RFID
  2. 森松尼N-J60双模机械键盘按键操作说明
  3. 腾讯云服务器利用镜像部署WordPress个人网站
  4. 2020中国互联网十大人物
  5. 商鞅的APP运营之道
  6. 微信公众号运营推广用户主动分享背后的秘密
  7. 数商云营销渠道管理系统解决方案:企业级营销系统类型、定位、管理
  8. VUE-Cli报No Babel config file detected错误的一系列解决方法
  9. 企查查等人物关系图谱、企业图谱等效果
  10. 《吴忠与富富平》之一:秦统一前后的吴忠及秦汉对吴忠地区的开发