use of com.axelor.apps.account.ebics.schema.h003.EbicsRequestDocument.EbicsRequest in project axelor-open-suite by axelor.
the class EbicsXmlFactory method createEbicsRequestDocument.
// -----------------------------------------------------------------------------------------------------------------------------------------------
/**
* Creates a new <code>EbicsRequestDocument</code> XML object
*
* @param ebicsRequest the <code>EbicsRequest</code> element
* @return the <code>EbicsRequestDocument</code> XML object
*/
public static EbicsRequestDocument createEbicsRequestDocument(EbicsRequest ebicsRequest) {
EbicsRequestDocument newEbicsRequestDocument = EbicsRequestDocument.Factory.newInstance();
newEbicsRequestDocument.setEbicsRequest(ebicsRequest);
return newEbicsRequestDocument;
}
use of com.axelor.apps.account.ebics.schema.h003.EbicsRequestDocument.EbicsRequest in project axelor-open-suite by axelor.
the class ReceiptRequestElement method build.
@Override
public void build() throws AxelorException {
EbicsRequest request;
Header header;
Body body;
MutableHeaderType mutable;
StaticHeaderType xstatic;
TransferReceipt transferReceipt;
SignedInfo signedInfo;
mutable = EbicsXmlFactory.createMutableHeaderType("Receipt", null);
xstatic = EbicsXmlFactory.createStaticHeaderType(session.getBankID(), transactionId);
header = EbicsXmlFactory.createEbicsRequestHeader(true, mutable, xstatic);
transferReceipt = EbicsXmlFactory.createTransferReceipt(true, 0);
body = EbicsXmlFactory.createEbicsRequestBody(transferReceipt);
request = EbicsXmlFactory.createEbicsRequest(1, "H003", header, body);
document = EbicsXmlFactory.createEbicsRequestDocument(request);
signedInfo = new SignedInfo(session.getUser(), getDigest());
signedInfo.build();
((EbicsRequestDocument) document).getEbicsRequest().setAuthSignature(signedInfo.getSignatureType());
((EbicsRequestDocument) document).getEbicsRequest().getAuthSignature().setSignatureValue(EbicsXmlFactory.createSignatureValueType(signedInfo.sign(toByteArray())));
}
use of com.axelor.apps.account.ebics.schema.h003.EbicsRequestDocument.EbicsRequest in project axelor-open-suite by axelor.
the class SPRRequestElement method buildInitialization.
@Override
public void buildInitialization() throws AxelorException {
EbicsRequest request;
Header header;
Body body;
MutableHeaderType mutable;
StaticHeaderType xstatic;
Product product;
BankPubKeyDigests bankPubKeyDigests;
Authentication authentication;
Encryption encryption;
DataTransferRequestType dataTransfer;
DataEncryptionInfo dataEncryptionInfo;
SignatureData signatureData;
EncryptionPubKeyDigest encryptionPubKeyDigest;
StaticHeaderOrderDetailsType orderDetails;
OrderType orderType;
StandardOrderParamsType standardOrderParamsType;
UserSignature userSignature;
EbicsUser ebicsUser = session.getUser();
EbicsPartner ebicsPartner = ebicsUser.getEbicsPartner();
userSignature = new UserSignature(ebicsUser, generateName("SIG"), "A005", " ".getBytes(), " ".getBytes());
// TODO Manage the ebics ts case, with an eletronic signature of the user
userSignature.build();
userSignature.validate();
mutable = EbicsXmlFactory.createMutableHeaderType("Initialisation", null);
product = EbicsXmlFactory.createProduct(session.getProduct().getLanguage(), session.getProduct().getName());
authentication = EbicsXmlFactory.createAuthentication("X002", "http://www.w3.org/2001/04/xmlenc#sha256", decodeHex(KeyUtil.getKeyDigest(session.getBankX002Key())));
encryption = EbicsXmlFactory.createEncryption("E002", "http://www.w3.org/2001/04/xmlenc#sha256", decodeHex(KeyUtil.getKeyDigest(session.getBankE002Key())));
bankPubKeyDigests = EbicsXmlFactory.createBankPubKeyDigests(authentication, encryption);
orderType = EbicsXmlFactory.createOrderType(type.getOrderType());
standardOrderParamsType = EbicsXmlFactory.createStandardOrderParamsType();
OrderAttribute orderAttribute = new OrderAttribute(type, ebicsPartner.getEbicsTypeSelect());
orderAttribute.build();
orderDetails = EbicsXmlFactory.createStaticHeaderOrderDetailsType(ebicsUser.getNextOrderId(), orderAttribute.getOrderAttributes(), orderType, standardOrderParamsType);
xstatic = EbicsXmlFactory.createStaticHeaderType(session.getBankID(), nonce, 0, ebicsPartner.getPartnerId(), product, ebicsUser.getSecurityMedium(), ebicsUser.getUserId(), Calendar.getInstance(), orderDetails, bankPubKeyDigests);
header = EbicsXmlFactory.createEbicsRequestHeader(true, mutable, xstatic);
encryptionPubKeyDigest = EbicsXmlFactory.createEncryptionPubKeyDigest("E002", "http://www.w3.org/2001/04/xmlenc#sha256", decodeHex(KeyUtil.getKeyDigest(session.getBankX002Key())));
signatureData = EbicsXmlFactory.createSignatureData(true, EbicsUtils.encrypt(EbicsUtils.zip(userSignature.prettyPrint()), keySpec));
dataEncryptionInfo = EbicsXmlFactory.createDataEncryptionInfo(true, encryptionPubKeyDigest, generateTransactionKey());
dataTransfer = EbicsXmlFactory.createDataTransferRequestType(dataEncryptionInfo, signatureData);
body = EbicsXmlFactory.createEbicsRequestBody(dataTransfer);
request = EbicsXmlFactory.createEbicsRequest(1, "H003", header, body);
document = EbicsXmlFactory.createEbicsRequestDocument(request);
}
Aggregations