Spire.PDF for Android via Java 10.8.5 adds SHA-256/SHA-512 certificate signing support

2026-08-06 08:12:31

We're pleased to announce the release of Spire.PDF for Android via Java 10.8.5. This version adds support for signing PDF documents with certificates using SHA-256/SHA-512 algorithms. More details are listed below.

Here is a list of changes made in this release

Category ID Description
New Feature - Added support for signing with SHA-256/SHA-512 algorithm certificates.
public static void main(String[] args) throws IOException {
        // Create pdf document        PdfDocument doc = new PdfDocument();
        // Load file from disk        doc.loadFromFile("Sample.pdf");
        // Load the X509 certificate for signature        PdfPKCS7Formatter formatter = new PdfPKCS7Formatter(new PdfCertificate("gary.pfx", "e-iceblue"), false);
        // Create an instance of PdfOrdinarySignatureMaker using the loaded document and certificate        PdfOrdinarySignatureMaker signatureMaker = new PdfOrdinarySignatureMaker(doc, formatter);
        // Create an instance of PdfCustomSignatureAppearance as the appearance for the signature        IPdfSignatureAppearance signatureAppearance = new PdfCustomSignatureAppearance();
        // Make the signature with a specified name and the custom appearance        signatureMaker.makeSignature("Signature", signatureAppearance);
        // Iterate through all hash algorithm types        for (HashAlgorithmType hashAlg : HashAlgorithmType.values()) {
        // Skip SM3 (case-insensitive)            if ("SM3".equalsIgnoreCase(hashAlg.name())) {
                continue;
            }
            try {
                // Set the current hash algorithm                formatter.getProperties().setHashAlgorithm(hashAlg);
                String filePath = "AddImageSignature_" + hashAlg.name() + ".pdf";
                doc.saveToFile(filePath, FileFormat.PDF);
                System.out.println("Succeed:" + hashAlg.name());
            } catch (Exception ex) {
                System.out.println("Error HashAlgorithmType:" + hashAlg.name());
                System.out.println("Error Info:" + ex.getMessage());
            }
        }
        // Close the document        doc.close();
    }
    // Custom signature appearance implementation    public static class PdfCustomSignatureAppearance implements IPdfSignatureAppearance {
        @Override
        public void generate(PdfCanvas pdfCanvas) {
            // Set font size            int fontSize = 10;
            // Create Arial font            PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", Font.PLAIN, fontSize), true);
            // Set line height            float lineHeight = fontSize;
            // Draw text string            pdfCanvas.drawString("AAAAAAAAAAA", font, PdfBrushes.getRed(), new Point.Float(0, 0));
            // Draw image at specified position            pdfCanvas.drawImage(PdfImage.fromFile("E-iceblue logo.png"), new Point.Float(20, 0));
        }
    }
Click the link below to download Spire.PDF for Android via Java 10.8.5: