Author: markt Date: Tue Jul 29 11:04:26 2014 New Revision: 1614307 URL: http://svn.apache.org/r1614307 Log: Revert unintentional code signing changes from r1614297
Modified: tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java tomcat/trunk/res/checkstyle/org-import-control.xml Modified: tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java?rev=1614307&r1=1614306&r2=1614307&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java (original) +++ tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java Tue Jul 29 11:04:26 2014 @@ -16,34 +16,14 @@ */ package org.apache.tomcat.buildutil; -import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.net.URL; import java.util.ArrayList; import java.util.List; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; -import javax.xml.soap.MessageFactory; -import javax.xml.soap.SOAPBody; -import javax.xml.soap.SOAPConnection; -import javax.xml.soap.SOAPConnectionFactory; -import javax.xml.soap.SOAPConstants; -import javax.xml.soap.SOAPElement; -import javax.xml.soap.SOAPEnvelope; -import javax.xml.soap.SOAPException; -import javax.xml.soap.SOAPMessage; -import javax.xml.soap.SOAPPart; - -import org.apache.tomcat.util.codec.binary.Base64; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Task; import org.apache.tools.ant.types.FileSet; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; /** * Ant task that submits a file to the Symantec code-signing service. @@ -52,9 +32,6 @@ public class SignCode extends Task { private final List<FileSet> filesets = new ArrayList<>(); - private static String USERNAME = "AOOAPI"; - private static String PASSWORD = "Demo1234!"; - private static String PARTNERCODE = "4615797APA95264"; public void addFileset(FileSet fileset) { filesets.add(fileset); @@ -76,151 +53,9 @@ public class SignCode extends Task { for (int i = 0; i < files.length; i++) { File file = new File(basedir, files[i]); filesToSign.add(file); + log("TODO: Sign " + file.getAbsolutePath()); } } } - - try { - // Construct the signing request - log("Constructing the code signing request"); - - // Create the SOAP message - MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL); - SOAPMessage message = factory.createMessage(); - - // Populate envelope - SOAPPart soapPart = message.getSOAPPart(); - SOAPEnvelope envelope = soapPart.getEnvelope(); - envelope.addNamespaceDeclaration("soapenv","http://schemas.xmlsoap.org/soap/envelope/"); - envelope.addNamespaceDeclaration("cod","http://api.ws.symantec.com/webtrust/codesigningservice"); - - SOAPBody body = envelope.getBody(); - - SOAPElement requestSigning = - body.addChildElement("requestSigning", "cod"); - - SOAPElement requestSigningRequest = - requestSigning.addChildElement("requestSigningRequest", "cod"); - - SOAPElement authToken = requestSigningRequest.addChildElement("authToken", "cod"); - SOAPElement userName = authToken.addChildElement("userName", "cod"); - userName.addTextNode(USERNAME); - SOAPElement password = authToken.addChildElement("password", "cod"); - password.addTextNode(PASSWORD); - SOAPElement partnerCode = authToken.addChildElement("partnerCode", "cod"); - partnerCode.addTextNode(PARTNERCODE); - - SOAPElement applicationName = - requestSigningRequest.addChildElement("applicationName", "cod"); - applicationName.addTextNode("Apache Tomcat"); - - SOAPElement applicationVersion = - requestSigningRequest.addChildElement("applicationVersion", "cod"); - applicationVersion.addTextNode("8.0.x trunk"); - - SOAPElement signingServiceName = - requestSigningRequest.addChildElement("signingServiceName", "cod"); - signingServiceName.addTextNode("Microsoft Signing"); - - SOAPElement commaDelimitedFileNames = - requestSigningRequest.addChildElement("commaDelimitedFileNames", "cod"); - commaDelimitedFileNames.addTextNode(getFileNames(filesToSign.size())); - - SOAPElement application = - requestSigningRequest.addChildElement("application", "cod"); - application.addTextNode(getApplicationString(filesToSign)); - - // Send the message - SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); - SOAPConnection connection = soapConnectionFactory.createConnection(); - java.net.URL endpoint = new URL("https://test-api.ws.symantec.com:443/webtrust/SigningService"); - - log("Sending siging request to server and waiting for reponse"); - SOAPMessage response = connection.call(message, endpoint); - - log("Processing response"); - SOAPElement responseBody = response.getSOAPBody(); - log(responseBody.getTextContent()); - - // Should come back signed - NodeList bodyNodes = responseBody.getChildNodes(); - NodeList requestSigningResponseNodes = bodyNodes.item(0).getChildNodes(); - NodeList returnNodes = requestSigningResponseNodes.item(0).getChildNodes(); - - String signingSetID = null; - String signingSetStatus = null; - - for (int i = 0; i < returnNodes.getLength(); i++) { - Node returnNode = returnNodes.item(i); - if (returnNode.getLocalName().equals("signingSetID")) { - signingSetID = returnNode.getTextContent(); - } else if (returnNode.getLocalName().equals("signingSetStatus")) { - signingSetStatus = returnNode.getTextContent(); - } - } - - if (!"SIGNED".equals(signingSetStatus)) { - throw new BuildException("Signing failed. Status was: " + signingSetStatus); - } - - log("TODO: Download signingSet: " + signingSetID); - - - } catch (SOAPException | IOException e) { - throw new BuildException(e); - } - } - - /** - * Signing service requires unique files names. Since files will be returned - * in order, use dummy names that we know are unique. - */ - private String getFileNames(int fileCount) { - StringBuilder sb = new StringBuilder(); - - boolean first = true; - - for (int i = 0; i < fileCount; i++) { - if (first) { - first = false; - } else { - sb.append(','); - } - sb.append(Integer.toString(i)); - } - return sb.toString(); - } - - /** - * Zips the files, base 64 encodes the resulting zip and then returns the - * string. It would be far more efficient to stream this directly to the - * signing server but the files that need to be signed are relatively small - * and this simpler to write. - * - * @param files Files to be signed - */ - private String getApplicationString(List<File> files) throws IOException { - // 10 MB should be more than enough for Tomcat - ByteArrayOutputStream baos = new ByteArrayOutputStream(10 * 1024 * 1024); - try (ZipOutputStream zos = new ZipOutputStream(baos)) { - - byte[] buf = new byte[32 * 1024]; - - for (int i = 0; i < files.size() ; i++) { - try (FileInputStream fis = new FileInputStream(files.get(i))) { - ZipEntry zipEntry = new ZipEntry(Integer.toString(i)); - zos.putNextEntry(zipEntry); - - int numRead; - while ( (numRead = fis.read(buf) ) >= 0) { - zos.write(buf, 0, numRead); - } - } - } - } - - log("" + baos.size()); - - return Base64.encodeBase64String(baos.toByteArray()); } } Modified: tomcat/trunk/res/checkstyle/org-import-control.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/res/checkstyle/org-import-control.xml?rev=1614307&r1=1614306&r2=1614307&view=diff ============================================================================== --- tomcat/trunk/res/checkstyle/org-import-control.xml (original) +++ tomcat/trunk/res/checkstyle/org-import-control.xml Tue Jul 29 11:04:26 2014 @@ -124,7 +124,6 @@ <allow pkg="javax.servlet"/> <subpackage name="buildutil"> <allow pkg="org.apache.tools.ant"/> - <allow pkg="org.apache.tomcat.util"/> </subpackage> <subpackage name="dbcp"> <allow pkg="org.apache.juli"/> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org