Remove AES-CBC ciphers from the server's default KEX proposal · apache/mina-sshd@edb2b95 (original) (raw)
`@@ -26,7 +26,9 @@
`
26
26
`import java.util.ArrayList;
`
27
27
`import java.util.Collection;
`
28
28
`import java.util.Collections;
`
``
29
`+
import java.util.HashMap;
`
29
30
`import java.util.List;
`
``
31
`+
import java.util.Map;
`
30
32
`import java.util.concurrent.TimeUnit;
`
31
33
``
32
34
`import ch.ethz.ssh2.Connection;
`
`@@ -162,29 +164,41 @@ public void testWithJSCH() throws Exception {
`
162
164
`Assume.assumeTrue("Known JSCH bug with " + macName, !BuiltinMacs.hmacsha512.equals(factory));
`
163
165
``
164
166
`JSch sch = new JSch();
`
165
``
`-
JSch.setConfig("cipher.s2c", "aes128-cbc,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc,none");
`
166
``
`-
JSch.setConfig("cipher.c2s", "aes128-cbc,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc,none");
`
167
``
`-
JSch.setConfig("mac.s2c", macName);
`
168
``
`-
JSch.setConfig("mac.c2s", macName);
`
169
``
`-
JSch.setConfig(macName, jschMacClass);
`
170
``
-
171
``
`-
com.jcraft.jsch.Session session = sch.getSession(getCurrentTestName(), TEST_LOCALHOST, port);
`
``
167
`+
Map<String, String> values = new HashMap<>();
`
``
168
`+
values.put("cipher.s2c", JSch.getConfig("cipher.s2c"));
`
``
169
`+
values.put("cipher.c2s", JSch.getConfig("cipher.s2c"));
`
``
170
`+
values.put("mac.s2c", JSch.getConfig("mac.s2c"));
`
``
171
`+
values.put("mac.c2s", JSch.getConfig("mac.s2c"));
`
``
172
`+
values.put(macName, JSch.getConfig(macName));
`
172
173
`try {
`
173
``
`-
session.setUserInfo(new SimpleUserInfo(getCurrentTestName()));
`
174
``
`-
session.connect();
`
``
174
`+
JSch.setConfig("cipher.s2c", "aes128-ctr,aes192-ctr,aes256-ctr,none");
`
``
175
`+
JSch.setConfig("cipher.c2s", "aes128-ctr,aes192-ctr,aes256-ctr,none");
`
``
176
`+
JSch.setConfig("mac.s2c", macName);
`
``
177
`+
JSch.setConfig("mac.c2s", macName);
`
``
178
`+
JSch.setConfig(macName, jschMacClass);
`
``
179
+
``
180
`+
com.jcraft.jsch.Session session = sch.getSession(getCurrentTestName(), TEST_LOCALHOST, port);
`
``
181
`+
try {
`
``
182
`+
session.setUserInfo(new SimpleUserInfo(getCurrentTestName()));
`
``
183
`+
session.connect();
`
175
184
``
176
``
`-
com.jcraft.jsch.Channel channel = session.openChannel(Channel.CHANNEL_SHELL);
`
177
``
`-
channel.connect();
`
``
185
`+
com.jcraft.jsch.Channel channel = session.openChannel(Channel.CHANNEL_SHELL);
`
``
186
`+
channel.connect();
`
178
187
``
179
``
`-
try (OutputStream stdin = channel.getOutputStream();
`
180
``
`-
InputStream stdout = channel.getInputStream();
`
181
``
`-
InputStream stderr = channel.getExtInputStream()) {
`
182
``
`-
runShellTest(stdin, stdout);
`
``
188
`+
try (OutputStream stdin = channel.getOutputStream();
`
``
189
`+
InputStream stdout = channel.getInputStream();
`
``
190
`+
InputStream stderr = channel.getExtInputStream()) {
`
``
191
`+
runShellTest(stdin, stdout);
`
``
192
`+
} finally {
`
``
193
`+
channel.disconnect();
`
``
194
`+
}
`
183
195
` } finally {
`
184
``
`-
channel.disconnect();
`
``
196
`+
session.disconnect();
`
185
197
` }
`
186
198
` } finally {
`
187
``
`-
session.disconnect();
`
``
199
`+
for (Map.Entry<String, String> item : values.entrySet()) {
`
``
200
`+
JSch.setConfig(item.getKey(), item.getValue());
`
``
201
`+
}
`
188
202
` }
`
189
203
` }
`
190
204
``