private void addSignatures(final ProcessParameters params, final XmlNode simpleReport) throws DSSException { final List<XmlDom> signatures = diagnosticData.getElements("/DiagnosticData/Signature"); validSignatureCount = 0; totalSignatureCount = 0; for (final XmlDom signatureXmlDom : signatures) { addSignature(params, simpleReport, signatureXmlDom); } }
/** * This method returns the serial number of the given dss certificate identifier. * * @param dssCertificateId DSS certificate identifier to be checked * @return serial number */ public String getCertificateSerialNumber(final int dssCertificateId) { final String serialNumber = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/SerialNumber/text()", dssCertificateId); return serialNumber; }
/** * This method checks if the basic building blocks have VALID indication. The check is performed for all signatures. * * @return {@code true} if basic building blocks (for all signatures) have VALID indication, otherwise {@code false} */ public boolean areBasicBuildingBlocksValid() { final List<XmlDom> indications = getElements("/ValidationData/BasicBuildingBlocks/Signature/Conclusion/Indication"); return areAllIndicationsValid(indications); }
/** * Returns the result of validation of the timestamp message imprint. * * @param timestampId timestamp id * @return true or false */ public boolean isTimestampMessageImprintIntact(final String timestampId) { final boolean messageImprintIntact = getBoolValue("/DiagnosticData/Signature/Timestamps/Timestamp[@Id='%s']/MessageImprintDataIntact/text()", timestampId); return messageImprintIntact; }
/** * Returns the id of the signature. The signature is identified by its index: 1 for the first one. * * @param index (position/order) of the signature within the report * @return {@code String} identifying the signature */ public String getBasicBuildingBlocksSignatureId(final int index) { final String signatureId = getValue("/ValidationData/BasicBuildingBlocks/Signature[%s]/@Id", index); return signatureId; }
/** * This method returns the {@code List} of the signature id based on the XML element: '/ValidationData/BasicBuildingBlocks/Signature' within the report. * * @return {@code List} of the signature id */ public List<String> getBasicBuildingBlocksSignatureId() { return getIdList("/ValidationData/BasicBuildingBlocks/Signature"); }
/** * Returns the identifier of the timestamp signing certificate. * * @param timestampId timestamp id * @return signing certificate id */ public int getTimestampSigningCertificateId(final String timestampId) { final int signingCertificateId = getIntValue("/DiagnosticData/Signature/Timestamps/Timestamp[@Id='%s']/SigningCertificate/@Id", timestampId); return signingCertificateId; }
public Info getInfo(final String attributeName, final String attributeValue) { if (infoList == null) { return null; } for (Info info : infoList) { if (info.hasAttribute(attributeName, attributeValue)) { return info; } } return null; }
/** * This method returns the sub-indication obtained after the validation of the signature. * * @param signatureId DSS unique identifier of the signature * @return */ public String getSubIndication(final String signatureId) { final String subIndication = getValue("/SimpleReport/Signature[@Id='%s']/SubIndication/text()", signatureId); return subIndication; }
public Date getSignatureDate() { final Date signatureDate = getTimeValue("/DiagnosticData/Signature[1]/DateTime/text()"); //final XMLGregorianCalendar xmlGregorianCalendar = DSSXMLUtils.createXMLGregorianCalendar(signatureDate); //xmlGregorianCalendar. return signatureDate; }
/** * This method returns the issuer distinguished name for the given dss certificate identifier. * * @param dssCertificateId DSS certificate identifier to be checked * @return issuer distinguished name */ public String getCertificateIssuerDN(final int dssCertificateId) { final String issuerDistinguishedName = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/IssuerDistinguishedName[@Format='RFC2253']/text()", dssCertificateId); return issuerDistinguishedName; }
/** * This method indicates if the certificate is QCPPlus. * * @param dssCertificateId DSS certificate identifier to be checked * @return true if QCPPlus */ public boolean isCertificateQCPPlus(final int dssCertificateId) { final boolean qcpPlus = getBoolValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/QCStatement/QCPPlus/text()", dssCertificateId); return qcpPlus; }
/** * Returns the validation INDICATION of the long term validation for the given signature id. * * @param signatureId {@code String} id of the signature * @return related {@code String} indication */ public String getLongTermValidationIndication(final String signatureId) { final String indication = getValue("/ValidationData/LongTermValidationData/Signature[@Id='%s']/Conclusion/Indication/text()", signatureId); return indication; }
/** * This method returns the {@code List} of the signature id based on the XML element: '/ValidationData/TimestampValidationData/Signature' within the report. * * @return {@code List} of the signature id */ public List<String> getTimestampValidationSignatureId() { return getIdList("/ValidationData/TimestampValidationData/Signature"); }
/** * This method returns the revocation source for the given certificate. * * @param dssCertificateId DSS certificate identifier to be checked * @return revocation source */ public String getCertificateRevocationSource(final int dssCertificateId) { final String certificateRevocationSource = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/Revocation/Source/text()", dssCertificateId); return certificateRevocationSource; }
/** * Returns the result of validation of the timestamp signature. * * @param timestampId timestamp id * @return */ public boolean isTimestampSignatureValid(final String timestampId) { final boolean signatureValid = getBoolValue("/DiagnosticData/Signature/Timestamps/Timestamp[@Id='%s']/BasicSignature/SignatureValid/text()", timestampId); return signatureValid; }
/** * Returns the validation INDICATION of the basic building blocks for the given signature id. * * @param signatureId {@code String} id of the signature * @return related {@code String} indication */ public String getBasicBuildingBlocksIndication(final String signatureId) { final String indication = getValue("/ValidationData/BasicBuildingBlocks/Signature[@Id='%s']/Conclusion/Indication/text()", signatureId); return indication; }
/** * This method indicates if the certificate is QCSSCD. * * @param dssCertificateId DSS certificate identifier to be checked * @return true if QCSSCD */ public boolean isCertificateQCSSCD(final int dssCertificateId) { final boolean qcsscd = getBoolValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/QCStatement/QCSSCD/text()", dssCertificateId); return qcsscd; }
/** * Returns the validation SUB_INDICATION of the long term validation for the given signature id. * * @param signatureId {@code String} id of the signature * @return related {@code String} sub-indication */ public String getLongTermValidationSubIndication(final String signatureId) { final String indication = getValue("/ValidationData/LongTermValidationData/Signature[@Id='%s']/Conclusion/SubIndication/text()", signatureId); return indication; }
/** * This method returns the revocation status for the given certificate. * * @param dssCertificateId DSS certificate identifier to be checked * @return revocation status */ public boolean getCertificateRevocationStatus(final int dssCertificateId) { final boolean certificateRevocationStatus = getBoolValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/Revocation/Status/text()", dssCertificateId); return certificateRevocationStatus; }