Skip to content

Commit b3b6ecf

Browse files
author
Dave Wichers
committed
Slight formatting changes and a few exception handling changes
to catch multiple exception types rather than a series of individual exceptions for certain test cases.
1 parent 69ced49 commit b3b6ecf

File tree

127 files changed

+2369
-6165
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+2369
-6165
lines changed

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00005.java

+24-56
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,22 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
5353

5454
// Code based on example from:
5555
// http://examples.javacodegeeks.com/core-java/crypto/encrypt-decrypt-file-stream-with-des/
56-
// 8-byte initialization vector
57-
// byte[] iv = {
58-
// (byte)0xB2, (byte)0x12, (byte)0xD5, (byte)0xB2,
59-
// (byte)0x44, (byte)0x21, (byte)0xC3, (byte)0xC3033
60-
// };
61-
java.security.SecureRandom random = new java.security.SecureRandom();
56+
// 8-byte initialization vector
57+
// byte[] iv = {
58+
// (byte)0xB2, (byte)0x12, (byte)0xD5, (byte)0xB2,
59+
// (byte)0x44, (byte)0x21, (byte)0xC3, (byte)0xC3033
60+
// };
61+
java.security.SecureRandom random = new java.security.SecureRandom();
6262
byte[] iv = random.generateSeed(8); // DES requires 8 byte keys
63-
63+
6464
try {
6565
javax.crypto.Cipher c = javax.crypto.Cipher.getInstance("DES/CBC/PKCS5Padding");
66-
67-
// Prepare the cipher to encrypt
68-
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
69-
java.security.spec.AlgorithmParameterSpec paramSpec = new javax.crypto.spec.IvParameterSpec(iv);
70-
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key, paramSpec);
71-
66+
67+
// Prepare the cipher to encrypt
68+
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
69+
java.security.spec.AlgorithmParameterSpec paramSpec = new javax.crypto.spec.IvParameterSpec(iv);
70+
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key, paramSpec);
71+
7272
// encrypt and store the results
7373
byte[] input = { (byte)'?' };
7474
Object inputParam = param;
@@ -78,64 +78,32 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
7878
int i = ((java.io.InputStream) inputParam).read(strInput);
7979
if (i == -1) {
8080
response.getWriter().println(
81-
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
82-
);
81+
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
82+
);
8383
return;
8484
}
8585
input = java.util.Arrays.copyOf(strInput, i);
8686
}
8787
byte[] result = c.doFinal(input);
88-
88+
8989
java.io.File fileTarget = new java.io.File(
9090
new java.io.File(org.owasp.benchmark.helpers.Utils.TESTFILES_DIR),"passwordFile.txt");
9191
java.io.FileWriter fw = new java.io.FileWriter(fileTarget,true); //the true will append the new data
9292
fw.write("secret_value=" + org.owasp.esapi.ESAPI.encoder().encodeForBase64(result, true) + "\n");
9393
fw.close();
9494
response.getWriter().println(
95-
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
96-
);
95+
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
96+
);
9797

98-
99-
} catch (java.security.NoSuchAlgorithmException e) {
100-
response.getWriter().println(
101-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
102-
);
103-
e.printStackTrace(response.getWriter());
104-
throw new ServletException(e);
105-
} catch (javax.crypto.NoSuchPaddingException e) {
106-
response.getWriter().println(
107-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
108-
);
109-
e.printStackTrace(response.getWriter());
110-
throw new ServletException(e);
111-
} catch (javax.crypto.IllegalBlockSizeException e) {
112-
response.getWriter().println(
113-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
114-
);
115-
e.printStackTrace(response.getWriter());
116-
throw new ServletException(e);
117-
} catch (javax.crypto.BadPaddingException e) {
118-
response.getWriter().println(
119-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
120-
);
121-
e.printStackTrace(response.getWriter());
122-
throw new ServletException(e);
123-
} catch (java.security.InvalidKeyException e) {
124-
response.getWriter().println(
125-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
126-
);
127-
e.printStackTrace(response.getWriter());
128-
throw new ServletException(e);
129-
} catch (java.security.InvalidAlgorithmParameterException e) {
98+
} catch (java.security.NoSuchAlgorithmException | javax.crypto.NoSuchPaddingException
99+
| javax.crypto.IllegalBlockSizeException | javax.crypto.BadPaddingException
100+
| java.security.InvalidKeyException | java.security.InvalidAlgorithmParameterException e) {
130101
response.getWriter().println(
131-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
132-
);
133-
e.printStackTrace(response.getWriter());
102+
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
103+
);
104+
e.printStackTrace(response.getWriter());
134105
throw new ServletException(e);
135106
}
136-
response.getWriter().println(
137-
"Crypto Test javax.crypto.Cipher.getInstance(java.lang.String) executed"
138-
);
139107
}
140108

141109
}

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00019.java

+17-44
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
5151
String algorithm = benchmarkprops.getProperty("cryptoAlg1", "DESede/ECB/PKCS5Padding");
5252
javax.crypto.Cipher c = javax.crypto.Cipher.getInstance(algorithm);
5353

54-
// Prepare the cipher to encrypt
55-
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
56-
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key);
57-
54+
// Prepare the cipher to encrypt
55+
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
56+
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key);
57+
5858
// encrypt and store the results
5959
byte[] input = { (byte)'?' };
6060
Object inputParam = param;
@@ -64,59 +64,32 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
6464
int i = ((java.io.InputStream) inputParam).read(strInput);
6565
if (i == -1) {
6666
response.getWriter().println(
67-
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
68-
);
67+
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
68+
);
6969
return;
7070
}
7171
input = java.util.Arrays.copyOf(strInput, i);
7272
}
7373
byte[] result = c.doFinal(input);
74-
74+
7575
java.io.File fileTarget = new java.io.File(
76-
new java.io.File(org.owasp.benchmark.helpers.Utils.TESTFILES_DIR),"passwordFile.txt");
76+
new java.io.File(org.owasp.benchmark.helpers.Utils.TESTFILES_DIR),"passwordFile.txt");
7777
java.io.FileWriter fw = new java.io.FileWriter(fileTarget,true); //the true will append the new data
78-
fw.write("secret_value=" + org.owasp.esapi.ESAPI.encoder().encodeForBase64(result, true) + "\n");
78+
fw.write("secret_value=" + org.owasp.esapi.ESAPI.encoder().encodeForBase64(result, true) + "\n");
7979
fw.close();
8080
response.getWriter().println(
81-
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
82-
);
81+
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
82+
);
8383

84-
85-
} catch (java.security.NoSuchAlgorithmException e) {
86-
response.getWriter().println(
87-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
88-
);
89-
e.printStackTrace(response.getWriter());
90-
throw new ServletException(e);
91-
} catch (javax.crypto.NoSuchPaddingException e) {
92-
response.getWriter().println(
93-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
94-
);
95-
e.printStackTrace(response.getWriter());
96-
throw new ServletException(e);
97-
} catch (javax.crypto.IllegalBlockSizeException e) {
84+
} catch (java.security.NoSuchAlgorithmException | javax.crypto.NoSuchPaddingException
85+
| javax.crypto.IllegalBlockSizeException | javax.crypto.BadPaddingException
86+
| java.security.InvalidKeyException e) {
9887
response.getWriter().println(
99-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
100-
);
101-
e.printStackTrace(response.getWriter());
102-
throw new ServletException(e);
103-
} catch (javax.crypto.BadPaddingException e) {
104-
response.getWriter().println(
105-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
106-
);
107-
e.printStackTrace(response.getWriter());
108-
throw new ServletException(e);
109-
} catch (java.security.InvalidKeyException e) {
110-
response.getWriter().println(
111-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
112-
);
113-
e.printStackTrace(response.getWriter());
88+
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
89+
);
90+
e.printStackTrace(response.getWriter());
11491
throw new ServletException(e);
11592
}
116-
117-
response.getWriter().println(
118-
"Crypto Test javax.crypto.Cipher.getInstance(java.lang.String) executed"
119-
);
12093
}
12194

12295
}

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00035.java

+17-44
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
6666
String algorithm = benchmarkprops.getProperty("cryptoAlg1", "DESede/ECB/PKCS5Padding");
6767
javax.crypto.Cipher c = javax.crypto.Cipher.getInstance(algorithm);
6868

69-
// Prepare the cipher to encrypt
70-
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
71-
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key);
72-
69+
// Prepare the cipher to encrypt
70+
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
71+
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key);
72+
7373
// encrypt and store the results
7474
byte[] input = { (byte)'?' };
7575
Object inputParam = param;
@@ -79,59 +79,32 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
7979
int i = ((java.io.InputStream) inputParam).read(strInput);
8080
if (i == -1) {
8181
response.getWriter().println(
82-
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
83-
);
82+
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
83+
);
8484
return;
8585
}
8686
input = java.util.Arrays.copyOf(strInput, i);
8787
}
8888
byte[] result = c.doFinal(input);
89-
89+
9090
java.io.File fileTarget = new java.io.File(
91-
new java.io.File(org.owasp.benchmark.helpers.Utils.TESTFILES_DIR),"passwordFile.txt");
91+
new java.io.File(org.owasp.benchmark.helpers.Utils.TESTFILES_DIR),"passwordFile.txt");
9292
java.io.FileWriter fw = new java.io.FileWriter(fileTarget,true); //the true will append the new data
93-
fw.write("secret_value=" + org.owasp.esapi.ESAPI.encoder().encodeForBase64(result, true) + "\n");
93+
fw.write("secret_value=" + org.owasp.esapi.ESAPI.encoder().encodeForBase64(result, true) + "\n");
9494
fw.close();
9595
response.getWriter().println(
96-
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
97-
);
96+
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
97+
);
9898

99-
100-
} catch (java.security.NoSuchAlgorithmException e) {
101-
response.getWriter().println(
102-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
103-
);
104-
e.printStackTrace(response.getWriter());
105-
throw new ServletException(e);
106-
} catch (javax.crypto.NoSuchPaddingException e) {
107-
response.getWriter().println(
108-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
109-
);
110-
e.printStackTrace(response.getWriter());
111-
throw new ServletException(e);
112-
} catch (javax.crypto.IllegalBlockSizeException e) {
99+
} catch (java.security.NoSuchAlgorithmException | javax.crypto.NoSuchPaddingException
100+
| javax.crypto.IllegalBlockSizeException | javax.crypto.BadPaddingException
101+
| java.security.InvalidKeyException e) {
113102
response.getWriter().println(
114-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
115-
);
116-
e.printStackTrace(response.getWriter());
117-
throw new ServletException(e);
118-
} catch (javax.crypto.BadPaddingException e) {
119-
response.getWriter().println(
120-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
121-
);
122-
e.printStackTrace(response.getWriter());
123-
throw new ServletException(e);
124-
} catch (java.security.InvalidKeyException e) {
125-
response.getWriter().println(
126-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
127-
);
128-
e.printStackTrace(response.getWriter());
103+
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
104+
);
105+
e.printStackTrace(response.getWriter());
129106
throw new ServletException(e);
130107
}
131-
132-
response.getWriter().println(
133-
"Crypto Test javax.crypto.Cipher.getInstance(java.lang.String) executed"
134-
);
135108
}
136109

137110
}

src/main/java/org/owasp/benchmark/testcode/BenchmarkTest00057.java

+24-56
Original file line numberDiff line numberDiff line change
@@ -72,22 +72,22 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
7272

7373
// Code based on example from:
7474
// http://examples.javacodegeeks.com/core-java/crypto/encrypt-decrypt-file-stream-with-des/
75-
// 8-byte initialization vector
76-
// byte[] iv = {
77-
// (byte)0xB2, (byte)0x12, (byte)0xD5, (byte)0xB2,
78-
// (byte)0x44, (byte)0x21, (byte)0xC3, (byte)0xC3033
79-
// };
80-
java.security.SecureRandom random = new java.security.SecureRandom();
75+
// 8-byte initialization vector
76+
// byte[] iv = {
77+
// (byte)0xB2, (byte)0x12, (byte)0xD5, (byte)0xB2,
78+
// (byte)0x44, (byte)0x21, (byte)0xC3, (byte)0xC3033
79+
// };
80+
java.security.SecureRandom random = new java.security.SecureRandom();
8181
byte[] iv = random.generateSeed(8); // DES requires 8 byte keys
82-
82+
8383
try {
8484
javax.crypto.Cipher c = javax.crypto.Cipher.getInstance("DES/CBC/PKCS5Padding");
85-
86-
// Prepare the cipher to encrypt
87-
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
88-
java.security.spec.AlgorithmParameterSpec paramSpec = new javax.crypto.spec.IvParameterSpec(iv);
89-
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key, paramSpec);
90-
85+
86+
// Prepare the cipher to encrypt
87+
javax.crypto.SecretKey key = javax.crypto.KeyGenerator.getInstance("DES").generateKey();
88+
java.security.spec.AlgorithmParameterSpec paramSpec = new javax.crypto.spec.IvParameterSpec(iv);
89+
c.init(javax.crypto.Cipher.ENCRYPT_MODE, key, paramSpec);
90+
9191
// encrypt and store the results
9292
byte[] input = { (byte)'?' };
9393
Object inputParam = bar;
@@ -97,64 +97,32 @@ public void doPost(HttpServletRequest request, HttpServletResponse response) thr
9797
int i = ((java.io.InputStream) inputParam).read(strInput);
9898
if (i == -1) {
9999
response.getWriter().println(
100-
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
101-
);
100+
"This input source requires a POST, not a GET. Incompatible UI for the InputStream source."
101+
);
102102
return;
103103
}
104104
input = java.util.Arrays.copyOf(strInput, i);
105105
}
106106
byte[] result = c.doFinal(input);
107-
107+
108108
java.io.File fileTarget = new java.io.File(
109109
new java.io.File(org.owasp.benchmark.helpers.Utils.TESTFILES_DIR),"passwordFile.txt");
110110
java.io.FileWriter fw = new java.io.FileWriter(fileTarget,true); //the true will append the new data
111111
fw.write("secret_value=" + org.owasp.esapi.ESAPI.encoder().encodeForBase64(result, true) + "\n");
112112
fw.close();
113113
response.getWriter().println(
114-
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
115-
);
114+
"Sensitive value: '" + org.owasp.esapi.ESAPI.encoder().encodeForHTML(new String(input)) + "' encrypted and stored<br/>"
115+
);
116116

117-
118-
} catch (java.security.NoSuchAlgorithmException e) {
119-
response.getWriter().println(
120-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
121-
);
122-
e.printStackTrace(response.getWriter());
123-
throw new ServletException(e);
124-
} catch (javax.crypto.NoSuchPaddingException e) {
125-
response.getWriter().println(
126-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
127-
);
128-
e.printStackTrace(response.getWriter());
129-
throw new ServletException(e);
130-
} catch (javax.crypto.IllegalBlockSizeException e) {
131-
response.getWriter().println(
132-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
133-
);
134-
e.printStackTrace(response.getWriter());
135-
throw new ServletException(e);
136-
} catch (javax.crypto.BadPaddingException e) {
137-
response.getWriter().println(
138-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
139-
);
140-
e.printStackTrace(response.getWriter());
141-
throw new ServletException(e);
142-
} catch (java.security.InvalidKeyException e) {
143-
response.getWriter().println(
144-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
145-
);
146-
e.printStackTrace(response.getWriter());
147-
throw new ServletException(e);
148-
} catch (java.security.InvalidAlgorithmParameterException e) {
117+
} catch (java.security.NoSuchAlgorithmException | javax.crypto.NoSuchPaddingException
118+
| javax.crypto.IllegalBlockSizeException | javax.crypto.BadPaddingException
119+
| java.security.InvalidKeyException | java.security.InvalidAlgorithmParameterException e) {
149120
response.getWriter().println(
150-
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
151-
);
152-
e.printStackTrace(response.getWriter());
121+
"Problem executing crypto - javax.crypto.Cipher.getInstance(java.lang.String,java.security.Provider) Test Case"
122+
);
123+
e.printStackTrace(response.getWriter());
153124
throw new ServletException(e);
154125
}
155-
response.getWriter().println(
156-
"Crypto Test javax.crypto.Cipher.getInstance(java.lang.String) executed"
157-
);
158126
}
159127

160128
}

0 commit comments

Comments
 (0)