package com.qianwen.license.keystore;
|
|
import org.bouncycastle.asn1.x500.X500Name;
|
import org.bouncycastle.asn1.x500.X500NameBuilder;
|
import org.bouncycastle.asn1.x500.style.BCStyle;
|
|
import cn.hutool.core.util.StrUtil;
|
|
public class SubjectBuilder {
|
/**
|
* 常用名称(Common Name)
|
*/
|
private String cn;
|
/**
|
* 企业名称(Organization)
|
*/
|
private String o;
|
/**
|
* 部门(Organizational Unit)
|
*/
|
private String ou;
|
/**
|
* 国家(Country)
|
*/
|
private String c;
|
/**
|
* 省份(State)
|
*/
|
private String st;
|
/**
|
* 城市(Locality)
|
*/
|
private String l;
|
|
public SubjectBuilder setCn(String cn) {
|
this.cn = cn;
|
return this;
|
}
|
|
public SubjectBuilder setO(String o) {
|
this.o = o;
|
return this;
|
}
|
|
public SubjectBuilder setOu(String ou) {
|
this.ou = ou;
|
return this;
|
}
|
|
public SubjectBuilder setC(String c) {
|
this.c = c;
|
return this;
|
}
|
|
public SubjectBuilder setSt(String st) {
|
this.st = st;
|
return this;
|
}
|
|
public SubjectBuilder setL(String l) {
|
this.l = l;
|
return this;
|
}
|
|
public X500Name build() {
|
X500NameBuilder x500NameBuilder = new X500NameBuilder();
|
if (StrUtil.isNotBlank(cn)) {
|
x500NameBuilder.addRDN(BCStyle.CN, cn);
|
}
|
if (StrUtil.isNotBlank(o)) {
|
x500NameBuilder.addRDN(BCStyle.O, o);
|
}
|
if (StrUtil.isNotBlank(ou)) {
|
x500NameBuilder.addRDN(BCStyle.OU, ou);
|
}
|
if (StrUtil.isNotBlank(c)) {
|
x500NameBuilder.addRDN(BCStyle.C, c);
|
}
|
if (StrUtil.isNotBlank(st)) {
|
x500NameBuilder.addRDN(BCStyle.ST, st);
|
}
|
if (StrUtil.isNotBlank(l)) {
|
x500NameBuilder.addRDN(BCStyle.L, l);
|
}
|
return x500NameBuilder.build();
|
}
|
}
|