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: [email protected]
For additional commands, e-mail: [email protected]