SDK与下载

Java SDK

开发者直接使用我们提供的sdk,可以省略请求的封装,签名加密,响应解释等,提高开发效率。

起步

下载SDK

点击立即下载CA-SDK

添加到本地仓库

如果是非maven形式项目,直接将jar包放入Dependencies依赖目录

如果是maven项目,可在终端窗口执行以下命令安装到本地仓库:

Linux & Mac:

mvn install:install-file -Dfile=jar文件绝对路径 \
-DgroupId=cn.unitid.ca \
-DartifactId=ca-java-sdk \
-Dversion=版本号 \
-Dpackaging=jar

Windows:

mvn install:install-file -Dfile=jar文件绝对路径  -DgroupId=cn.unitid.ca  -DartifactId=ca-java-sdk  -Dversion=版本号 -Dpackaging=jar

然后在Maven项目pom文件中添加依赖:

<dependency>
<groupId>cn.unitid.ca</groupId>
<artifactId>ca-java-sdk</artifactId>
<version>版本号</version>
</dependency>

证书签发-个人证书

/**
* 个人证书签发测试
*/
@Test
public void testIssue() throws Exception {

//提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
PersonalCertSopApi personalCertSopApi = new PersonalCertSopApiImpl(apiClient);

//构造个人高级证书签发请求
PersonalIssueRequest request = new PersonalIssueRequest();
//初始化个人高级证书信息
PersonalSeniorCertificate personalSeniorCertificate = getPersonalSeniorCertificate();
//PersonalSeniorCertificate personalSeniorCertificate = getPersonalSeniorCertificate2();
//扩展项 根据RA传
//Extension extension = new Extension();
//extension.setOid("2.5.4.75");
//extension.setValue("扩展项值");
//List<Extension> extensions = new ArrayList<Extension>();
//extensions.add(extension);
//personalSeniorCertificate.setExtraExtension(extensions);
//扩展项透传
//Map<String,String> extend=new HashMap<>();
//extend.put("扩展项key","扩展项value");
//request.setExtensions(extend);
request.setPersonalSeniorCertificate(personalSeniorCertificate);
//设置P10
String p10 = P10Util.p10Structure("CN=吴伟伟ww,OU=壹证通,O=SmartCA,L=南京市,ST=江苏省,C=CN").getP10();
request.setPkCS10(p10);
//设置有效期
request.setDuration("1Y");
//AgentInfo agentInfo = new AgentInfo();
//agentInfo.setAgentEmail("11@qq.com");
//agentInfo.setAgentName("fw");
//agentInfo.setAgentPhone("152955555555");
//agentInfo.setAgentId("360000180008224477");
//agentInfo.setNote("a其它");
//request.setAgentInfo(agentInfo);

//调用证书签发接口
PersonalIssueResponse personalIssueResponse = null;
try {
personalIssueResponse = personalCertSopApi.issue(request);

//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + personalIssueResponse);
System.out.println("================================");
System.out.println("SDK请求ID:" + personalIssueResponse.getRequestId());
System.out.println("SDK响应消息:" + personalIssueResponse.getMsg());
System.out.println("SDK响应码:" + personalIssueResponse.getErrorCode());
System.out.println("================================");
if (null != personalIssueResponse.getData()) {
System.out.println("证书ID:" + personalIssueResponse.getData().getCertId());
System.out.println("加密证书:" + personalIssueResponse.getData().getEncryptionCert());
System.out.println("加密证书私钥:" + personalIssueResponse.getData().getEncryptionPrivateKey());
System.out.println("签名证书:" + personalIssueResponse.getData().getSignatureCert());
System.out.println("业务响应码:" + personalIssueResponse.getData().getIncorrect());
System.out.println("业务响应消息:" + personalIssueResponse.getData().getMessage());
System.out.println("业务透传扩展项:" + personalIssueResponse.getData().getExtensions());
}
} catch (ApiException e) {
e.printStackTrace();
}
}
/**
* 构造个人高级证书签发请求
*
* @return 个人高级证书
* @throws ParseException parseException
*/
private PersonalSeniorCertificate getPersonalSeniorCertificate() throws ParseException {
PersonalSeniorCertificate personalSeniorCertificate = new PersonalSeniorCertificate();
//设置个人证书定制信息
personalSeniorCertificate.setIdNumber("320125201809093418");
personalSeniorCertificate.setIdType(IdType.ID);
personalSeniorCertificate.setPhoneNumber("17311111111");
personalSeniorCertificate.setOwnerName("庞统");
//设置证书基本信息
personalSeniorCertificate.setCommonName("李雷雷");
personalSeniorCertificate.setOrganization("smartCert");
personalSeniorCertificate.setOrganizationUnit("Test");
personalSeniorCertificate.setCountry("CN");
personalSeniorCertificate.setProvince("江苏");
personalSeniorCertificate.setCity("南京");
personalSeniorCertificate.setDistrictCounty("雨花区");
personalSeniorCertificate.setEmail("zhugeliang@han.cn");
personalSeniorCertificate.setAlgo("SM2");
personalSeniorCertificate.setLength("256");

return personalSeniorCertificate;
}

/**
* 构造个人高级证书
*
* @return 个人高级证书
*/
private PersonalSeniorCertificate getPersonalSeniorCertificate2() {

PersonalSeniorCertificate personalSeniorCertificate = new PersonalSeniorCertificate();
//设置个人证书定制信息
personalSeniorCertificate.setIdNumber("320125201809093418");
personalSeniorCertificate.setIdType(IdType.ID);
personalSeniorCertificate.setPhoneNumber("17311111111");

return personalSeniorCertificate;

}

证书签发-企业证书


/**
* 企业证书签发测试
*/
@Test
public void testIssue() throws Exception {

//提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
EnterpriseCertSopApi enterpriseCertSopApi = new EnterpriseCertSopApiImpl(apiClient);

//构造企业高级证书签发请求
EnterpriseIssueRequest request = new EnterpriseIssueRequest();
//初始化企业高级证书信息
EnterpriseSeniorCertificate enterpriseSeniorCertificate = getEnterpriseSeniorCertificate();
//EnterpriseSeniorCertificate enterpriseSeniorCertificate = getEnterpriseSeniorCertificate2();
//扩展项 根据RA传
//Extension extension = new Extension();
//extension.setOid("2.5.4.75");
//extension.setValue("扩展项值");
//List<Extension> extensions = new ArrayList<Extension>();
//extensions.add(extension);
//enterpriseSeniorCertificate.setExtraExtension(extensions);
//扩展项透传
//Map<String,String> extend=new HashMap<>();
//extend.put("扩展项key","扩展项value");
//request.setExtensions(extend);
request.setEnterpriseSeniorCertificate(enterpriseSeniorCertificate);
//设置P10
String p10 = P10Util.p10Structure("CN=吴伟伟,OU=壹证通,O=SmartCA,L=南京市,ST=江苏省,C=CN").getP10();
request.setPkCS10(p10);
//设置证书有效期
request.setDuration("1Y");
//AgentInfo agentInfo = new AgentInfo();
//agentInfo.setAgentEmail("11@qq.com");
//agentInfo.setAgentName("fw");
//agentInfo.setAgentPhone("152955555555");
//agentInfo.setAgentId("360000180008224477");
//agentInfo.setNote("a其它");
//request.setAgentInfo(agentInfo);

//调用证书签发接口
EnterpriseIssueResponse enterpriseIssueResponse = null;
try {

enterpriseIssueResponse = enterpriseCertSopApi.issue(request);

//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + enterpriseIssueResponse);
System.out.println("================================");
System.out.println("SDK请求ID:" + enterpriseIssueResponse.getRequestId());
System.out.println("SDK响应消息:" + enterpriseIssueResponse.getMsg());
System.out.println("SDK响应码:" + enterpriseIssueResponse.getErrorCode());
System.out.println("================================");
if (null != enterpriseIssueResponse.getData()) {
System.out.println("证书ID:" + enterpriseIssueResponse.getData().getCertId());
System.out.println("加密证书:" + enterpriseIssueResponse.getData().getEncryptionCert());
System.out.println("加密证书私钥:" + enterpriseIssueResponse.getData().getEncryptionPrivateKey());
System.out.println("签名证书:" + enterpriseIssueResponse.getData().getSignatureCert());
System.out.println("业务响应码:" + enterpriseIssueResponse.getData().getIncorrect());
System.out.println("业务响应消息:" + enterpriseIssueResponse.getData().getMessage());
System.out.println("业务透传扩展项:" + enterpriseIssueResponse.getData().getExtensions());
}

} catch (ApiException e) {
e.printStackTrace();
}

}

/**
* 生成企业证书信息
*
* @return 企业证书信息
* @throws ParseException parseException
*/
private EnterpriseSeniorCertificate getEnterpriseSeniorCertificate() throws ParseException {
EnterpriseSeniorCertificate enterpriseSeniorCertificate = new EnterpriseSeniorCertificate();

//设置企业证书定制信息
enterpriseSeniorCertificate.setIdNumber("25258545655");
enterpriseSeniorCertificate.setIdType(IdType.BUSINESS_REGISTRATION_CERT);
enterpriseSeniorCertificate.setPhoneNumber("17311111111");
enterpriseSeniorCertificate.setOwnerName("李雷");
enterpriseSeniorCertificate.setEnterprise("江苏智慧");
enterpriseSeniorCertificate.setDepartment("研发部");
//设置证书基本信息
enterpriseSeniorCertificate.setCommonName("江苏智慧");
enterpriseSeniorCertificate.setOrganization("smartCa");
enterpriseSeniorCertificate.setOrganizationUnit("Test");
enterpriseSeniorCertificate.setCountry("CN");
enterpriseSeniorCertificate.setProvince("江苏省");
enterpriseSeniorCertificate.setCity("南京市");
enterpriseSeniorCertificate.setDistrictCounty("雨花区");
enterpriseSeniorCertificate.setEmail("zhugeliang@han.cn");
enterpriseSeniorCertificate.setAlgo("SM2");
enterpriseSeniorCertificate.setLength("256");

return enterpriseSeniorCertificate;
}

/**
* 生成企业证书信息
*
* @return 企业证书信息
*/
private EnterpriseSeniorCertificate getEnterpriseSeniorCertificate2() {
EnterpriseSeniorCertificate enterpriseSeniorCertificate = new EnterpriseSeniorCertificate();
//设置企业证书定制信息
enterpriseSeniorCertificate.setIdNumber("25258545655");
enterpriseSeniorCertificate.setIdType(IdType.BUSINESS_REGISTRATION_CERT);
enterpriseSeniorCertificate.setPhoneNumber("17311111111");

return enterpriseSeniorCertificate;
}

证书注销


/**
* 证书注销测试
*/
@Test
public void testRevoke() throws Exception{
//提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
CertSopApi certSopApi = new CertSopApiImpl(apiClient);
//证书注销请求
RevokeRequest request = new RevokeRequest();
//扩展项透传
//Map<String,String> extend=new HashMap<>();
//extend.put("扩展项key","扩展项value");
//request.setExtensions(extend);
//设置待注销的证书ID,证书ID来源于证书签发的响应,也可以从证书中解析UniqueIdentifier项获取(参考示例中工具测试代码)
request.setCertId("certId");
try {
//调用注销服务
RevokeResponse revokeResponse = certSopApi.revoke(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + revokeResponse);
System.out.println("================================");
System.out.println("SDK请求ID:" + revokeResponse.getRequestId());
System.out.println("SDK响应消息:" + revokeResponse.getMsg());
System.out.println("SDK响应码:" + revokeResponse.getErrorCode());
System.out.println("================================");
if (null != revokeResponse.getData()) {
System.out.println("注销结果:" + revokeResponse.getData().getResult());
System.out.println("证书ID:" + revokeResponse.getData().getCertId());
System.out.println("业务响应码:" + revokeResponse.getData().getIncorrect());
System.out.println("业务响应消息:" + revokeResponse.getData().getMessage());
System.out.println("业务透传扩展项:" + revokeResponse.getData().getExtensions());
}
} catch (ApiException e) {
e.printStackTrace();
}
}

证书延期


/**
* 证书延期测试
*/
@Test
public void testPostpone() throws Exception{
// 提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
// 您的appKey
String appKey = "请联系技术人员获取";
// 您的appSecret
String secretKey = "请联系技术人员获取";
// 构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
CertSopApi certSopApi = new CertSopApiImpl(apiClient);
// 证书延期请求
PostponeRequest request = new PostponeRequest();
//扩展项透传
//Map<String,String> extend=new HashMap<>();
//extend.put("扩展项key","扩展项value");
//request.setExtensions(extend);
//设置待延期的证书ID,证书ID来源于证书签发的响应,也可以从证书中解析UniqueIdentifier项获取(参考示例中工具测试代码)
request.setCertId("certId");
//设置延期时间
request.setDuration("1Y");
//设置延期使用的制证P10,可以不设置,不设置默认使用原证书内容,不做密钥变动
//request.setPkCS10("pkcs10");
//是否使用是否使用原密钥对,默认为true。如果设置false,则需要设置PcCS10属性。
//request.setUserOldKey(true);
try {
//调用延期服务
PostponeResponse postponeResponse = certSopApi.postpone(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + postponeResponse);
System.out.println("================================");
System.out.println("SDK请求ID:" + postponeResponse.getRequestId());
System.out.println("SDK响应消息:" + postponeResponse.getMsg());
System.out.println("SDK响应码:" + postponeResponse.getErrorCode());
System.out.println("================================");
if (null != postponeResponse.getData()) {
System.out.println("证书ID:" + postponeResponse.getData().getCertId());
System.out.println("加密证书:" + postponeResponse.getData().getEncryptionCert());
System.out.println("加密证书私钥:" + postponeResponse.getData().getEncryptionPrivateKey());
System.out.println("签名证书:" + postponeResponse.getData().getSignatureCert());
System.out.println("业务响应码:" + postponeResponse.getData().getIncorrect());
System.out.println("业务响应消息:" + postponeResponse.getData().getMessage());
System.out.println("业务透传扩展项:" + postponeResponse.getData().getExtensions());
}
} catch (ApiException e) {
e.printStackTrace();
}
}

证书重发


/**
* 证书重发测试
*/
@Test
public void testReissue() throws Exception{
// 提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
// 您的appKey
String appKey = "请联系技术人员获取";
// 您的appSecret
String secretKey = "请联系技术人员获取";
// 构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
CertSopApi certSopApi = new CertSopApiImpl(apiClient);
// 证书注销请求
ReissueRequest request = new ReissueRequest();
//扩展项透传
//Map<String,String> extend=new HashMap<>();
//extend.put("扩展项key","扩展项value");
//request.setExtensions(extend);
//设置待重发的证书ID,证书ID来源于证书签发的响应,也可以从证书中解析UniqueIdentifier项获取(参考示例中工具测试代码)
request.setCertId("certId");
//设置重发使用的制证P10,PUHUA RA可以不设置,不设置默认使用原证书内容,不做密钥变动
String p10 = P10Util.p10Structure("CN=吴伟伟,OU=壹证通,O=SmartCA,L=南京市,ST=江苏省,C=CN").getP10();
request.setPkCS10(p10);
//是否使用是否使用原密钥对,默认为true。如果设置false,则需要设置PcCS10属性。
//request.setUserOldKey(true);
try {
//调用重发服务
ReissueResponse reissueResponse = certSopApi.reissue(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + reissueResponse);
System.out.println("================================");
System.out.println("SDK请求ID:" + reissueResponse.getRequestId());
System.out.println("SDK响应消息:" + reissueResponse.getMsg());
System.out.println("SDK响应码:" + reissueResponse.getErrorCode());
System.out.println("================================");
if (null != reissueResponse.getData()) {
System.out.println("证书ID:" + reissueResponse.getData().getCertId());
System.out.println("加密证书:" + reissueResponse.getData().getEncryptionCert());
System.out.println("加密证书私钥:" + reissueResponse.getData().getEncryptionPrivateKey());
System.out.println("签名证书:" + reissueResponse.getData().getSignatureCert());
System.out.println("业务响应码:" + reissueResponse.getData().getIncorrect());
System.out.println("业务响应消息:" + reissueResponse.getData().getMessage());
System.out.println("业务透传扩展项:" + reissueResponse.getData().getExtensions());
}
} catch (ApiException e) {
e.printStackTrace();
}
}

证书密钥恢复


/**
* 证书密钥恢复测试
*/
@Test
public void testRecover() throws Exception{
//提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
CertSopApi certSopApi = new CertSopApiImpl(apiClient);
//证书密钥恢复请求
RecoverRequest request = new RecoverRequest();
//扩展项透传
//Map<String,String> extend=new HashMap<>();
//extend.put("扩展项key","扩展项value");
//request.setExtensions(extend);
// 证书ID来源于证书签发的响应,也可以从证书中解析UniqueIdentifier项获取(参考示例中工具测试代码),必要
request.setCertId("certId");
// 设置密钥恢复使用的制证P10,必要
String p10 = "MIIBODCB3QIBADB7MQ0wCwYDVQQDDARuYW1lMREwDwYDVQQLDAhCSkNBIFImRDENMAsGA1UECgwEQkpDQTEQMA4GA1UEBwwHLOWMl+S6rDELMAkGA1UECAwCYmoxCzAJBgNVBAYTAkNOMRwwGgYJKoZIhvcNAQkBFg1tYWlsQGJqY2EuY29tMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEIyxCYp2MX02E+1VqJ7Hi4bXQ3arLfbxesB1N0lhCkvf4Mm8MeWsoAKVxqBmwvkfDCq09mlRRrTsxNchqsQPaJKAAMAwGCCqBHM9VAYN1BQADSAAwRQIgdHIqt7I5v+Ze+IYSD7yYOGXt+HmQhI/Sw7gA4oM+wkcCIQDidXAFwZDk7y6+pHLxnp6XYppk4hGNGbr0kzSwLXED2w==";
request.setPkCS10(p10);

try {
//调用服务
RecoverResponse response = certSopApi.recover(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + response);
System.out.println("================================");
System.out.println("SDK请求ID:" + response.getRequestId());
System.out.println("SDK响应消息:" + response.getMsg());
System.out.println("SDK响应码:" + response.getErrorCode());
System.out.println("================================");
if (null != response.getData()) {
System.out.println("证书ID:" + response.getData().getCertId());
System.out.println("加密证书:" + response.getData().getEncryptionCert());
System.out.println("加密证书私钥:" + response.getData().getEncryptionPrivateKey());
System.out.println("业务响应码:" + response.getData().getIncorrect());
System.out.println("业务响应消息:" + response.getData().getMessage());
System.out.println("业务透传扩展项:" + response.getData().getExtensions());
}
} catch (ApiException e) {
e.printStackTrace();
}
}

id 查询证书

@Test
public void testQueryById() throws Exception{
//提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
CertSopApi certSopApi = new CertSopApiImpl(apiClient);
CertQueryByIdRequest request = new CertQueryByIdRequest();
request.setCertId("api_ca_TEST_TO_PH_RA_2_USL13SS1_api_ca_228c3f07fb5145f3ac2b69a3f097307a");

try {
//调用服务
CertQueryByIdResponse response = certSopApi.queryById(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + response);
System.out.println("================================");
System.out.println("SDK请求ID:" + response.getRequestId());
System.out.println("SDK响应消息:" + response.getMsg());
System.out.println("SDK响应码:" + response.getErrorCode());
System.out.println("================================");
if (null != response.getData()) {
System.out.println("业务响应码:" + response.getData().getIncorrect());
System.out.println("业务响应消息:" + response.getData().getMessage());
System.out.println("证书:" + response.getData().getCertificate());
}

} catch (ApiException e) {
e.printStackTrace();
}

}

查询证书吊销列表


/**
* OSS暂不支持,暂只支持LRA
*/
@Test
public void getCrlList() throws ApiException {
//提供的url
String url = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
CertCrlApi certSopApi = new CertCrlApiImpl(apiClient);
// 证书增量crl查询请求
CertCrlRequest request = new CertCrlRequest();
try {
CertCrlResponse response = certSopApi.getCrl(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + response);
System.out.println("================================");
System.out.println("SDK请求ID:" + response.getRequestId());
System.out.println("SDK响应消息:" + response.getMsg());
System.out.println("SDK响应码:" + response.getErrorCode());
System.out.println("================================");
if (null != response.getData()) {
System.out.println("CRL数据列表:\n" + response.getData().getCrlBase64String());
//文件输出到本地D://lra-crl.pem
FileOutputStream fileOutputStream =new FileOutputStream("D://lra-crl.pem");
response.getFile().write(fileOutputStream);
}
} catch (ApiException | IOException e) {
e.printStackTrace();
}
}

根据RA和环境查询RACRL


@Test
public void getCrl() throws ApiException {
//提供的url
String demo = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(demo, appKey, secretKey);
CertCrlApi certSopApi = new CertCrlApiImpl(apiClient);

RaCrlRequest request = new RaCrlRequest();
request.setEnvironment(Environment.PRODUCTION);
request.setRaType(RaType.UNI);
try {
CertCrlResponse response = certSopApi.getRaCrl(request);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + response);
System.out.println("================================");
System.out.println("SDK请求ID:" + response.getRequestId());
System.out.println("SDK响应消息:" + response.getMsg());
System.out.println("SDK响应码:" + response.getErrorCode());
System.out.println("================================");
if (null != response.getData()) {
System.out.println("CRL数据列表:\n" + response.getData().getCrlBase64String());
//文件输出到本地D://lra-crl.pem
FileOutputStream fileOutputStream = new FileOutputStream("D://lra-crl.pem");
response.getFile().write(fileOutputStream);
}
} catch (Exception e) {
e.printStackTrace();
}
}

根据证书生成P10


@Test
public void getP10() throws ApiException {
//提供的url
String demo = "http://api.ca.demo.smartcert.cn/api";
//您的appKey
String appKey = "请联系技术人员获取";
//您的appSecret
String secretKey = "请联系技术人员获取";
//构造接口实例
ApiClient apiClient = new DefaultApiClient(url, appKey, secretKey);
P10GenApi p10GenApi = new P10GenApiImpl(apiClient);
//构造P10请求对象
P10GenRequest p10GenRequest = new P10GenRequest();
//生成证书
BaseCertificate baseCertificate = getBaseCertificate();
p10GenRequest.setBaseCertificate(baseCertificate);

try {
P10AndSecretResponseApi response = p10GenApi.genP10(p10GenRequest);
//后续业务处理
System.out.println("================================");
System.out.println("响应内容:" + response);
System.out.println("================================");
System.out.println("SDK请求ID:" + response.getRequestId());
System.out.println("SDK响应消息:" + response.getMsg());
System.out.println("SDK响应码:" + response.getErrorCode());
System.out.println("================================");
if (null != response.getData()) {
System.out.println("P10请求:\n" + response.getData().getP10());
System.out.println("P10私钥:\n" + response.getData().getBase64PrivateKey());
//文件输出到本地D://lra-crl.pem
FileOutputStream fileOutputStream = new FileOutputStream("D://privateKey.pem");
response.getFile().write(fileOutputStream);
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 生成证书信息
*
* @return 证书信息
*/
private BaseCertificate getBaseCertificate() {
BaseCertificate baseCertificate = new BaseCertificate();
//设置证书基本信息
baseCertificate.setCommonName("庞统");
baseCertificate.setOrganization("刘备集团");
baseCertificate.setOrganizationUnit("宰相");
baseCertificate.setCountry("CN");
baseCertificate.setProvince("蜀地");
baseCertificate.setCity("成都");
baseCertificate.setDistrictCounty("天府区");
baseCertificate.setEmail("zhugeliang@han.cn");
baseCertificate.setAlgo("SM2");
return baseCertificate;
}

版本变更记录

2022-07-04 (2.1.9)

该版本升级内容

下载该版本sdk

2022-05-16 (2.1.8)

该版本升级内容

下载该版本sdk

2022-04-15 (2.1.7)

该版本升级内容

下载该版本sdk

2022-01-18 (2.1.6)

该版本升级内容

下载该版本sdk

2021-11-26 (2.1.4)

该版本升级内容

下载该版本sdk

2021-09-09 (2.1.3)

该版本升级内容

下载该版本sdk

2021-01-26 (2.1.2)

该版本升级内容

下载该版本sdk

2020-11-13 (2.1.1)

该版本升级内容

2020-10-21 (2.1.0)

该版本升级内容

2020-08-04 (2.0.8)

该版本升级内容

2020-05-29 (2.0.7)

该版本升级内容

2020-05-20 (2.0.6)

该版本升级内容

2020-05-09 (2.0.5)

该版本升级内容

2020-04-30 (2.0.4)

该版本升级内容

2020-04-14 (2.0.3)

该版本升级内容

2020-04-08 (2.0.2)

该版本升级内容

2020-03-19 (2.0.1)

该版本升级内容

2019-12-24 (1.0.8)

该版本升级内容

2019-11-06 (1.0.6)

该版本升级内容

其他语言 SDK使用说明

TODO 待完善

###