Here is the change for both classes. I use "original object" so a caller would know what the filter should expect.
diff --git a/src/java.base/share/classes/java/security/SignedObject.java b/src/java.base/share/classes/java/security/SignedObject.java --- a/src/java.base/share/classes/java/security/SignedObject.java +++ b/src/java.base/share/classes/java/security/SignedObject.java @@ -59,10 +59,16 @@ * Signature.getInstance(algorithm, provider); * if (so.verify(publickey, verificationEngine)) * try { - * Object myobj = so.getObject(); + * ObjectInputFilter myfilter = ...; + * Object myobj = so.getObject(myfilter); * } catch (java.lang.ClassNotFoundException e) {}; * }</pre> * + * In this example, an {@link ObjectInputFilter} object is used during + * deserialization of the original object. If {@link #getObject()} is + * called, the {@link ObjectInputFilter.Config#getSerialFilter() + * initial process-wide filter} is used instead. + * * <p> Several points are worth noting. First, there is no need to * initialize the signing or verification engine, as it will be * re-initialized inside the constructor and the {@code verify} diff --git a/src/java.base/share/classes/javax/crypto/SealedObject.java b/src/java.base/share/classes/javax/crypto/SealedObject.java --- a/src/java.base/share/classes/javax/crypto/SealedObject.java +++ b/src/java.base/share/classes/javax/crypto/SealedObject.java @@ -86,6 +86,12 @@ * * </ul> * + * Both methods have overloaded forms that accept an {@link ObjectInputFilter} + * parameter, which will be used during deserialization of the original object. + * If a {@code getObject} method without a {@code ObjectInputFilter} parameter + * is called, the {@link ObjectInputFilter.Config#getSerialFilter() + * initial process-wide filter} is used instead. This last paragraph is after the <ul> of lines 57-86 [1] that talks about 2 getObject() methods to retrieve the original object. I'll update the CSR if you're OK with the words. Thanks Max [1] http://hg.openjdk.java.net/jdk/jdk/file/977c6dd636bd/src/java.base/share/classes/javax/crypto/SealedObject.java#l57 > On Aug 14, 2018, at 12:29 PM, Weijun Wang <weijun.w...@oracle.com> wrote: > >> On Aug 7, 2018, at 10:57 PM, Roger Riggs <roger.ri...@oracle.com> wrote: >> >> It may be useful to include in the descriptions a reminder that if no >> ObjectInputFilter >> is supplied the global filter is used. Details in ObjectInputStream. > > The new getObject() methods with an ObjectInputFilter does not allow it to be > null, so it looks strange to mention this in the method spec.