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

``