資源簡介
使用truelicense實現用于JAVA工程license機制(包括license生成和驗證)

代碼片段和文件信息
package?cn.melina.license;
import?java.io.File;
import?java.io.IOException;
import?java.io.InputStream;
import?java.text.DateFormat;
import?java.text.ParseException;
import?java.text.SimpleDateFormat;
import?java.util.Properties;
import?java.util.prefs.Preferences;
import?javax.security.auth.x500.X500Principal;
import?de.schlichtherle.license.CipherParam;
import?de.schlichtherle.license.DefaultCipherParam;
import?de.schlichtherle.license.DefaultKeyStoreParam;
import?de.schlichtherle.license.DefaultLicenseParam;
import?de.schlichtherle.license.KeyStoreParam;
import?de.schlichtherle.license.LicenseContent;
import?de.schlichtherle.license.LicenseParam;
import?de.schlichtherle.license.LicenseManager;
/**
?*?CreateLicense
?*?@author?melina
?*/
public?class?CreateLicense?{
//common?param
private?static?String?PRIVATEALIAS?=?““;
private?static?String?KEYPWD?=?““;
private?static?String?STOREPWD?=?““;
private?static?String?SUBJECT?=?““;
private?static?String?licPath?=?““;
private?static?String?priPath?=?““;
//license?content
private?static?String?issuedTime?=?““;
private?static?String?notBefore?=?““;
private?static?String?notAfter?=?““;
private?static?String?consumerType?=?““;
private?static?int?consumerAmount?=?0;
private?static?String?info?=?““;
//?為了方便直接用的API里的例子
//?X500Princal是一個證書文件的固有格式,詳見API
private?final?static?X500Principal?DEFAULTHOLDERANDISSUER?=?new?X500Principal(
“CN=Duke、OU=JavaSoft、O=Sun?Microsystems、C=US“);
public?void?setParam(String?propertiesPath)?{
//?獲取參數
Properties?prop?=?new?Properties();
InputStream?in?=?getClass().getResourceAsStream(propertiesPath);
try?{
prop.load(in);
}?catch?(IOException?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
}
PRIVATEALIAS?=?prop.getProperty(“PRIVATEALIAS“);
KEYPWD?=?prop.getProperty(“KEYPWD“);
STOREPWD?=?prop.getProperty(“STOREPWD“);
SUBJECT?=?prop.getProperty(“SUBJECT“);
KEYPWD?=?prop.getProperty(“KEYPWD“);
licPath?=?prop.getProperty(“licPath“);
priPath?=?prop.getProperty(“priPath“);
//license?content
issuedTime?=?prop.getProperty(“issuedTime“);
notBefore?=?prop.getProperty(“notBefore“);
notAfter?=?prop.getProperty(“notAfter“);
consumerType?=?prop.getProperty(“consumerType“);
consumerAmount?=?Integer.valueOf(prop.getProperty(“consumerAmount“));
info?=?prop.getProperty(“info“);
}
public?boolean?create()?{
try?{
/**************?證書發布者端執行?******************/
LicenseManager?licenseManager?=?LicenseManagerHolder
.getLicenseManager(initLicenseParams0());
licenseManager.store((createLicenseContent())?new?File(licPath));
}?catch?(Exception?e)?{
e.printStackTrace();
System.out.println(“客戶端證書生成失敗!“);
return?false;
}
System.out.println(“服務器端生成證書成功!“);
return?true;
}
//?返回生成證書時需要的參數
private?static?LicenseParam?initLicenseParams0()?{
Preferences?preference?=?Preferences
.userNodeForPacka
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\
?????文件?????????533??2014-04-03?12:32??LicenseCreate\.classpath
?????文件?????????389??2014-04-03?12:32??LicenseCreate\.project
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.settings\
?????文件?????????598??2014-04-03?12:32??LicenseCreate\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\
?????文件???????????3??2014-04-03?12:31??LicenseCreate\.svn\entries
?????文件???????????3??2014-04-03?12:31??LicenseCreate\.svn\format
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\17\
?????文件?????????598??2014-04-03?12:32??LicenseCreate\.svn\pristine\17\1738f633fc4a9029a9b29c54a7d3fc9dfb4ca9cf.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\1a\
?????文件?????????533??2014-04-03?12:32??LicenseCreate\.svn\pristine\1a\1af388cb24631a1af8db5c877ad752e3529e09f9.svn-ba
?????目錄???????????0??2014-04-03?12:31??LicenseCreate\.svn\pristine\4a\
?????文件?????????389??2014-04-03?12:31??LicenseCreate\.svn\pristine\4a\4a8aea65d1b2e6de249bfec318cb4d5080acfbb1.svn-ba
?????目錄???????????0??2014-04-03?12:31??LicenseCreate\.svn\pristine\4f\
?????文件???????44655??2014-04-03?12:31??LicenseCreate\.svn\pristine\4f\4fbbb1d34e2f672376ab9f95e2dc9804f6d2d0b5.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\77\
?????文件????????4474??2014-04-03?12:32??LicenseCreate\.svn\pristine\77\77c149e3a67c176c13fc3a0b485d90e3d2349f76.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\7c\
?????文件?????????307??2014-04-03?12:32??LicenseCreate\.svn\pristine\7c\7c5903a1c73ee235e345acc1150868c926cf8a34.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\81\
?????文件????????4941??2014-04-03?12:32??LicenseCreate\.svn\pristine\81\81678fe8928918910a0e46b41800949ceb25a0b6.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\96\
?????文件?????????773??2014-04-03?12:32??LicenseCreate\.svn\pristine\96\9643deec16fdc053bd46882f33bd3eaeb6e5522a.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\9c\
?????文件??????259600??2014-04-03?12:32??LicenseCreate\.svn\pristine\9c\9cd61d269c88f9fb0eb36cea1efcd596ab74772f.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\b6\
?????文件?????????656??2014-04-03?12:32??LicenseCreate\.svn\pristine\b6\b6b6dc92cb0303c886686fa829c23548b9d382dd.svn-ba
?????目錄???????????0??2014-04-03?12:32??LicenseCreate\.svn\pristine\ba\
?????文件????????7439??2014-04-03?12:32??LicenseCreate\.svn\pristine\ba\bac2335b585cb29bef3e555ed30a1d37eedf28e3.svn-ba
............此處省略103個文件信息
評論
共有 條評論