1 /* 2 * Copyright (c) 2003, 2017, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.jarsigner; 27 28 import java.net.URI; 29 import java.security.cert.X509Certificate; 30 import java.util.zip.ZipFile; 31 32 /** 33 * This interface encapsulates the parameters for a ContentSigner object. 34 * 35 * @since 1.5 36 * @author Vincent Ryan 37 * @deprecated This class has been deprecated. 38 */ 39 @Deprecated(since="9") 40 public interface ContentSignerParameters { 41 42 /** 43 * Retrieves the command-line arguments passed to the jarsigner tool. 44 * 45 * @return The command-line arguments. May be null. 46 */ getCommandLine()47 public String[] getCommandLine(); 48 49 /** 50 * Retrieves the identifier for a Timestamping Authority (TSA). 51 * 52 * @return The TSA identifier. May be null. 53 */ getTimestampingAuthority()54 public URI getTimestampingAuthority(); 55 56 /** 57 * Retrieves the certificate for a Timestamping Authority (TSA). 58 * 59 * @return The TSA certificate. May be null. 60 */ getTimestampingAuthorityCertificate()61 public X509Certificate getTimestampingAuthorityCertificate(); 62 63 /** 64 * Retrieves the TSAPolicyID for a Timestamping Authority (TSA). 65 * 66 * @return The TSAPolicyID. May be null. 67 */ getTSAPolicyID()68 public default String getTSAPolicyID() { 69 return null; 70 } 71 72 /** 73 * Retreives the message digest algorithm that is used to generate 74 * the message imprint to be sent to the TSA server. 75 * 76 * @since 9 77 * @return The non-null string of the message digest algorithm name. 78 */ getTSADigestAlg()79 public default String getTSADigestAlg() { 80 return "SHA-256"; 81 } 82 83 /** 84 * Retrieves the JAR file's signature. 85 * 86 * @return The non-null array of signature bytes. 87 */ getSignature()88 public byte[] getSignature(); 89 90 /** 91 * Retrieves the name of the signature algorithm. 92 * 93 * @return The non-null string name of the signature algorithm. 94 */ getSignatureAlgorithm()95 public String getSignatureAlgorithm(); 96 97 /** 98 * Retrieves the signer's X.509 certificate chain. 99 * 100 * @return The non-null array of X.509 public-key certificates. 101 */ getSignerCertificateChain()102 public X509Certificate[] getSignerCertificateChain(); 103 104 /** 105 * Retrieves the content that was signed. 106 * The content is the JAR file's signature file. 107 * 108 * @return The content bytes. May be null. 109 */ getContent()110 public byte[] getContent(); 111 112 /** 113 * Retrieves the original source ZIP file before it was signed. 114 * 115 * @return The original ZIP file. May be null. 116 */ getSource()117 public ZipFile getSource(); 118 } 119