Esempio n. 1
0
  /**
   * This method returns the type of the qualification of the signature (signing certificate).
   *
   * @param signCert
   * @return
   */
  private SignatureType getSignatureType(final String certificateId) {

    CertificateWrapper certificate = diagnosticData.getUsedCertificateByIdNullSafe(certificateId);
    final CertificateQualification certQualification = new CertificateQualification();
    certQualification.setQcp(CertificatePolicyIdentifiers.isQCP(certificate));
    certQualification.setQcpp(CertificatePolicyIdentifiers.isQCPPlus(certificate));
    certQualification.setQcc(QCStatementPolicyIdentifiers.isQCCompliant(certificate));
    certQualification.setQcsscd(QCStatementPolicyIdentifiers.isSupportedByQSCD(certificate));

    final TLQualification trustedListQualification = new TLQualification();

    final String serviceType = certificate.getCertificateTSPServiceType();

    final List<String> qualifiers = certificate.getCertificateTSPServiceQualifiers();

    trustedListQualification.setCaqc(ServiceQualification.isCaQc(serviceType));
    trustedListQualification.setQcCNoSSCD(ServiceQualification.isQcNoSSCD(qualifiers));
    trustedListQualification.setQcForLegalPerson(
        ServiceQualification.isQcForLegalPerson(qualifiers));
    trustedListQualification.setQcSSCDAsInCert(
        ServiceQualification.isQcSscdStatusAsInCert(qualifiers));
    trustedListQualification.setQcWithSSCD(ServiceQualification.isQcWithSSCD(qualifiers));
    trustedListQualification.setQcStatement(ServiceQualification.isQcStatement(qualifiers));

    final SignatureType signatureType =
        SignatureQualification.getSignatureType(certQualification, trustedListQualification);
    return signatureType;
  }