package org.signserver.clientws;
import org.apache.log4j.Logger;
public class PrepareCertificateForSignCloud {
/*
private static final Logger LOG = Logger.getLogger(PrepareCertificateForSignCloud.class);
public SignCloudResp processData(SignCloudReq signCloudReq) {
SignCloudResp signCloudResp = new SignCloudResp();
try {
if (signCloudReq == null) {
LOG.error("signCloudResp cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
// check CredentialData
CredentialData credentialData = signCloudReq.getCredentialData();
if (credentialData == null) {
LOG.error("credentialData cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
String username = credentialData.getUsername();
String password = credentialData.getPassword();
String signature = credentialData.getSignature();
String pkcs1Signature = credentialData.getPkcs1Signature();
String timestamp = credentialData.getTimestamp();
if (SignCloudUtil.isNullOrEmpty(username)) {
LOG.error("username cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
if (SignCloudUtil.isNullOrEmpty(password)) {
LOG.error("password cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
if (SignCloudUtil.isNullOrEmpty(signature)) {
LOG.error("signature cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
if (SignCloudUtil.isNullOrEmpty(pkcs1Signature)) {
LOG.error("pkcs1Signature cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
if (SignCloudUtil.isNullOrEmpty(timestamp)) {
LOG.error("timestamp cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
// check relying party
String relyingParty = signCloudReq.getRelyingParty();
if (SignCloudUtil.isNullOrEmpty(relyingParty)) {
LOG.error("relyingParty cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
//check agreementId
String agreementId = signCloudReq.getAgreementId();
if (SignCloudUtil.isNullOrEmpty(agreementId)) {
LOG.error("agreementId cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
// check mobileNo
String mobileNo = signCloudReq.getMobileNo();
if (SignCloudUtil.isNullOrEmpty(mobileNo)) {
LOG.error("mobileNo cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
// check emailAddress
String emailAddr = signCloudReq.getEmail();
if (SignCloudUtil.isNullOrEmpty(emailAddr)) {
LOG.error("emailAddr cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
// check cert profile
String certProfile = signCloudReq.getCertificateProfile();
if (SignCloudUtil.isNullOrEmpty(certProfile)) {
LOG.error("certProfile cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
// check cert info
AgreementDetails agreementDetails = signCloudReq.getAgreementDetails();
if (agreementDetails == null) {
LOG.error("agreementDetails cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
String personalName = agreementDetails.getPersonName();
String email = agreementDetails.getEmail();
String locality = agreementDetails.getLocation();
String stateProvince = agreementDetails.getStateOrProvince();
String country = agreementDetails.getCountry();
if (SignCloudUtil.isNullOrEmpty(personalName)
|| SignCloudUtil.isNullOrEmpty(email)
|| SignCloudUtil.isNullOrEmpty(locality)
|| SignCloudUtil.isNullOrEmpty(stateProvince)
|| SignCloudUtil.isNullOrEmpty(country)) {
LOG.error("Somes DN atributes cannot be NULL");
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_INVALID_PARAMS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_INVALID_PARAMS);
return signCloudResp;
}
String dn = "CN=" + SignCloudUtil.resolveDNAttribute(personalName)
+ ",E=" + email
+ ",L=" + SignCloudUtil.resolveDNAttribute(locality)
+ ",ST=" + SignCloudUtil.resolveDNAttribute(stateProvince)
+ ",C=" + country;
LOG.info("DNString: " + dn);
// Call ClientWS
String xmlData = "" + relyingParty + "\n"
+ "" + agreementId + "\n"
+ "01009090\n"
+ "AgreementHandler\n"
+ "REGISTRATION\n"
+ "3650\n"
+ "\n"
+ "True\n"
+ "MultiSigner\n"
+ "" + emailAddr + "\n"
+ "" + mobileNo + "\n"
+ "PRIVATE\n"
+ "TPM\n"
+ "\n"
+ "Personal\n"
+ "FPT Certification Authority\n"
+ "" + dn + "\n"
+ "365";
CAGCredential credential = new CAGCredential();
credential.setUsername(username);
credential.setPassword(password);
credential.setSignature(signature);
credential.setTimestamp(timestamp);
credential.setPkcs1Signature(pkcs1Signature);
TransactionInfo transReq = new TransactionInfo();
transReq.setXmlData(xmlData);
transReq.setCredentialData(credential);
ClientWS clientWS = new ClientWS();
TransactionInfo transResp = clientWS.processData(transReq);
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_SUCCESS);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_SUCCESS);
return signCloudResp;
} catch (Exception e) {
e.printStackTrace();
signCloudResp.setResponseCode(SignCloudConstant.RESPONSE_CODE_UNEXPECTED_EXCEPTION);
signCloudResp.setResponseMessage(SignCloudConstant.RESPONSE_MESS_UNEXPECTED_EXCEPTION);
return signCloudResp;
}
}
*/
}