Example usage for com.itextpdf.text.pdf PdfSignatureAppearance CERTIFIED_FORM_FILLING_AND_ANNOTATIONS

List of usage examples for com.itextpdf.text.pdf PdfSignatureAppearance CERTIFIED_FORM_FILLING_AND_ANNOTATIONS

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfSignatureAppearance CERTIFIED_FORM_FILLING_AND_ANNOTATIONS.

Prototype

int CERTIFIED_FORM_FILLING_AND_ANNOTATIONS

To view the source code for com.itextpdf.text.pdf PdfSignatureAppearance CERTIFIED_FORM_FILLING_AND_ANNOTATIONS.

Click Source Link

Document

Author signature, form filling and annotations allowed

Usage

From source file:accinapdf.ACCinaPDF.java

License:Open Source License

/**
 * @param args the command line arguments
 *///from  w  w w .j a v a2  s.c o  m
public static void main(String[] args) {

    controller.Logger.create();
    controller.Bundle.getBundle();

    if (GraphicsEnvironment.isHeadless()) {
        // Headless
        // Erro 
        String fich;
        if (args.length != 1) {
            System.err.println(Bundle.getBundle().getString("invalidArgs"));
            return;
        } else {
            fich = args[0];
        }

        try {
            System.out.println(Bundle.getBundle().getString("validating") + " " + fich);
            ArrayList<SignatureValidation> alSv = CCInstance.getInstance().validatePDF(fich, null);
            if (alSv.isEmpty()) {
                System.out.println(Bundle.getBundle().getString("notSigned"));
            } else {
                String newLine = System.getProperty("line.separator");
                String toWrite = "(";
                int numSigs = alSv.size();
                if (numSigs == 1) {
                    toWrite += "1 " + Bundle.getBundle().getString("signature");
                } else {
                    toWrite += numSigs + " " + Bundle.getBundle().getString("signatures");
                }
                toWrite += ")" + newLine;
                for (SignatureValidation sv : alSv) {
                    toWrite += "\t" + sv.getName() + " - ";
                    toWrite += (sv.isCertification()
                            ? WordUtils.capitalize(Bundle.getBundle().getString("certificate"))
                            : WordUtils.capitalize(Bundle.getBundle().getString("signed"))) + " "
                            + Bundle.getBundle().getString("by") + " " + sv.getSignerName();
                    toWrite += newLine + "\t\t";
                    if (sv.isChanged()) {
                        toWrite += Bundle.getBundle().getString("certifiedChangedOrCorrupted");
                    } else {
                        if (sv.isCertification()) {
                            if (sv.isValid()) {
                                if (sv.isChanged() || !sv.isCoversEntireDocument()) {
                                    toWrite += Bundle.getBundle().getString("certifiedButChanged");
                                } else {
                                    toWrite += Bundle.getBundle().getString("certifiedOk");
                                }
                            } else {
                                toWrite += Bundle.getBundle().getString("changedAfterCertified");
                            }
                        } else {
                            if (sv.isValid()) {
                                if (sv.isChanged()) {
                                    toWrite += Bundle.getBundle().getString("signedButChanged");
                                } else {
                                    toWrite += Bundle.getBundle().getString("signedOk");
                                }
                            } else {
                                toWrite += Bundle.getBundle().getString("signedChangedOrCorrupted");
                            }
                        }
                    }
                    toWrite += newLine + "\t\t";
                    if (sv.getOcspCertificateStatus().equals(CertificateStatus.OK)
                            || sv.getCrlCertificateStatus().equals(CertificateStatus.OK)) {
                        toWrite += Bundle.getBundle().getString("certOK");
                    } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.REVOKED)
                            || sv.getCrlCertificateStatus().equals(CertificateStatus.REVOKED)) {
                        toWrite += Bundle.getBundle().getString("certRevoked");
                    } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.UNCHECKED)
                            && sv.getCrlCertificateStatus().equals(CertificateStatus.UNCHECKED)) {
                        toWrite += Bundle.getBundle().getString("certNotVerified");
                    } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.UNCHAINED)) {
                        toWrite += Bundle.getBundle().getString("certNotChained");
                    } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.EXPIRED)) {
                        toWrite += Bundle.getBundle().getString("certExpired");
                    } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.CHAINED_LOCALLY)) {
                        toWrite += Bundle.getBundle().getString("certChainedLocally");
                    }
                    toWrite += newLine + "\t\t";
                    if (sv.isValidTimeStamp()) {
                        toWrite += Bundle.getBundle().getString("validTimestamp");
                    } else {
                        toWrite += Bundle.getBundle().getString("signerDateTime");
                    }
                    toWrite += newLine + "\t\t";

                    toWrite += WordUtils.capitalize(Bundle.getBundle().getString("revision")) + ": "
                            + sv.getRevision() + " " + Bundle.getBundle().getString("of") + " "
                            + sv.getNumRevisions();
                    toWrite += newLine + "\t\t";
                    final DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                    final SimpleDateFormat sdf = new SimpleDateFormat("Z");
                    if (sv.getSignature().getTimeStampToken() == null) {
                        Calendar cal = sv.getSignature().getSignDate();
                        String date = sdf.format(cal.getTime().toLocaleString());
                        toWrite += date + " " + sdf.format(cal.getTime()) + " ("
                                + Bundle.getBundle().getString("signerDateTimeSmall") + ")";
                    } else {
                        Calendar ts = sv.getSignature().getTimeStampDate();
                        String date = df.format(ts.getTime());
                        toWrite += Bundle.getBundle().getString("date") + " " + date + " "
                                + sdf.format(ts.getTime());
                    }
                    toWrite += newLine + "\t\t";
                    boolean ltv = (sv.getOcspCertificateStatus() == CertificateStatus.OK
                            || sv.getCrlCertificateStatus() == CertificateStatus.OK);
                    toWrite += Bundle.getBundle().getString("isLtv") + ": "
                            + (ltv ? Bundle.getBundle().getString("yes") : Bundle.getBundle().getString("no"));
                    String reason = sv.getSignature().getReason();
                    toWrite += newLine + "\t\t";
                    toWrite += Bundle.getBundle().getString("reason") + ": ";
                    if (reason == null) {
                        toWrite += Bundle.getBundle().getString("notDefined");
                    } else if (reason.isEmpty()) {
                        toWrite += Bundle.getBundle().getString("notDefined");
                    } else {
                        toWrite += reason;
                    }
                    String location = sv.getSignature().getLocation();
                    toWrite += newLine + "\t\t";
                    toWrite += Bundle.getBundle().getString("location") + ": ";
                    if (location == null) {
                        toWrite += Bundle.getBundle().getString("notDefined");
                    } else if (location.isEmpty()) {
                        toWrite += Bundle.getBundle().getString("notDefined");
                    } else {
                        toWrite += location;
                    }
                    toWrite += newLine + "\t\t";
                    toWrite += Bundle.getBundle().getString("allowsChanges") + ": ";
                    try {
                        int certLevel = CCInstance.getInstance().getCertificationLevel(sv.getFilename());
                        if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING) {
                            toWrite += Bundle.getBundle().getString("onlyAnnotations");
                        } else if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING_AND_ANNOTATIONS) {
                            toWrite += Bundle.getBundle().getString("annotationsFormFilling");
                        } else if (certLevel == PdfSignatureAppearance.CERTIFIED_NO_CHANGES_ALLOWED) {
                            toWrite += Bundle.getBundle().getString("no");
                        } else {
                            toWrite += Bundle.getBundle().getString("yes");
                        }
                    } catch (IOException ex) {
                        controller.Logger.getLogger().addEntry(ex);
                    }
                    toWrite += newLine + "\t\t";
                    if (sv.getOcspCertificateStatus() == CertificateStatus.OK
                            || sv.getCrlCertificateStatus() == CertificateStatus.OK) {
                        toWrite += (Bundle.getBundle().getString("validationCheck1") + " "
                                + (sv.getOcspCertificateStatus() == CertificateStatus.OK
                                        ? Bundle.getBundle().getString("validationCheck2") + ": "
                                                + CCInstance.getInstance().getCertificateProperty(
                                                        sv.getSignature().getOcsp().getCerts()[0].getSubject(),
                                                        "CN")
                                                + " " + Bundle.getBundle().getString("at") + " "
                                                + df.format(sv.getSignature().getOcsp().getProducedAt())
                                        : (sv.getCrlCertificateStatus() == CertificateStatus.OK ? "CRL" : ""))
                                + (sv.getSignature().getTimeStampToken() != null
                                        ? Bundle.getBundle().getString("validationCheck3") + ": "
                                                + CCInstance.getInstance()
                                                        .getCertificateProperty(sv.getSignature()
                                                                .getTimeStampToken().getSID().getIssuer(), "O")
                                        : ""));
                    } else if (sv.getSignature().getTimeStampToken() != null) {
                        toWrite += (Bundle.getBundle().getString("validationCheck3") + ": "
                                + CCInstance.getInstance().getCertificateProperty(
                                        sv.getSignature().getTimeStampToken().getSID().getIssuer(), "O"));
                    }
                    toWrite += newLine;
                }

                System.out.println(toWrite);
                System.out.println(Bundle.getBundle().getString("validationFinished"));
            }
        } catch (IOException | DocumentException | GeneralSecurityException ex) {
            System.err.println(Bundle.getBundle().getString("validationError"));
            Logger.getLogger(ACCinaPDF.class.getName()).log(Level.SEVERE, null, ex);
        }

    } else {
        // GUI
        CCSignatureSettings defaultSettings = new CCSignatureSettings(false);
        if (SystemUtils.IS_OS_WINDOWS) {
            for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                if ("Windows".equals(info.getName())) {
                    try {
                        UIManager.setLookAndFeel(info.getClassName());
                    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
                            | UnsupportedLookAndFeelException ex) {
                        Logger.getLogger(ACCinaPDF.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                }
            }
        } else if (SystemUtils.IS_OS_LINUX) {
            for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    try {
                        UIManager.setLookAndFeel(info.getClassName());
                    } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
                            | UnsupportedLookAndFeelException ex) {
                        Logger.getLogger(ACCinaPDF.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    break;
                }
            }
        } else if (SystemUtils.IS_OS_MAC_OSX) {
            try {
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.mac.MacLookAndFeel");
            } catch (ClassNotFoundException | InstantiationException | IllegalAccessException
                    | UnsupportedLookAndFeelException ex) {
                Logger.getLogger(ACCinaPDF.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        new SplashScreen().setVisible(true);
    }
}

From source file:view.MultipleValidationDialog.java

License:Open Source License

private void showSignatureValidationDetails(SignatureValidation sv) {
    if (null == sv) {
        panelSignatureDetails.setVisible(false);
    } else {/*w  w w . jav a 2 s.c om*/
        lblRevision.setText("<html><u>" + sv.getRevision() + " " + Bundle.getBundle().getString("of") + " "
                + sv.getNumRevisions() + " (" + Bundle.getBundle().getString("label.clickToExtractRevision")
                + ")</u></html>");
        final DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        SimpleDateFormat sdf = new SimpleDateFormat("Z");
        if (sv.getSignature().getTimeStampToken() == null) {
            Calendar cal = sv.getSignature().getSignDate();
            String date = df.format(cal.getTime().toLocaleString());
            lblDate.setText(date + " " + sdf.format(cal.getTime()) + " ("
                    + Bundle.getBundle().getString("signerDateTimeSmall") + ")");
        } else {
            Calendar ts = sv.getSignature().getTimeStampDate();
            String date = df.format(ts.getTime());
            lblDate.setText(date + " " + sdf.format(ts.getTime()));
        }
        boolean ltv = (sv.getOcspCertificateStatus() == CertificateStatus.OK
                || sv.getCrlCertificateStatus() == CertificateStatus.OK);
        lblLTV.setText(ltv ? Bundle.getBundle().getString("yes") : Bundle.getBundle().getString("no"));
        String reason = sv.getSignature().getReason();
        if (reason == null) {
            lblReason.setText(Bundle.getBundle().getString("notDefined"));
        } else if (reason.isEmpty()) {
            lblReason.setText(Bundle.getBundle().getString("notDefined"));
        } else {
            lblReason.setText(reason);
        }
        String location = sv.getSignature().getLocation();
        if (location == null) {
            lblLocation.setText(Bundle.getBundle().getString("notDefined"));
        } else if (location.isEmpty()) {
            lblLocation.setText(Bundle.getBundle().getString("notDefined"));
        } else {
            lblLocation.setText(location);
        }

        try {
            int certLevel = CCInstance.getInstance().getCertificationLevel(sv.getFilename());
            if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING) {
                lblAllowsChanges.setText(Bundle.getBundle().getString("onlyAnnotations"));
            } else if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING_AND_ANNOTATIONS) {
                lblAllowsChanges.setText(Bundle.getBundle().getString("annotationsFormFilling"));
            } else if (certLevel == PdfSignatureAppearance.CERTIFIED_NO_CHANGES_ALLOWED) {
                lblAllowsChanges.setText(Bundle.getBundle().getString("no"));
            } else {
                lblAllowsChanges.setText(Bundle.getBundle().getString("yes"));
            }
        } catch (IOException ex) {
            controller.Logger.getLogger().addEntry(ex);
        }

        if (sv.getOcspCertificateStatus() == CertificateStatus.OK
                || sv.getCrlCertificateStatus() == CertificateStatus.OK) {
            msg = (Bundle.getBundle().getString("validationCheck1") + " "
                    + (sv.getOcspCertificateStatus() == CertificateStatus.OK
                            ? Bundle.getBundle().getString("validationCheck2") + ": "
                                    + CCInstance.getInstance().getCertificateProperty(
                                            sv.getSignature().getOcsp().getCerts()[0].getSubject(), "CN")
                                    + " " + Bundle.getBundle().getString("at") + " "
                                    + df.format(sv.getSignature().getOcsp().getProducedAt())
                            : (sv.getCrlCertificateStatus() == CertificateStatus.OK ? "CRL" : ""))
                    + (sv.getSignature().getTimeStampToken() != null
                            ? Bundle.getBundle().getString("validationCheck3") + ": "
                                    + CCInstance.getInstance().getCertificateProperty(
                                            sv.getSignature().getTimeStampToken().getSID().getIssuer(), "O")
                            : ""));
            lblAdditionalInfo
                    .setText("<html><u>" + Bundle.getBundle().getString("label.clickToView") + "</u></html>");
            lblAdditionalInfo.setForeground(new java.awt.Color(0, 0, 255));
            lblAdditionalInfo.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        } else if (sv.getSignature().getTimeStampToken() != null) {
            msg = (Bundle.getBundle().getString("validationCheck3") + ": " + CCInstance.getInstance()
                    .getCertificateProperty(sv.getSignature().getTimeStampToken().getSID().getIssuer(), "O"));
            lblAdditionalInfo
                    .setText("<html><u>" + Bundle.getBundle().getString("label.clickToView") + "</u></html>");
            lblAdditionalInfo.setForeground(new java.awt.Color(0, 0, 255));
            lblAdditionalInfo.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        } else {
            msg = null;
        }

        panelSignatureDetails.setVisible(true);
    }
}

From source file:view.MultipleValidationDialog.java

License:Open Source License

private void btnSaveInFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveInFileActionPerformed
    String toWrite = "";
    String newLine = System.getProperty("line.separator");
    if (hmValidation.size() > 0) {
        for (Map.Entry<ValidationFileListEntry, ArrayList<SignatureValidation>> entry : hmValidation
                .entrySet()) {/* w  w w .j av a  2s .  c  om*/
            toWrite += WordUtils.capitalize(Bundle.getBundle().getString("file")) + ": "
                    + entry.getKey().getFilename() + " (";
            int numSigs = entry.getKey().getNumSignatures();
            if (numSigs == 0) {
                toWrite += Bundle.getBundle().getString("noSignatures");
            } else if (numSigs == 1) {
                toWrite += "1 " + Bundle.getBundle().getString("signature");
            } else {
                toWrite += numSigs + " " + Bundle.getBundle().getString("signatures");
            }
            toWrite += ")" + newLine;

            for (SignatureValidation sv : entry.getValue()) {
                toWrite += "\t" + sv.getName() + " - ";
                toWrite += (sv.isCertification()
                        ? WordUtils.capitalize(Bundle.getBundle().getString("certificate"))
                        : WordUtils.capitalize(Bundle.getBundle().getString("signed"))) + " "
                        + Bundle.getBundle().getString("by") + " " + sv.getSignerName();
                toWrite += newLine + "\t\t";
                if (sv.isChanged()) {
                    toWrite += Bundle.getBundle().getString("certifiedChangedOrCorrupted");
                } else if (sv.isCertification()) {
                    if (sv.isValid()) {
                        if (sv.isChanged() || !sv.isCoversEntireDocument()) {
                            toWrite += Bundle.getBundle().getString("certifiedButChanged");
                        } else {
                            toWrite += Bundle.getBundle().getString("certifiedOk");
                        }
                    } else {
                        toWrite += Bundle.getBundle().getString("changedAfterCertified");
                    }
                } else if (sv.isValid()) {
                    if (sv.isChanged()) {
                        toWrite += Bundle.getBundle().getString("signedButChanged");
                    } else {
                        toWrite += Bundle.getBundle().getString("signedOk");
                    }
                } else {
                    toWrite += Bundle.getBundle().getString("signedChangedOrCorrupted");
                }
                toWrite += newLine + "\t\t";
                if (sv.getOcspCertificateStatus().equals(CertificateStatus.OK)
                        || sv.getCrlCertificateStatus().equals(CertificateStatus.OK)) {
                    toWrite += Bundle.getBundle().getString("certOK");
                } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.REVOKED)
                        || sv.getCrlCertificateStatus().equals(CertificateStatus.REVOKED)) {
                    toWrite += Bundle.getBundle().getString("certRevoked");
                } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.UNCHECKED)
                        && sv.getCrlCertificateStatus().equals(CertificateStatus.UNCHECKED)) {
                    toWrite += Bundle.getBundle().getString("certNotVerified");
                } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.UNCHAINED)) {
                    toWrite += Bundle.getBundle().getString("certNotChained");
                } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.EXPIRED)) {
                    toWrite += Bundle.getBundle().getString("certExpired");
                } else if (sv.getOcspCertificateStatus().equals(CertificateStatus.CHAINED_LOCALLY)) {
                    toWrite += Bundle.getBundle().getString("certChainedLocally");
                }
                toWrite += newLine + "\t\t";
                if (sv.isValidTimeStamp()) {
                    toWrite += Bundle.getBundle().getString("validTimestamp");
                } else {
                    toWrite += Bundle.getBundle().getString("signerDateTime");
                }
                toWrite += newLine + "\t\t";

                toWrite += WordUtils.capitalize(Bundle.getBundle().getString("revision")) + ": "
                        + sv.getRevision() + " " + Bundle.getBundle().getString("of") + " "
                        + sv.getNumRevisions();
                toWrite += newLine + "\t\t";
                final DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                final SimpleDateFormat sdf = new SimpleDateFormat("Z");
                if (sv.getSignature().getTimeStampToken() == null) {
                    Calendar cal = sv.getSignature().getSignDate();
                    String date = sdf.format(cal.getTime().toLocaleString());
                    toWrite += date + " " + sdf.format(cal.getTime()) + " ("
                            + Bundle.getBundle().getString("signerDateTimeSmall") + ")";
                } else {
                    Calendar ts = sv.getSignature().getTimeStampDate();
                    String date = df.format(ts.getTime());
                    toWrite += Bundle.getBundle().getString("date") + " " + date + " "
                            + sdf.format(ts.getTime());
                }
                toWrite += newLine + "\t\t";
                boolean ltv = (sv.getOcspCertificateStatus() == CertificateStatus.OK
                        || sv.getCrlCertificateStatus() == CertificateStatus.OK);
                toWrite += Bundle.getBundle().getString("isLtv") + ": "
                        + (ltv ? Bundle.getBundle().getString("yes") : Bundle.getBundle().getString("no"));
                String reason = sv.getSignature().getReason();
                toWrite += newLine + "\t\t";
                toWrite += Bundle.getBundle().getString("reason") + ": ";
                if (reason == null) {
                    toWrite += Bundle.getBundle().getString("notDefined");
                    ;
                } else if (reason.isEmpty()) {
                    toWrite += Bundle.getBundle().getString("notDefined");
                } else {
                    toWrite += reason;
                }
                String location = sv.getSignature().getLocation();
                toWrite += newLine + "\t\t";
                toWrite += Bundle.getBundle().getString("location") + ": ";
                if (location == null) {
                    toWrite += Bundle.getBundle().getString("notDefined");
                } else if (location.isEmpty()) {
                    toWrite += Bundle.getBundle().getString("notDefined");
                } else {
                    toWrite += location;
                }
                toWrite += newLine + "\t\t";
                toWrite += Bundle.getBundle().getString("allowsChanges") + ": ";
                try {
                    int certLevel = CCInstance.getInstance().getCertificationLevel(sv.getFilename());
                    if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING) {
                        toWrite += Bundle.getBundle().getString("onlyAnnotations");
                    } else if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING_AND_ANNOTATIONS) {
                        toWrite += Bundle.getBundle().getString("annotationsFormFilling");
                    } else if (certLevel == PdfSignatureAppearance.CERTIFIED_NO_CHANGES_ALLOWED) {
                        toWrite += Bundle.getBundle().getString("no");
                    } else {
                        toWrite += Bundle.getBundle().getString("yes");
                    }
                } catch (IOException ex) {
                    controller.Logger.getLogger().addEntry(ex);
                }
                toWrite += newLine + "\t\t";
                if (sv.getOcspCertificateStatus() == CertificateStatus.OK
                        || sv.getCrlCertificateStatus() == CertificateStatus.OK) {
                    toWrite += (Bundle.getBundle().getString("validationCheck1") + " "
                            + (sv.getOcspCertificateStatus() == CertificateStatus.OK
                                    ? Bundle.getBundle().getString("validationCheck2") + ": "
                                            + CCInstance.getInstance().getCertificateProperty(
                                                    sv.getSignature().getOcsp().getCerts()[0].getSubject(),
                                                    "CN")
                                            + " " + Bundle.getBundle().getString("at") + " "
                                            + df.format(sv.getSignature().getOcsp().getProducedAt())
                                    : (sv.getCrlCertificateStatus() == CertificateStatus.OK ? "CRL" : ""))
                            + (sv.getSignature().getTimeStampToken() != null
                                    ? Bundle.getBundle().getString("validationCheck3") + ": "
                                            + CCInstance.getInstance()
                                                    .getCertificateProperty(sv.getSignature()
                                                            .getTimeStampToken().getSID().getIssuer(), "O")
                                    : ""));
                } else if (sv.getSignature().getTimeStampToken() != null) {
                    toWrite += (Bundle.getBundle().getString("validationCheck3") + ": "
                            + CCInstance.getInstance().getCertificateProperty(
                                    sv.getSignature().getTimeStampToken().getSID().getIssuer(), "O"));
                }
                toWrite += newLine;
            }
        }
        writeToFile(toWrite);
    }
}

From source file:view.WorkspacePanel.java

License:Open Source License

private void showSignatureValidationDetails(SignatureValidation sv) {
    if (null == sv) {
        panelSignatureDetails.setVisible(false);
    } else {//w w w. ja  v a2  s.  com
        lblRevision.setText("<html><u>" + sv.getRevision() + " " + Bundle.getBundle().getString("of") + " "
                + sv.getNumRevisions() + " (" + Bundle.getBundle().getString("label.clickToExtractRevision")
                + ")</u></html>");
        final DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        SimpleDateFormat sdf = new SimpleDateFormat("Z");
        if (sv.getSignature().getTimeStampToken() == null) {
            Calendar cal = sv.getSignature().getSignDate();
            String date = df.format(cal.getTime());
            lblDate.setText(date + " " + sdf.format(cal.getTime()) + " ("
                    + Bundle.getBundle().getString("signerDateTimeSmall") + ")");
        } else {
            Calendar ts = sv.getSignature().getTimeStampDate();
            String date = df.format(ts.getTime());
            lblDate.setText(date + " " + sdf.format(ts.getTime()));
        }
        boolean ltv = (sv.getOcspCertificateStatus() == CertificateStatus.OK
                || sv.getCrlCertificateStatus() == CertificateStatus.OK);
        lblLTV.setText(ltv ? Bundle.getBundle().getString("yes") : Bundle.getBundle().getString("no"));
        String reason = sv.getSignature().getReason();
        if (reason == null) {
            lblReason.setText(Bundle.getBundle().getString("notDefined"));
        } else if (reason.isEmpty()) {
            lblReason.setText(Bundle.getBundle().getString("notDefined"));
        } else {
            lblReason.setText(reason);
        }
        String location = sv.getSignature().getLocation();
        if (location == null) {
            lblLocation.setText(Bundle.getBundle().getString("notDefined"));
        } else if (location.isEmpty()) {
            lblLocation.setText(Bundle.getBundle().getString("notDefined"));
        } else {
            lblLocation.setText(location);
        }

        try {
            int certLevel = CCInstance.getInstance().getCertificationLevel(document.getDocumentLocation());
            if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING) {
                lblAllowsChanges.setText(Bundle.getBundle().getString("onlyAnnotations"));
            } else if (certLevel == PdfSignatureAppearance.CERTIFIED_FORM_FILLING_AND_ANNOTATIONS) {
                lblAllowsChanges.setText(Bundle.getBundle().getString("annotationsFormFilling"));
            } else if (certLevel == PdfSignatureAppearance.CERTIFIED_NO_CHANGES_ALLOWED) {
                lblAllowsChanges.setText(Bundle.getBundle().getString("no"));
            } else {
                lblAllowsChanges.setText(Bundle.getBundle().getString("yes"));
            }
        } catch (IOException ex) {
            controller.Logger.getLogger().addEntry(ex);
        }

        if (sv.getOcspCertificateStatus() == CertificateStatus.OK
                || sv.getCrlCertificateStatus() == CertificateStatus.OK) {
            msg = (Bundle.getBundle().getString("validationCheck1") + " "
                    + (sv.getOcspCertificateStatus() == CertificateStatus.OK
                            ? Bundle.getBundle().getString("validationCheck2") + ": "
                                    + CCInstance.getInstance().getCertificateProperty(
                                            sv.getSignature().getOcsp().getCerts()[0].getSubject(), "CN")
                                    + " " + Bundle.getBundle().getString("at") + " "
                                    + df.format(sv.getSignature().getOcsp().getProducedAt())
                            : (sv.getCrlCertificateStatus() == CertificateStatus.OK ? "CRL" : ""))
                    + (sv.getSignature().getTimeStampToken() != null
                            ? "\n" + Bundle.getBundle().getString("validationCheck3") + ": "
                                    + CCInstance.getInstance().getCertificateProperty(
                                            sv.getSignature().getTimeStampToken().getSID().getIssuer(), "O")
                            : ""));
            lblAdditionalInfo
                    .setText("<html><u>" + Bundle.getBundle().getString("label.clickToView") + "</u></html>");
            lblAdditionalInfo.setForeground(new java.awt.Color(0, 0, 255));
            lblAdditionalInfo.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        } else if (sv.getSignature().getTimeStampToken() != null) {
            msg = (Bundle.getBundle().getString("validationCheck3") + ": " + CCInstance.getInstance()
                    .getCertificateProperty(sv.getSignature().getTimeStampToken().getSID().getIssuer(), "O"));
            lblAdditionalInfo
                    .setText("<html><u>" + Bundle.getBundle().getString("label.clickToView") + "</u></html>");
            lblAdditionalInfo.setForeground(new java.awt.Color(0, 0, 255));
            lblAdditionalInfo.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        } else {
            msg = null;
        }
        panelSignatureDetails.setVisible(true);
    }
}

From source file:view.WorkspacePanel.java

License:Open Source License

private void btnApplySignatureActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnApplySignatureActionPerformed
    if (tempCCAlias != null) {
        signatureSettings.setPageNumber(imagePanel.getPageNumber());
        signatureSettings.setCcAlias(tempCCAlias);
        signatureSettings.setReason(tfReason.getText());
        signatureSettings.setLocation(tfLocation.getText());
        if (jRadioButton1.isSelected()) {
            signatureSettings.setCertificationLevel(PdfSignatureAppearance.NOT_CERTIFIED);
        } else if (jRadioButton2.isSelected()) {
            signatureSettings.setCertificationLevel(PdfSignatureAppearance.CERTIFIED_NO_CHANGES_ALLOWED);
        } else if (jRadioButton3.isSelected()) {
            signatureSettings.setCertificationLevel(PdfSignatureAppearance.CERTIFIED_FORM_FILLING);
        } else if (jRadioButton4.isSelected()) {
            signatureSettings/*from   w  w  w  .  j a  v a  2 s . c om*/
                    .setCertificationLevel(PdfSignatureAppearance.CERTIFIED_FORM_FILLING_AND_ANNOTATIONS);
        }
        signatureSettings.setOcspClient(true);
        if (cbTimestamp.isSelected()) {
            signatureSettings.setTimestamp(true);
            if (tfTimestamp.getText().isEmpty()) {
                JOptionPane.showMessageDialog(mainWindow, Bundle.getBundle().getString("msg.timestampEmpty"),
                        "", JOptionPane.ERROR_MESSAGE);
                return;
            } else {
                signatureSettings.setTimestampServer(tfTimestamp.getText());
            }
        } else {
            signatureSettings.setTimestamp(false);
            cbTimestamp.setSelected(false);
            tfTimestamp.setVisible(false);
        }
        signatureSettings.setVisibleSignature(cbVisibleSignature.isSelected());

        if (cbVisibleSignature.isSelected()) {
            Point p = tempSignature.getScaledPositionOnDocument();
            Dimension d = tempSignature.getScaledSizeOnDocument();
            float p1 = (float) p.getX();
            float p3 = (float) d.getWidth() + p1;
            float p2 = (float) ((document.getPageDimension(imagePanel.getPageNumber(), 0).getHeight())
                    - (p.getY() + d.getHeight()));
            float p4 = (float) d.getHeight() + p2;

            signatureSettings.setVisibleSignature(true);
            if (tempSignature.getImageLocation() != null) {
                signatureSettings.getAppearance().setImageLocation(tempSignature.getImageLocation());
            }
            Rectangle rect = new Rectangle(p1, p2, p3, p4);
            signatureSettings.setSignaturePositionOnDocument(rect);
            signatureSettings.setText(tfText.getText());
        } else {
            signatureSettings.setVisibleSignature(false);
        }
        if (mainWindow.getOpenedFiles().size() > 1) {
            Object[] options = { Bundle.getBundle().getString("menuItem.allDocuments"),
                    Bundle.getBundle().getString("menuItem.onlyThis"),
                    Bundle.getBundle().getString("btn.cancel") };
            int i = JOptionPane.showOptionDialog(null,
                    Bundle.getBundle().getString("msg.multipleDocumentsOpened"),
                    Bundle.getBundle().getString("msg.multipleDocumentsOpenedTitle"),
                    JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
            if (i == 0) {
                signBatch(signatureSettings);
            } else if (i == 1) {
                signDocument(document, true, true);
            }
        } else {
            signDocument(document, true, true);
        }
    } else {
        JOptionPane.showMessageDialog(mainWindow, Bundle.getBundle().getString("noSmartcardFound"),
                WordUtils.capitalize(Bundle.getBundle().getString("error")), JOptionPane.ERROR_MESSAGE);
        changeCard(CardEnum.SIGN_PANEL, false);
    }
}