1 /* 2 * Copyright (c) 2003, 2015, 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 @jdk.Exported 40 @Deprecated 41 public interface ContentSignerParameters { 42 43 /** 44 * Retrieves the command-line arguments passed to the jarsigner tool. 45 * 46 * @return The command-line arguments. May be null. 47 */ 48 public String[] getCommandLine(); 49 50 /** 51 * Retrieves the identifier for a Timestamping Authority (TSA). 52 * 53 * @return The TSA identifier. May be null. 54 */ 55 public URI getTimestampingAuthority(); 56 57 /** 58 * Retrieves the certificate for a Timestamping Authority (TSA). 59 * 60 * @return The TSA certificate. May be null. 61 */ 62 public X509Certificate getTimestampingAuthorityCertificate(); 63 64 /** 65 * Retrieves the TSAPolicyID for a Timestamping Authority (TSA). 66 * 67 * @return The TSAPolicyID. May be null. 68 */ 69 public default String getTSAPolicyID() { 70 return null; 71 } 72 73 /** 74 * Retreives the message digest algorithm that is used to generate 75 * the message imprint to be sent to the TSA server. 76 * 77 * @since 9 78 * @return The non-null string of the message digest algorithm name. 79 */ 80 public default String getTSADigestAlg() { 81 return "SHA-256"; 82 } 83 84 /** 85 * Retrieves the JAR file's signature. 86 * 87 * @return The non-null array of signature bytes. 88 */ 89 public byte[] getSignature(); 90 91 /** 92 * Retrieves the name of the signature algorithm. 93 * 94 * @return The non-null string name of the signature algorithm. 95 */ 96 public String getSignatureAlgorithm(); 97 98 /** 99 * Retrieves the signer's X.509 certificate chain. 100 * 101 * @return The non-null array of X.509 public-key certificates. 102 */ 103 public X509Certificate[] getSignerCertificateChain(); 104 105 /** 106 * Retrieves the content that was signed. 107 * The content is the JAR file's signature file. 108 * 109 * @return The content bytes. May be null. 110 */ 111 public byte[] getContent(); 112 113 /** 114 * Retrieves the original source ZIP file before it was signed. 115 * 116 * @return The original ZIP file. May be null. 117 */ 118 public ZipFile getSource(); 119 }