linux生成license,License生成秘钥

linux生成license,License生成秘钥一License简介开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了。不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直接生成一个新的license发送给使用方替换掉原来的license文件即可。下面将讲述使用truelicense来实现license的生成和使用。Truelicense是一个开…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一 License 简介

开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了。不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直接生成一个新的license发送给使用方替换掉原来的license文件即可。下面将讲述使用truelicense来实现license的生成和使用。Truelicense是一个开源的证书管理引擎,详细介绍见https://truelicense.java.net/

license于加密技术一起使用效果更好。https://www.cndba.cn/simon/article/2623

二 License使用方式

license授权机制的原理

1.生成密钥对,通过jdk 的 keytool.exe 工具生成。

2.授权者保留私钥,使用私钥对包含授权信息(如使用截止日期,MAC地址等)的license进行数字签名。

3.公钥给使用者(放在验证的代码中使用),用于验证license是否符合使用条件。

https://www.cndba.cn/simon/article/2623https://www.cndba.cn/simon/article/2623

Keytool生成秘钥

2:创建证书实例:

keytool -genkey -alias testPrivatekey -keystore testPrivatekeys.store -validity 3650

参数说明:

-genkey:生成密钥;

-alias:指定密钥对的别名,该别名是公开的;

-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个”.keystore”的文件

-validity:有效期(day)https://www.cndba.cn/simon/article/2623

如下图:

692dec1eb4b607f1ce76112d586bb56b.png

执行完上面命令后,会在bin目录下生成 testPrivatekeys.keystore 文件

https://www.cndba.cn/simon/article/2623

3:查看密钥库里面的证书

实例:

keytool -list -keystore testPrivatekeys.storehttps://www.cndba.cn/simon/article/2623

如下图:

ec0d8743c78235cf98c04909a182468b.png

4:导出到证书文件

把私匙库内的公匙导出到一个文件当中

将名为 testPrivatekeys.store的证书库中别名为 testPrivatekey 的证书条目导出到证书文件testCertfile.cer中

实例:

keytool -export -alias testPrivatekey -file testCertfile.cer -keystore testPrivatekeys.storehttps://www.cndba.cn/simon/article/2623

5:导入证书

把这个证书文件 testCertfile.cer 导入到公匙库

实例:

keytool -import -alias testPubliccert -file testCertfile.cer -keystore testPublicCerts.store

说明: 可以生成多个公钥。 如下所示:

keytool -import -alias testPubliccert2 -file testCertfile.cer -keystore testPublicCerts2.store

如下图:

47f3e0dc97fe6072eafb275cd7bef5fa.png

执行完上面命令后,会在bin目录下生成 testPublicCerts.store 文件

6:查看证书信息

keytool -printcert -file “testCertfile.cer”

https://www.cndba.cn/simon/article/2623

7:删除密钥库中的条目

keytool -delete -keystore testPrivatekeys.store -alias testPrivatekey

8:生成的私钥,公钥

最后生成文件 testPublicCerts.store , testPrivatekeys.store 拷贝出来备用。

从上面我们可以看到,密钥一共有两种:https://www.cndba.cn/simon/article/2623

<1> 密钥库,这个需要配置到服务器中。

<2> 密钥,这个需要保护好,是创建私钥的时候用的

版权声明:本文为博主原创文章,未经博主允许不得转载。

keytool license

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164382.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 超详细kali linux 设置固定IP地址步骤

    超详细kali linux 设置固定IP地址步骤kalilinux设置固定IP地址二,设置虚拟网络    &…

    2022年5月9日
  • Windows服务器IIS搭建网站

    Windows服务器IIS搭建网站概述:以下总结了学习IIS搭建网站的方法,先从基本使用IIS搭建网站,到本地使用域名访问网站,再配置路由器实现外网IP访问内网网站,以及使用动态域名外网访问内网网站,最后配置不同域名(IIS也叫主机名),相同IP,相同端口(80)的不同的网站的访问(注意域名不备案外网无法访问)!即输入以下域名可以访问相同端口(80)但不同的网站:127.0.0.1/test1——&gt;www.g…

    2022年5月20日
  • loadlibrary 失败的解决方法

    loadlibrary 失败的解决方法前段时间由于工作的电脑问题,只好重装电脑。然而,在我使用Qt尝试使用Loadlibrary动态调用DLL时却不成功,然后我使用Qt自带的动态调用API来尝试,依旧失败。起初觉得有点意外,搞了两天无果。后来才想起重装前曾经有装过某一个烧录工具,后来我尝试了一下,果然!Loadlibrary又调用成功了!我尝试找原因,结果我发现,原来Loadlibrary失败,是因为一个简单的原因,就是我没用

    2022年7月13日
  • C++stringstream的妙用「建议收藏」

    C++stringstream的妙用「建议收藏」1介绍C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。istringstream类用于执行C++风格的串流的输入操作。ostringstream类用于执行C风格的串流的输出操作。strstream类同时可以支持C风格的串流的输入输出操作。istringstream类是从istre…

    2022年5月9日
  • python 初中课程_8年级将新增Python课程内容

    python 初中课程_8年级将新增Python课程内容从2020年9月1日开始,浙江3~9年级信息技术课程将替换新的教材。其中变化较大的是,8年级将新增Python课程内容。这也就意味着:从今天起,Python正式成为浙江中学生信息技术必修课!新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法。网友们直呼:我连Excel都还没整明白,人家后浪们就开始学Python了。从的教材目录上我们可以看到,不止是初中,从小学阶段开始…

    2022年5月17日
  • C++增强for循环[通俗易懂]

    C++增强for循环[通俗易懂]for循环是常见的代码语句,常规的for循环如下#include<iostream>usingnamespacestd;intmain(){ intarray[]={1,1,2,3,5,8}; //常规for循环 for(inti=0;i<sizeof(array)/sizeof(array[0]);i++) { cout<<array[i]<<“”; } cou…

    2022年6月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号