# HG changeset patch # User apetcher # Date 1516089423 -19800 # Node ID 0ed664b26a0227d4870926f1e24da99825c11b51 # Parent ffa10f8080d04879fca2676655ad0f713708d967 8182362: Update CipherOutputStream Usage Summary: Clarify spec of CipherOutputStream in Javadoc comments Reviewed-by: ascarpino diff -r ffa10f8080d0 -r 0ed664b26a02 src/share/classes/javax/crypto/CipherOutputStream.java --- a/src/share/classes/javax/crypto/CipherOutputStream.java Mon Jan 15 13:17:33 2018 +0000 +++ b/src/share/classes/javax/crypto/CipherOutputStream.java Tue Jan 16 13:27:03 2018 +0530 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2018, 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 @@ -42,7 +42,15 @@ * java.io.OutputStream and java.io.FilterOutputStream. This class * has exactly those methods specified in its ancestor classes, and * overrides them all. Moreover, this class catches all exceptions - * that are not thrown by its ancestor classes. + * that are not thrown by its ancestor classes. In particular, this + * class catches BadPaddingException and other exceptions thrown by + * failed integrity checks during decryption. These exceptions are not + * re-thrown, so the client will not be informed that integrity checks + * failed. Because of this behavior, this class may not be suitable + * for use with decryption in an authenticated mode of operation (e.g. GCM) + * if the application requires explicit notification when authentication + * fails. Such an application can use the Cipher API directly as an + * alternative to using this class. * *

It is crucial for a programmer using this class not to use * methods that are not defined or overriden in this class (such as a