|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.wms.system.license.entity.license; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import de.schlichtherle.license.AbstractKeyStoreParam; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自定义KeyStoreParam,用于将公私钥存储文件存放到其他磁盘位置而不是项目中 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class CustomKeyStoreParam extends AbstractKeyStoreParam { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 公钥/私钥在磁盘上的存储路径 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private String storePath; | 
|---|
|  |  |  | private String alias; | 
|---|
|  |  |  | private String storePwd; | 
|---|
|  |  |  | private String keyPwd; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public CustomKeyStoreParam(Class clazz, String resource, String alias, String storePwd, String keyPwd) { | 
|---|
|  |  |  | super(clazz, resource); | 
|---|
|  |  |  | this.storePath = resource; | 
|---|
|  |  |  | this.alias = alias; | 
|---|
|  |  |  | this.storePwd = storePwd; | 
|---|
|  |  |  | this.keyPwd = keyPwd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String getAlias() { | 
|---|
|  |  |  | return alias; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String getStorePwd() { | 
|---|
|  |  |  | return storePwd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String getKeyPwd() { | 
|---|
|  |  |  | return keyPwd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 复写de.schlichtherle.license.AbstractKeyStoreParam的getStream()方法<br/> | 
|---|
|  |  |  | * 用于将公私钥存储文件存放到其他磁盘位置而不是项目中 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public InputStream getStream() throws IOException { | 
|---|
|  |  |  | final InputStream in = this.getClass().getClassLoader().getResourceAsStream(storePath); | 
|---|
|  |  |  | //        final InputStream in = new FileInputStream(new File(storePath)); | 
|---|
|  |  |  | if (null == in) { | 
|---|
|  |  |  | throw new FileNotFoundException(storePath); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return in; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | package com.zy.asrs.wms.system.license.entity.license; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import de.schlichtherle.license.AbstractKeyStoreParam; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 自定义KeyStoreParam,用于将公私钥存储文件存放到其他磁盘位置而不是项目中 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class CustomKeyStoreParam extends AbstractKeyStoreParam { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 公钥/私钥在磁盘上的存储路径 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private String storePath; | 
|---|
|  |  |  | private String alias; | 
|---|
|  |  |  | private String storePwd; | 
|---|
|  |  |  | private String keyPwd; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public CustomKeyStoreParam(Class clazz, String resource, String alias, String storePwd, String keyPwd) { | 
|---|
|  |  |  | super(clazz, resource); | 
|---|
|  |  |  | this.storePath = resource; | 
|---|
|  |  |  | this.alias = alias; | 
|---|
|  |  |  | this.storePwd = storePwd; | 
|---|
|  |  |  | this.keyPwd = keyPwd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String getAlias() { | 
|---|
|  |  |  | return alias; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String getStorePwd() { | 
|---|
|  |  |  | return storePwd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public String getKeyPwd() { | 
|---|
|  |  |  | return keyPwd; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 复写de.schlichtherle.license.AbstractKeyStoreParam的getStream()方法<br/> | 
|---|
|  |  |  | * 用于将公私钥存储文件存放到其他磁盘位置而不是项目中 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public InputStream getStream() throws IOException { | 
|---|
|  |  |  | final InputStream in = this.getClass().getClassLoader().getResourceAsStream(storePath); | 
|---|
|  |  |  | //        final InputStream in = new FileInputStream(new File(storePath)); | 
|---|
|  |  |  | if (null == in) { | 
|---|
|  |  |  | throw new FileNotFoundException(storePath); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return in; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|