< prev index next >

src/share/classes/com/sun/crypto/provider/AESCipher.java

Print this page
rev 12526 : 8171252: Improve exception checking
8158517: Minor optimizations to ISO10126PADDING
Reviewed-by: ascarpino, mschoene

*** 1,7 **** /* ! * Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2002, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 154,164 **** byte[] value = key.getEncoded(); if (value == null) { throw new InvalidKeyException("Key encoding must not be null"); } else if (value.length != fixedKeySize) { throw new InvalidKeyException("The key must be " + ! fixedKeySize*8 + " bits"); } } } /* --- 154,164 ---- byte[] value = key.getEncoded(); if (value == null) { throw new InvalidKeyException("Key encoding must not be null"); } else if (value.length != fixedKeySize) { throw new InvalidKeyException("The key must be " + ! fixedKeySize + " bytes"); } } } /*
*** 507,517 **** byte[] encoded = key.getEncoded(); if (!AESCrypt.isKeySizeValid(encoded.length)) { throw new InvalidKeyException("Invalid AES key length: " + encoded.length + " bytes"); } ! return encoded.length * 8; } /** * Wrap a key. * --- 507,517 ---- byte[] encoded = key.getEncoded(); if (!AESCrypt.isKeySizeValid(encoded.length)) { throw new InvalidKeyException("Invalid AES key length: " + encoded.length + " bytes"); } ! return Math.multiplyExact(encoded.length, 8); } /** * Wrap a key. *
*** 626,638 **** if (core.getMode() == CipherCore.GCM_MODE && updateCalled) { throw new IllegalStateException("AAD must be supplied before encryption/decryption starts"); } if (src != null) { int aadLen = src.limit() - src.position(); ! if (aadLen != 0) { if (src.hasArray()) { ! int aadOfs = src.arrayOffset() + src.position(); core.updateAAD(src.array(), aadOfs, aadLen); src.position(src.limit()); } else { byte[] aad = new byte[aadLen]; src.get(aad); --- 626,638 ---- if (core.getMode() == CipherCore.GCM_MODE && updateCalled) { throw new IllegalStateException("AAD must be supplied before encryption/decryption starts"); } if (src != null) { int aadLen = src.limit() - src.position(); ! if (aadLen > 0) { if (src.hasArray()) { ! int aadOfs = Math.addExact(src.arrayOffset(), src.position()); core.updateAAD(src.array(), aadOfs, aadLen); src.position(src.limit()); } else { byte[] aad = new byte[aadLen]; src.get(aad);
< prev index next >