Golang LicenseServer授权服务器的设计 与 RSA 密钥对的应用
//TODO 待写文章
目录:
1.为什么要写授权服务器 LicenseServer
2.授权服务器的设计思路
3.授权服务器所使用到的加密技术
1.为什么要写授权服务器
为了防止别人拿到二进制后,自己搭建服务器,制作私服而损害公司利益;授权服务器只是增加破解难度而已,逆向破解二进制那也就没办法的,这里不考虑逆向。
2.授权服务器的设计思路
LS=LicenseServer
CS=CenterServer
LS使用HTTP协议,LS与CS之间使用RSA加密数据通信(不用HTTPS,因为要加上自己的密码)
流程是:
1.启动LS,监听HTTP端口 (同时加载 RSA私钥配置 ) ,LS与CS是完全隔离的。
2.启动CS,加载RSA公钥配置,加载程序写死密码,构造本机信息,结合写死密码首次加密,通过RSA公钥进行二次加密,发送给LS
3.LS收到消息,通过RSA私钥进行首次解密,结合写死密码二次解密(算法与CS保持一致),获得CS的启动信息,本地进行数据库查询,验证是否存在配置,存在返回OK,否则返回失败,使用RSA公钥签名,签名数据包含CS信息。
4.CS收到消息,通过RSA私钥,记性签名验证,成功,检查返回结果,OK,则启动,否则 授权失败,禁止启动。
LS使用RSA私钥进行数据的签名,CS验证数据合法性;CS发送信息包括RSA公钥,以及本机信息,和内存中的固定密码,利用RSA公钥加密数据,传送给LS让LS进行验证
ssh-keygen生成的默认密钥对格式,pem 和one-line pem格式
pkcs#1是什么
PKCS 全称是 Public-Key Cryptography Standards
参考链接:
PKCS 15 个标准 https://www.cnblogs.com/jtlgb/p/6762050.html
pkcs1与pkcs8格式RSA私钥互相转换 https://blog.csdn.net/duan19056/article/details/52104966
Golang LicenseServer授权服务器的设计 与 RSA 密钥对的应用的更多相关文章
- 使用Owin中间件搭建OAuth2.0认证授权服务器
前言 这里主要总结下本人最近半个月关于搭建OAuth2.0服务器工作的经验.至于为何需要OAuth2.0.为何是Owin.什么是Owin等问题,不再赘述.我假定读者是使用Asp.Net,并需要搭建OA ...
- [2014-11-11]使用Owin中间件搭建OAuth2.0认证授权服务器
前言 这里主要总结下本人最近半个月关于搭建OAuth2.0服务器工作的经验.至于为何需要OAuth2.0.为何是Owin.什么是Owin等问题,不再赘述.我假定读者是使用Asp.Net,并需要搭建OA ...
- 从壹开始 [ Id4 ] 之一║ 授权服务器 IdentityServer4 开篇讲&计划书
前言 哈喽大家周四好!时间过的很快,现在已经是三月份了,我的 IdentityServer4 教程也拖了一定的时间了,正好最近有精力学新东西了,主要中间被小伙伴要求写一个管理后台,目前1.0已经上线( ...
- Spring Boot Security OAuth2 实现支持JWT令牌的授权服务器
概要 之前的两篇文章,讲述了Spring Security 结合 OAuth2 .JWT 的使用,这一节要求对 OAuth2.JWT 有了解,若不清楚,先移步到下面两篇提前了解下. Spring Bo ...
- Spring Authorization Server 全新授权服务器整合使用
前言 Spring Authorization Server 是 Spring 团队最新开发适配 OAuth 协议的授权服务器项目,旨在替代原有的 Spring Security OAuth 经过半年 ...
- 如何添加并设置远程桌面(RD)授权服务器
上一篇日志中介绍了如何将现成的远程桌面授权服务器添加到对应的远程桌面回话主机中. 本篇日志将引导您如何添加配置相应的远程桌面授权服务器,这样就可以根据所购买的授权类型和授权级别添加需要甚至" ...
- 如何在Windows Server 2008 上添加RD (远程桌面)会话主机配置的远程桌面授权服务器
在Windows Server系列的现存活跃产品中都默认的会开放两个随机附送的远程控制的授权,而一些特殊条件下我们需要启用多个远程终端连接,在购买了相应的授权之后,我们如何将配置好的服务器添加到远程桌 ...
- Windows Server 2012 没有远程桌面授权服务器可以提供许可证,远程会话被中断
今天在登录公司内部的服务器的时候,无法进行远程访问. 弹出错误信息:没有远程桌面授权服务器可以提供许可证,远程会话被中断 经过网上的寻找,原来是server 2012 远程登录只提供120天的使用期限 ...
- 解决mstsc无法连接问题:由于没有远程桌面授权服务器可以提供许可证
一.故障案例① 今天上午在给测试组的IIS新增https的时候,发现远程弹出如下错误: 由于没有远程桌面授权服务器可以提供许可证,远程会话被中断.请跟服务器管理员联系. 度了度,原来也是很常见的一种错 ...
随机推荐
- Python_subprocess模块
subprocess中,允许生成新的进程,连接到input/output/error管道,并获取他们的返回(状态)码,主要用于替换os.system/os.spawn*几个旧的模块和方法 subpro ...
- Python_shelve模块
shelve:对象持久化的保存的模块,将对象保存到文件里 (默认的数据存储文件为二进制),可持久化任何pickle可支持的Python数据格式 shelve 中唯一的方法: shelve.open( ...
- selenium 常见面试题以及答案
1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如 ...
- js清除单选框所选的值
js清除单选框所选的值 $("input[type='radio']").removeAttr('checked');
- 亲和串 kmp
Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现 ...
- Python 获取计算机全名(fully qualified host name)
Python 获取计算机全名(fully qualified host name) import socket socket.getfqdn() socket.gethostname()
- ACM-ICPC 2018 南京赛区网络预赛 L 【分层图最短路】
<题目链接> 题目大意: 有N个城市,这些城市之间有M条有向边,每条边有权值,能够选择K条边 边权置为0,求1到N的最短距离. 解题分析: 分层图最短路模板题,将该图看成 K+1 层图,然 ...
- [ 高危 ]mt某站SQL注入
RANK 24 金币 24 等价RMB 240 与上一漏洞同源所以只有24 数据包: GET /check?clientId=64915 HTTP/1.1 Host: xxx.meituan. ...
- C# 的Chart
Axis Label 横纵坐标的文字 (比如 0 20 40 ....) Axis Title 横纵坐标的代表什么(比如 Y Axis Title) Chart Area 图标所在位置 Chart P ...
- 一道颇有难度的JavaScript题
上次分享了一道题,大家反响不错,很开心自己写的东西有人愿意花时间去看,也给了自己莫大的鼓舞,其实做题虽然不比真正的编程,但是也能够让你发现一些你之前没有注意到的语言层面的问题.所以,这次再分享一道稍微 ...