1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.apache.harmony.xnet.provider.jsse; 19 20 import junit.framework.TestCase; 21 22 /** 23 * Tests for <code>CipherSuite</code> constructor and methods 24 * 25 */ 26 public class CipherSuiteTest extends TestCase { 27 28 public void testEquals() { 29 CipherSuite c1 = new CipherSuite("CipherSuite1", false, 0, "", "", 30 new byte[] { 10, 10 }); 31 CipherSuite c2 = new CipherSuite("CipherSuite2", false, 0, "", "", 32 new byte[] { 10, 10 }); 33 CipherSuite c3 = new CipherSuite("CipherSuite3", false, 0, "", "", 34 new byte[] { 10, 11 }); 35 CipherSuite c4 = new CipherSuite("CipherSuite4", false, 0, "", "", 36 new byte[] { 11, 10 }); 37 if (!c1.equals(c2) || c1.equals(c3) || c4.equals(c1) || c4.equals(c3)) { 38 fail("testEquals failed"); 39 } 40 } 41 42 public void testToString() { 43 CipherSuite c1 = new CipherSuite("CipherSuite1", false, 0, "", "", 44 new byte[] { 10, 10 }); 45 assertEquals("testToString failed", "CipherSuite1: 10 10", 46 c1.toString()); 47 } 48 49 public void testGetByName() { 50 CipherSuite[] suites = CipherSuite.getSupported(); 51 for (int i = 0; i < suites.length; i++) { 52 assertEquals("incorrect cipher suite returned", suites[i], 53 CipherSuite.getByName(suites[i].getName())); 54 } 55 assertNull("non null cipher suite returned for name: SomeName", 56 CipherSuite.getByName("SomeName")); 57 } 58 59 /* 60 * Class under test for CipherSuite getByCode(byte, byte) 61 */ 62 public void testGetByCodebytebyte() { 63 CipherSuite[] suites = CipherSuite.getSupported(); 64 for (int i = 0; i < suites.length; i++) { 65 byte[] code = suites[i].toBytes(); 66 assertEquals("incorrect cipher suite returned", suites[i], 67 CipherSuite.getByCode(code[0], code[1])); 68 } 69 assertEquals("incorrect cipher suite returned for code: 10 10", 70 new CipherSuite("UNKNOUN_10_10", false, 0, "", "", new byte[] { 71 10, 10 }), CipherSuite.getByCode((byte) 10, (byte) 10)); 72 } 73 74 /* 75 * Class under test for CipherSuite getByCode(byte, byte, byte) 76 */ 77 public void testGetByCodebytebytebyte() { 78 CipherSuite[] suites = CipherSuite.getSupported(); 79 for (int i = 0; i < suites.length; i++) { 80 byte[] code = suites[i].toBytes(); 81 assertEquals("incorrect cipher suite returned", suites[i], 82 CipherSuite.getByCode((byte) 0, (byte) 0, code[1])); 83 } 84 assertEquals("incorrect cipher suite returned for code: 10 10 10", 85 new CipherSuite("UNKNOUN_10_10_10", false, 0, "", "", 86 new byte[] { 10, 10, 10 }), 87 CipherSuite.getByCode((byte) 10, (byte) 10, (byte) 10)); 88 } 89 90 public void testIsAnonymous() { 91 CipherSuite c1 = new CipherSuite("CipherSuite1", false, 92 CipherSuite.KeyExchange_DH_anon, "", "", new byte[] { 10, 10 }); 93 CipherSuite c2 = new CipherSuite("CipherSuite2", false, 94 CipherSuite.KeyExchange_DH_anon_EXPORT, "", "", new byte[] { 9, 95 10 }); 96 CipherSuite c3 = new CipherSuite("CipherSuite3", false, 97 CipherSuite.KeyExchange_DH_DSS, "", "", new byte[] { 10, 11 }); 98 CipherSuite c4 = new CipherSuite("CipherSuite4", false, 99 CipherSuite.KeyExchange_DH_RSA, "", "", new byte[] { 11, 10 }); 100 assertTrue(c1.isAnonymous()); 101 assertTrue(c1.isAnonymous()); 102 assertFalse(c3.isAnonymous()); 103 assertFalse(c4.isAnonymous()); 104 } 105 106 public void testGetSupported() { 107 CipherSuite[] suites = CipherSuite.getSupported(); 108 for (int i = 0; i < suites.length; i++) { 109 assertTrue(suites[i].supported); 110 } 111 } 112 113 public void testGetSupportedCipherSuiteNames() { 114 CipherSuite[] suites = CipherSuite.getSupported(); 115 String[] names = CipherSuite.getSupportedCipherSuiteNames(); 116 for (int i = 0; i < suites.length; i++) { 117 assertEquals(suites[i].getName(), names[i]); 118 } 119 } 120 121 public void testGetBulkEncryptionAlgorithm() { 122 assertNull(CipherSuite.TLS_NULL_WITH_NULL_NULL 123 .getBulkEncryptionAlgorithm()); 124 assertNull(CipherSuite.TLS_RSA_WITH_NULL_MD5 125 .getBulkEncryptionAlgorithm()); 126 assertNull(CipherSuite.TLS_RSA_WITH_NULL_SHA 127 .getBulkEncryptionAlgorithm()); 128 assertEquals("RC4", 129 CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5 130 .getBulkEncryptionAlgorithm()); 131 assertEquals("RC4", 132 CipherSuite.TLS_RSA_WITH_RC4_128_MD5 133 .getBulkEncryptionAlgorithm()); 134 assertEquals("RC4", 135 CipherSuite.TLS_RSA_WITH_RC4_128_SHA 136 .getBulkEncryptionAlgorithm()); 137 assertEquals("RC2/CBC/NoPadding", 138 CipherSuite.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 139 .getBulkEncryptionAlgorithm()); 140 assertEquals("IDEA/CBC/NoPadding", 141 CipherSuite.TLS_RSA_WITH_IDEA_CBC_SHA 142 .getBulkEncryptionAlgorithm()); 143 assertEquals("DES/CBC/NoPadding", 144 CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 145 .getBulkEncryptionAlgorithm()); 146 assertEquals("DES/CBC/NoPadding", 147 CipherSuite.TLS_RSA_WITH_DES_CBC_SHA 148 .getBulkEncryptionAlgorithm()); 149 assertEquals("DESede/CBC/NoPadding", 150 CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA 151 .getBulkEncryptionAlgorithm()); 152 assertEquals("DES/CBC/NoPadding", 153 CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 154 .getBulkEncryptionAlgorithm()); 155 assertEquals("DES/CBC/NoPadding", 156 CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA 157 .getBulkEncryptionAlgorithm()); 158 assertEquals("DESede/CBC/NoPadding", 159 CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 160 .getBulkEncryptionAlgorithm()); 161 assertEquals("DES/CBC/NoPadding", 162 CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 163 .getBulkEncryptionAlgorithm()); 164 assertEquals("DES/CBC/NoPadding", 165 CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA 166 .getBulkEncryptionAlgorithm()); 167 assertEquals("DESede/CBC/NoPadding", 168 CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 169 .getBulkEncryptionAlgorithm()); 170 assertEquals("DES/CBC/NoPadding", 171 CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 172 .getBulkEncryptionAlgorithm()); 173 assertEquals("DES/CBC/NoPadding", 174 CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA 175 .getBulkEncryptionAlgorithm()); 176 assertEquals("DESede/CBC/NoPadding", 177 CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 178 .getBulkEncryptionAlgorithm()); 179 assertEquals("DES/CBC/NoPadding", 180 CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 181 .getBulkEncryptionAlgorithm()); 182 assertEquals("DES/CBC/NoPadding", 183 CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA 184 .getBulkEncryptionAlgorithm()); 185 assertEquals("DESede/CBC/NoPadding", 186 CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 187 .getBulkEncryptionAlgorithm()); 188 assertEquals("RC4", 189 CipherSuite.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 190 .getBulkEncryptionAlgorithm()); 191 assertEquals("RC4", 192 CipherSuite.TLS_DH_anon_WITH_RC4_128_MD5 193 .getBulkEncryptionAlgorithm()); 194 assertEquals("DES/CBC/NoPadding", 195 CipherSuite.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 196 .getBulkEncryptionAlgorithm()); 197 assertEquals("DES/CBC/NoPadding", 198 CipherSuite.TLS_DH_anon_WITH_DES_CBC_SHA 199 .getBulkEncryptionAlgorithm()); 200 assertEquals("DESede/CBC/NoPadding", 201 CipherSuite.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA 202 .getBulkEncryptionAlgorithm()); 203 } 204 205 public void testGetBlockSize() { 206 assertEquals(0, 207 CipherSuite.TLS_NULL_WITH_NULL_NULL 208 .getBlockSize()); 209 assertEquals(0, 210 CipherSuite.TLS_RSA_WITH_NULL_MD5 211 .getBlockSize()); 212 assertEquals(0, 213 CipherSuite.TLS_RSA_WITH_NULL_SHA 214 .getBlockSize()); 215 assertEquals(0, 216 CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5 217 .getBlockSize()); 218 assertEquals(0, 219 CipherSuite.TLS_RSA_WITH_RC4_128_MD5 220 .getBlockSize()); 221 assertEquals(0, 222 CipherSuite.TLS_RSA_WITH_RC4_128_SHA 223 .getBlockSize()); 224 assertEquals(8, 225 CipherSuite.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 226 .getBlockSize()); 227 assertEquals(8, 228 CipherSuite.TLS_RSA_WITH_IDEA_CBC_SHA 229 .getBlockSize()); 230 assertEquals(8, 231 CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 232 .getBlockSize()); 233 assertEquals(8, 234 CipherSuite.TLS_RSA_WITH_DES_CBC_SHA 235 .getBlockSize()); 236 assertEquals(8, 237 CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA 238 .getBlockSize()); 239 assertEquals(8, 240 CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 241 .getBlockSize()); 242 assertEquals(8, 243 CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA 244 .getBlockSize()); 245 assertEquals(8, 246 CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 247 .getBlockSize()); 248 assertEquals(8, 249 CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 250 .getBlockSize()); 251 assertEquals(8, 252 CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA 253 .getBlockSize()); 254 assertEquals(8, 255 CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 256 .getBlockSize()); 257 assertEquals(8, 258 CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 259 .getBlockSize()); 260 assertEquals(8, 261 CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA 262 .getBlockSize()); 263 assertEquals(8, 264 CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 265 .getBlockSize()); 266 assertEquals(8, 267 CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 268 .getBlockSize()); 269 assertEquals(8, 270 CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA 271 .getBlockSize()); 272 assertEquals(8, 273 CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 274 .getBlockSize()); 275 assertEquals(0, 276 CipherSuite.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 277 .getBlockSize()); 278 assertEquals(0, 279 CipherSuite.TLS_DH_anon_WITH_RC4_128_MD5 280 .getBlockSize()); 281 assertEquals(8, 282 CipherSuite.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 283 .getBlockSize()); 284 assertEquals(8, 285 CipherSuite.TLS_DH_anon_WITH_DES_CBC_SHA 286 .getBlockSize()); 287 assertEquals(8, 288 CipherSuite.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA 289 .getBlockSize()); 290 } 291 292 public void testGetHmacName() { 293 assertNull(CipherSuite.TLS_NULL_WITH_NULL_NULL 294 .getHmacName()); 295 assertEquals("HmacMD5", 296 CipherSuite.TLS_RSA_WITH_NULL_MD5 297 .getHmacName()); 298 assertEquals("HmacSHA1", 299 CipherSuite.TLS_RSA_WITH_NULL_SHA 300 .getHmacName()); 301 assertEquals("HmacMD5", 302 CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5 303 .getHmacName()); 304 assertEquals("HmacMD5", 305 CipherSuite.TLS_RSA_WITH_RC4_128_MD5 306 .getHmacName()); 307 assertEquals("HmacSHA1", 308 CipherSuite.TLS_RSA_WITH_RC4_128_SHA 309 .getHmacName()); 310 assertEquals("HmacMD5", 311 CipherSuite.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 312 .getHmacName()); 313 assertEquals("HmacSHA1", 314 CipherSuite.TLS_RSA_WITH_IDEA_CBC_SHA 315 .getHmacName()); 316 assertEquals("HmacSHA1", 317 CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 318 .getHmacName()); 319 assertEquals("HmacSHA1", 320 CipherSuite.TLS_RSA_WITH_DES_CBC_SHA 321 .getHmacName()); 322 assertEquals("HmacSHA1", 323 CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA 324 .getHmacName()); 325 assertEquals("HmacSHA1", 326 CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 327 .getHmacName()); 328 assertEquals("HmacSHA1", 329 CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA 330 .getHmacName()); 331 assertEquals("HmacSHA1", 332 CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 333 .getHmacName()); 334 assertEquals("HmacSHA1", 335 CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 336 .getHmacName()); 337 assertEquals("HmacSHA1", 338 CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA 339 .getHmacName()); 340 assertEquals("HmacSHA1", 341 CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 342 .getHmacName()); 343 assertEquals("HmacSHA1", 344 CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 345 .getHmacName()); 346 assertEquals("HmacSHA1", 347 CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA 348 .getHmacName()); 349 assertEquals("HmacSHA1", 350 CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 351 .getHmacName()); 352 assertEquals("HmacSHA1", 353 CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 354 .getHmacName()); 355 assertEquals("HmacSHA1", 356 CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA 357 .getHmacName()); 358 assertEquals("HmacSHA1", 359 CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 360 .getHmacName()); 361 assertEquals("HmacMD5", 362 CipherSuite.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 363 .getHmacName()); 364 assertEquals("HmacMD5", 365 CipherSuite.TLS_DH_anon_WITH_RC4_128_MD5 366 .getHmacName()); 367 assertEquals("HmacSHA1", 368 CipherSuite.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 369 .getHmacName()); 370 assertEquals("HmacSHA1", 371 CipherSuite.TLS_DH_anon_WITH_DES_CBC_SHA 372 .getHmacName()); 373 assertEquals("HmacSHA1", 374 CipherSuite.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA 375 .getHmacName()); 376 } 377 378 public void testGetHashName() { 379 assertNull(CipherSuite.TLS_NULL_WITH_NULL_NULL 380 .getHashName()); 381 assertEquals("MD5", 382 CipherSuite.TLS_RSA_WITH_NULL_MD5 383 .getHashName()); 384 assertEquals("SHA-1", 385 CipherSuite.TLS_RSA_WITH_NULL_SHA 386 .getHashName()); 387 assertEquals("MD5", 388 CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5 389 .getHashName()); 390 assertEquals("MD5", 391 CipherSuite.TLS_RSA_WITH_RC4_128_MD5 392 .getHashName()); 393 assertEquals("SHA-1", 394 CipherSuite.TLS_RSA_WITH_RC4_128_SHA 395 .getHashName()); 396 assertEquals("MD5", 397 CipherSuite.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 398 .getHashName()); 399 assertEquals("SHA-1", 400 CipherSuite.TLS_RSA_WITH_IDEA_CBC_SHA 401 .getHashName()); 402 assertEquals("SHA-1", 403 CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 404 .getHashName()); 405 assertEquals("SHA-1", 406 CipherSuite.TLS_RSA_WITH_DES_CBC_SHA 407 .getHashName()); 408 assertEquals("SHA-1", 409 CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA 410 .getHashName()); 411 assertEquals("SHA-1", 412 CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 413 .getHashName()); 414 assertEquals("SHA-1", 415 CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA 416 .getHashName()); 417 assertEquals("SHA-1", 418 CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 419 .getHashName()); 420 assertEquals("SHA-1", 421 CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 422 .getHashName()); 423 assertEquals("SHA-1", 424 CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA 425 .getHashName()); 426 assertEquals("SHA-1", 427 CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 428 .getHashName()); 429 assertEquals("SHA-1", 430 CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 431 .getHashName()); 432 assertEquals("SHA-1", 433 CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA 434 .getHashName()); 435 assertEquals("SHA-1", 436 CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 437 .getHashName()); 438 assertEquals("SHA-1", 439 CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 440 .getHashName()); 441 assertEquals("SHA-1", 442 CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA 443 .getHashName()); 444 assertEquals("SHA-1", 445 CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 446 .getHashName()); 447 assertEquals("MD5", 448 CipherSuite.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 449 .getHashName()); 450 assertEquals("MD5", 451 CipherSuite.TLS_DH_anon_WITH_RC4_128_MD5 452 .getHashName()); 453 assertEquals("SHA-1", 454 CipherSuite.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 455 .getHashName()); 456 assertEquals("SHA-1", 457 CipherSuite.TLS_DH_anon_WITH_DES_CBC_SHA 458 .getHashName()); 459 assertEquals("SHA-1", 460 CipherSuite.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA 461 .getHashName()); 462 } 463 464 public void testGetMACLength() { 465 assertEquals(0, 466 CipherSuite.TLS_NULL_WITH_NULL_NULL.getMACLength()); 467 assertEquals(16, CipherSuite.TLS_RSA_WITH_NULL_MD5.getMACLength()); 468 assertEquals(20, CipherSuite.TLS_RSA_WITH_NULL_SHA.getMACLength()); 469 assertEquals(16, CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5.getMACLength()); 470 assertEquals(16, CipherSuite.TLS_RSA_WITH_RC4_128_MD5.getMACLength()); 471 assertEquals(20, CipherSuite.TLS_RSA_WITH_RC4_128_SHA.getMACLength()); 472 assertEquals(16, CipherSuite.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5.getMACLength()); 473 assertEquals(20, CipherSuite.TLS_RSA_WITH_IDEA_CBC_SHA.getMACLength()); 474 assertEquals(20, CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA.getMACLength()); 475 assertEquals(20, CipherSuite.TLS_RSA_WITH_DES_CBC_SHA.getMACLength()); 476 assertEquals(20, CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA.getMACLength()); 477 assertEquals(20, CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA.getMACLength()); 478 assertEquals(20, CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA.getMACLength()); 479 assertEquals(20, CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA.getMACLength()); 480 assertEquals(20, CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA.getMACLength()); 481 assertEquals(20, CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA.getMACLength()); 482 assertEquals(20, CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA.getMACLength()); 483 assertEquals(20, CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA.getMACLength()); 484 assertEquals(20, CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA.getMACLength()); 485 assertEquals(20, CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA.getMACLength()); 486 assertEquals(20, CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA.getMACLength()); 487 assertEquals(20, CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA.getMACLength()); 488 assertEquals(20, CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA.getMACLength()); 489 assertEquals(16, CipherSuite.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5.getMACLength()); 490 assertEquals(16, CipherSuite.TLS_DH_anon_WITH_RC4_128_MD5.getMACLength()); 491 assertEquals(20, CipherSuite.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA.getMACLength()); 492 assertEquals(20, CipherSuite.TLS_DH_anon_WITH_DES_CBC_SHA.getMACLength()); 493 assertEquals(20, CipherSuite.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA.getMACLength()); 494 } 495 496 public void testIsExportable() { 497 assertTrue(CipherSuite.TLS_NULL_WITH_NULL_NULL 498 .isExportable()); 499 assertTrue(CipherSuite.TLS_RSA_WITH_NULL_MD5 500 .isExportable()); 501 assertTrue(CipherSuite.TLS_RSA_WITH_NULL_SHA 502 .isExportable()); 503 assertTrue(CipherSuite.TLS_RSA_EXPORT_WITH_RC4_40_MD5 504 .isExportable()); 505 assertFalse(CipherSuite.TLS_RSA_WITH_RC4_128_MD5 506 .isExportable()); 507 assertFalse(CipherSuite.TLS_RSA_WITH_RC4_128_SHA 508 .isExportable()); 509 assertTrue(CipherSuite.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 510 .isExportable()); 511 assertFalse(CipherSuite.TLS_RSA_WITH_IDEA_CBC_SHA 512 .isExportable()); 513 assertTrue(CipherSuite.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA 514 .isExportable()); 515 assertFalse(CipherSuite.TLS_RSA_WITH_DES_CBC_SHA 516 .isExportable()); 517 assertFalse(CipherSuite.TLS_RSA_WITH_3DES_EDE_CBC_SHA 518 .isExportable()); 519 assertTrue(CipherSuite.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA 520 .isExportable()); 521 assertFalse(CipherSuite.TLS_DH_DSS_WITH_DES_CBC_SHA 522 .isExportable()); 523 assertFalse(CipherSuite.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA 524 .isExportable()); 525 assertTrue(CipherSuite.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA 526 .isExportable()); 527 assertFalse(CipherSuite.TLS_DH_RSA_WITH_DES_CBC_SHA 528 .isExportable()); 529 assertFalse(CipherSuite.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA 530 .isExportable()); 531 assertTrue(CipherSuite.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 532 .isExportable()); 533 assertFalse(CipherSuite.TLS_DHE_DSS_WITH_DES_CBC_SHA 534 .isExportable()); 535 assertFalse(CipherSuite.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 536 .isExportable()); 537 assertTrue(CipherSuite.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 538 .isExportable()); 539 assertFalse(CipherSuite.TLS_DHE_RSA_WITH_DES_CBC_SHA 540 .isExportable()); 541 assertFalse(CipherSuite.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 542 .isExportable()); 543 assertTrue(CipherSuite.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 544 .isExportable()); 545 assertFalse(CipherSuite.TLS_DH_anon_WITH_RC4_128_MD5 546 .isExportable()); 547 assertTrue(CipherSuite.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA 548 .isExportable()); 549 assertFalse(CipherSuite.TLS_DH_anon_WITH_DES_CBC_SHA 550 .isExportable()); 551 assertFalse(CipherSuite.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA 552 .isExportable()); 553 } 554 555 } 556