license的生成使用
<h1>生成证书</h1>
<ul>
<li>在windows命令窗口输入生成命令:
<pre><code>keytool -genkeypair -keysize 1024 -validity 3650 -alias "yiranPrivateKey" -keystore "yiranPrivateKey.keystore" -storepass "public_yiran_password1234" -keypass "private_yiran_password1234" -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN"
说明:私钥别名:yiranPrivateKey(自己定义)public_yiran_password1234(公钥密码) private_yiran_password1234(私钥密码)</code></pre>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/02894bff973158cad690c91d99788666?showdoc=.jpg" alt="" /></p></li>
<li>导出XXX.cer文件
<pre><code>keytool -exportcert -alias "yiranPrivateKey" -keystore "yiranPrivateKey.keystore" -storepass "public_yiran_password1234" -file "yirancertfile.cer"</code></pre>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/e8ad90d6f9faeefffdbad183a6d5f83d?showdoc=.jpg" alt="" /></p></li>
<li>导入命令
<pre><code>keytool -import -alias "yiranPublicCert" -file "yirancertfile.cer" -keystore "yiranPublicCert.keystore" -storepass "public_yiran_password1234"</code></pre>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/1287bc7765adb12ff1a0c2584b0a8815?showdoc=.jpg" alt="" />
这三个文件就是我们需要的证书
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3e7a8f54f7fd1803839c5a6d515701ae?showdoc=.jpg" alt="" /></p>
<h1>根据证书生成license</h1>
<p>1.启动项目报错如下错误是因为程序证书没有安装或者证书错误。不影响基本操作,但是有些功能可能用不了。这个时候我们需要生成license
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/93a41dc718cda3db19891ef8eb0f926d?showdoc=.jpg" alt="" /></p></li>
</ul>
<h2>license生成方法</h2>
<p>1.获取应用服务器信息(ip,mac,cpu...)
<a href="http://localhost:8083/license/getServerInfos">http://localhost:8083/license/getServerInfos</a></p>
<pre><code>{
"ipAddress": [
"172.0.0.1"
],
"macAddress": [
"52-54-0A-E5-DE-C7"
],
"cpuSerial": "FF 08 04 00 FA FB 8B 1F",
"mainBoardSerial": "4459bc5e-e32f-4609-a15a-a65cffae74b2"
}</code></pre>
<p>2.生成license文件
<a href="http://localhost:8083/license/generateLicense">http://localhost:8083/license/generateLicense</a>
请求参数:</p>
<pre><code>{
"subject": "依然快速开发平台",
"privateAlias": "yiranPrivateKey",
"keyPass": "private_yiran_password1234",
"storePass": "public_yiran_password1234",
"licensePath": "/opt/license/license.lic",
"privateKeysStorePath":"/opt/license/keys/yiranPrivateKey.keystore",
"issuedTime": "2019-11-02 00:00:01",
"expiryTime": "2023-11-02 23:59:59",
"consumerType": "User",
"consumerAmount": 1,
"description": "依然快速开发平台",
"licenseCheckModel": {
"ipAddress": ["172.17.0.12"],
"macAddress": ["52-54-00-E5-D4-C7"],
"cpuSerial": "F1 06 04 00 FF FB 8B 1F",
"mainBoardSerial": "4459bc5e-e32f-4609-a15a-a65cffae74b2"
}
}</code></pre>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">subject</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>主题</td>
</tr>
<tr>
<td style="text-align: left;">privateAlias</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>私钥别名(创建证书时设置的)</td>
</tr>
<tr>
<td style="text-align: left;">keyPass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>私钥密码(创建证书时设置的)</td>
</tr>
<tr>
<td style="text-align: left;">storePass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>公钥密码(创建证书时设置的)</td>
</tr>
<tr>
<td style="text-align: left;">licensePath</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>license保存路径</td>
</tr>
<tr>
<td style="text-align: left;">privateKeysStorePath</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>yiranPrivateKey路径</td>
</tr>
<tr>
<td style="text-align: left;">issuedTime</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>生效时间</td>
</tr>
<tr>
<td style="text-align: left;">expiryTime</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>失效时间</td>
</tr>
<tr>
<td style="text-align: left;">consumerType</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>使用者类型</td>
</tr>
<tr>
<td style="text-align: left;">consumerAmount</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>使用流量</td>
</tr>
<tr>
<td style="text-align: left;">description</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>描述</td>
</tr>
<tr>
<td style="text-align: left;">licenseCheckModel</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>许可证检查模型(第一个接口获取的服务器的参数)</td>
</tr>
</tbody>
</table>
<p>3.license放到指定的目录,重新启动就不会报错了。</p>
<h2>license在项目中的配置</h2>
<p>在项目中添加证书验证的路径的方法:
在WebMvcConfig类中添加
<img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3eacfeba0609c8b066e5a60a47bb0656?showdoc=.jpg" alt="" /></p>