/** * Returns the digest algorithm used to compute the hash value. * * @param timestampId timestamp id * @return the digest algorithm */ public String getTimestampDigestAlgorithm(final String timestampId) { final String digestAlgorithm = getValue("/DiagnosticData/Signature/Timestamps/Timestamp[@Id='%s']/SignedDataDigestAlgo/text()", timestampId); return digestAlgorithm; }
/** * 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 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 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; }
/** * This method returns the revocation reason for the given certificate. * * @param dssCertificateId DSS certificate identifier to be checked * @return revocation reason */ public String getCertificateRevocationReason(int dssCertificateId) { final String revocationReason = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/Revocation/Reason/text()", dssCertificateId); return revocationReason; }
/** * This method returns the signature format for the given signature. * * @param signatureId The identifier of the signature, for which the format is sought. * @return The signature format */ public String getSignatureFormat(final String signatureId) { String signatureFormat = getValue("/DiagnosticData/Signature[@Id='%s']/SignatureFormat/text()", signatureId); return signatureFormat; }
/** * The identifier of the policy. * * @param signatureId The identifier of the signature. * @return the policy identifier */ public String getPolicyId(final String signatureId) { final String policyId = getValue("/DiagnosticData/Signature[@Id='%s']/Policy/Id/text()", signatureId); return policyId; }
/** * This method returns the subject distinguished name for the given dss certificate identifier. * * @param dssCertificateId DSS certificate identifier to be checked * @return subject distinguished name */ public String getCertificateDN(final int dssCertificateId) { final String subjectDistinguishedName = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/SubjectDistinguishedName[@Format='RFC2253']/text()", dssCertificateId); return subjectDistinguishedName; }
/** * Returns the type of the timestamp. * * @param timestampId timestamp id * @return */ public String getTimestampType(final String timestampId) { final String timestampType = getValue("/DiagnosticData/Signature/Timestamps/Timestamp[@Id='%s']/@Type", timestampId); return timestampType; }
/** * This method returns the associated TSPServiceName. * * @param dssCertificateId DSS certificate identifier to be checked * @return TSPServiceName */ public String getCertificateTSPServiceName(final int dssCertificateId) { final String tspServiceName = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/TrustedServiceProvider/TSPServiceName/text()", dssCertificateId); return tspServiceName; }
public String getPolicyId() { final String policyId = getValue("/DiagnosticData/Signature[1]/Policy/Id/text()"); return policyId; }
public String getErrorMessage(final String signatureId) { final String errorMessage = getValue("/DiagnosticData/Signature[@Id='%s']/ErrorMessage/text()", signatureId); return errorMessage; }
/** * This method indicates if the certificate has QCNoSSCD qualification. * * @param dssCertificateId DSS certificate identifier to be checked * @return true if QCNoSSCD qualification is present */ public boolean hasCertificateQCNoSSCDQualification(final int dssCertificateId) { final String condition = "contains('" + TSLConstant.QC_NO_SSCD + "', '" + TSLConstant.QC_NO_SSCD_119612 + "')"; final String qualification = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/TrustedServiceProvider/Qualifiers/Qualifier[" + condition + "]/text()", dssCertificateId); return !qualification.isEmpty(); }
/** * This method indicates if the certificate has QCForLegalPerson qualification. * * @param dssCertificateId DSS certificate identifier to be checked * @return true if QCForLegalPerson qualification is present */ public boolean hasCertificateQCForLegalPersonQualification(final int dssCertificateId) { final String condition = "contains('" + TSLConstant.QC_FOR_LEGAL_PERSON + "', '" + TSLConstant.QC_FOR_LEGAL_PERSON_119612 + "')"; final String qualification = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/TrustedServiceProvider/Qualifiers/Qualifier[" + condition + "]/text()", dssCertificateId); return !qualification.isEmpty(); }
/** * This method indicates if the certificate has QCWithSSCD qualification. * * @param dssCertificateId DSS certificate identifier to be checked * @return true if QCWithSSCD qualification is present */ public boolean hasCertificateQCWithSSCDQualification(final int dssCertificateId) { final String condition = "contains('" + TSLConstant.QC_WITH_SSCD + "', '" + TSLConstant.QC_WITH_SSCD_119612 + "')"; final String qualification = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/TrustedServiceProvider/Qualifiers/Qualifier[" + condition + "]/text()", dssCertificateId); return !qualification.isEmpty(); }
/** * This method indicates if the certificate has QCSSCDStatusAsInCert qualification. * * @param dssCertificateId DSS certificate identifier to be checked * @return true if QCSSCDStatusAsInCert qualification is present */ public boolean hasCertificateQCSSCDStatusAsInCertQualification(final int dssCertificateId) { final String condition = "contains('" + TSLConstant.QCSSCD_STATUS_AS_IN_CERT + "', '" + TSLConstant.QCSSCD_STATUS_AS_IN_CERT_119612 + "')"; final String qualification = getValue("/DiagnosticData/UsedCertificates/Certificate[@Id='%s']/TrustedServiceProvider/Qualifiers/Qualifier[" + condition + "]/text()", dssCertificateId); return !qualification.isEmpty(); }
/** * This method returns the {@code DigestAlgorithm} of the first signature. * * @return The {@code DigestAlgorithm} of the first signature */ public DigestAlgorithm getSignatureDigestAlgorithm() { final String signatureDigestAlgorithmName = getValue("/DiagnosticData/Signature[1]/BasicSignature/DigestAlgoUsedToSignThisToken/text()"); final DigestAlgorithm signatureDigestAlgorithm = DigestAlgorithm.forName(signatureDigestAlgorithmName, null); return signatureDigestAlgorithm; }
/** * This method returns the {@code DigestAlgorithm} for the given signature. * * @param signatureId The identifier of the signature, for which the algorithm is sought. * @return The {@code DigestAlgorithm} for the given signature */ public DigestAlgorithm getSignatureDigestAlgorithm(final String signatureId) { final String signatureDigestAlgorithmName = getValue("/DiagnosticData/Signature[@Id='%s']/BasicSignature/DigestAlgoUsedToSignThisToken/text()", signatureId); final DigestAlgorithm signatureDigestAlgorithm = DigestAlgorithm.forName(signatureDigestAlgorithmName); return signatureDigestAlgorithm; }
/** * This method returns the {@code DigestAlgorithm} for the given signature. * * @param signatureId The identifier of the signature, for which the algorithm is sought. * @return The {@code DigestAlgorithm} for the given signature */ public EncryptionAlgorithm getSignatureEncryptionAlgorithm(final String signatureId) { final String signatureEncryptionAlgorithmName = getValue("/DiagnosticData/Signature[@Id='%s']/BasicSignature/EncryptionAlgoUsedToSignThisToken/text()", signatureId); final EncryptionAlgorithm signatureEncryptionAlgorithm = EncryptionAlgorithm.forName(signatureEncryptionAlgorithmName); return signatureEncryptionAlgorithm; }
/** * This method returns the {@code EncryptionAlgorithm} of the first signature. * * @return The {@code EncryptionAlgorithm} of the first signature */ public EncryptionAlgorithm getSignatureEncryptionAlgorithm() { final String signatureEncryptionAlgorithmName = getValue("/DiagnosticData/Signature[1]/BasicSignature/EncryptionAlgoUsedToSignThisToken/text()"); final EncryptionAlgorithm signatureEncryptionAlgorithm = EncryptionAlgorithm.forName(signatureEncryptionAlgorithmName, null); return signatureEncryptionAlgorithm; }