Author: psharples
Date: Wed Aug 15 20:07:39 2012
New Revision: 1373611

URL: http://svn.apache.org/viewvc?rev=1373611&view=rev
Log:
Improvement. If no key file found, generate an empty key file under 
WEB-INF/classes, as suggested by Scott.

Modified:
    
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java
    incubator/wookie/trunk/src/org/apache/wookie/messages.properties
    incubator/wookie/trunk/src/org/apache/wookie/messages_nl.properties
    incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java?rev=1373611&r1=1373610&r2=1373611&view=diff
==============================================================================
--- 
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java 
(original)
+++ 
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetsController.java 
Wed Aug 15 20:07:39 2012
@@ -16,6 +16,7 @@ package org.apache.wookie.controller;
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -268,17 +269,25 @@ public class WidgetsController extends C
         fac.setFeatures(Features.getFeatureNames());
         fac.setStartPageProcessor(new StartPageProcessor());
         if (VERIFYSIGNATURE) {
-            InputStream stream = getServletContext().getResourceAsStream(
-                    "/WEB-INF/classes/" + KEYSTORE);
-            if(stream != null){
-                KeyStore keyStore = KeyStore.getInstance("JKS");
+            KeyStore keyStore = KeyStore.getInstance("JKS");
+            InputStream stream = 
getServletContext().getResourceAsStream("/WEB-INF/classes/" + KEYSTORE);
+            if (stream == null) {
+                stream = 
getServletContext().getResourceAsStream("/WEB-INF/classes/" + "generated-" + 
KEYSTORE);
+            }
+            if (stream == null) {
+                FileOutputStream fos = new FileOutputStream(getServletContext()
+                        .getRealPath("/WEB-INF/classes/") + "generated-" + 
KEYSTORE);
+                keyStore.load(null, PASSWORD.toCharArray());
+                keyStore.store(fos, PASSWORD.toCharArray());
+                fos.close();
+                fac.setDigitalSignatureParser(new 
DigitalSignatureProcessor(keyStore,
+                        REJECTINVALID, REJECTUNTRUSTED));
+                _logger.info(localizedMessages.getString("WidgetHotDeploy.4"));
+            } else {
                 keyStore.load(stream, PASSWORD.toCharArray());
                 stream.close();
                 fac.setDigitalSignatureParser(new 
DigitalSignatureProcessor(keyStore,
                         REJECTINVALID, REJECTUNTRUSTED));
-            }else{
-                _logger.error(localizedMessages.getString("WidgetHotDeploy.4") 
+ 
-                        " (/WEB-INF/classes/" + KEYSTORE+") " + 
localizedMessages.getString("WidgetHotDeploy.5"));
             }
         }
         W3CWidget widgetModel = fac.parse(zipFile);

Modified: incubator/wookie/trunk/src/org/apache/wookie/messages.properties
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/messages.properties?rev=1373611&r1=1373610&r2=1373611&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/messages.properties (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/messages.properties Wed Aug 15 
20:07:39 2012
@@ -41,8 +41,7 @@ WidgetHotDeploy.0=Hot deploy disabled
 WidgetHotDeploy.1=Hot deploy error: Unable to move dropped .wgt file to upload 
folder
 WidgetHotDeploy.2=Hot deploy error: file is not a valid widget package
 WidgetHotDeploy.3=Hot deploy error: widget has invalid manifest
-WidgetHotDeploy.4=Unable to load specified key file.
-WidgetHotDeploy.5=Digital Signature Verification is not enabled.
+WidgetHotDeploy.4=Unable to load specified key file, so a new one was generated
 
 WidgetServiceServlet.0=No valid requestid was found.
 WidgetServiceServlet.1=completed

Modified: incubator/wookie/trunk/src/org/apache/wookie/messages_nl.properties
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/messages_nl.properties?rev=1373611&r1=1373610&r2=1373611&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/messages_nl.properties 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/messages_nl.properties Wed Aug 
15 20:07:39 2012
@@ -41,8 +41,7 @@ WidgetHotDeploy.0=Hot deploy disabled (d
 WidgetHotDeploy.1=Hot deploy error: Unable to move dropped .wgt file to upload 
folder (dutch)
 WidgetHotDeploy.2=Hot deploy error: file is not a valid widget package (dutch)
 WidgetHotDeploy.3=Hot deploy error: widget has invalid manifest (dutch)
-WidgetHotDeploy.4=Unable to load specified key file.(dutch)
-WidgetHotDeploy.5=Digital Signature Verification is not enabled.(dutch)
+WidgetHotDeploy.4=Unable to load specified key file, so a new one was 
generated (dutch)
 
 WidgetServiceServlet.0=No valid requestid was found.(dutch)
 WidgetServiceServlet.1=completed(dutch)

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java?rev=1373611&r1=1373610&r2=1373611&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java 
Wed Aug 15 20:07:39 2012
@@ -15,6 +15,7 @@
 package org.apache.wookie.server;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.security.KeyStore;
@@ -197,17 +198,25 @@ public class ContextListener implements 
                             fac.setFeatures(Features.getFeatureNames());
                             fac.setStartPageProcessor(new 
StartPageProcessor());
                             if (VERIFYSIGNATURE) {
-                                InputStream stream = context
-                                .getResourceAsStream("/WEB-INF/classes/" + 
KEYSTORE);
-                                if(stream != null){
-                                    KeyStore keyStore = 
KeyStore.getInstance("JKS");
+                                KeyStore keyStore = 
KeyStore.getInstance("JKS");
+                                InputStream stream = 
context.getResourceAsStream("/WEB-INF/classes/" + KEYSTORE);
+                                if (stream == null) {
+                                    stream = 
context.getResourceAsStream("/WEB-INF/classes/" + "generated-" + KEYSTORE);
+                                }
+                                if (stream == null) {
+                                    FileOutputStream fos = new 
FileOutputStream(context
+                                            .getRealPath("/WEB-INF/classes/") 
+ "generated-" + KEYSTORE);
+                                    keyStore.load(null, 
PASSWORD.toCharArray());
+                                    keyStore.store(fos, 
PASSWORD.toCharArray());
+                                    fos.close();
+                                    fac.setDigitalSignatureParser(new 
DigitalSignatureProcessor(keyStore,
+                                            REJECTINVALID, REJECTUNTRUSTED));
+                                    
_logger.info(localizedMessages.getString("WidgetHotDeploy.4"));
+                                } else {
                                     keyStore.load(stream, 
PASSWORD.toCharArray());
                                     stream.close();
-                                    fac.setDigitalSignatureParser(new 
DigitalSignatureProcessor(
-                                            keyStore, REJECTINVALID, 
REJECTUNTRUSTED));
-                                }else{
-                                    
_logger.error(localizedMessages.getString("WidgetHotDeploy.4") + 
-                                            " (/WEB-INF/classes/" + 
KEYSTORE+") " + localizedMessages.getString("WidgetHotDeploy.5"));
+                                    fac.setDigitalSignatureParser(new 
DigitalSignatureProcessor(keyStore,
+                                            REJECTINVALID, REJECTUNTRUSTED));
                                 }
                             }
 


Reply via email to