Hi Max,

On 8/14/2018 1:33 AM, Weijun Wang wrote:
Here is the change for both classes. I use "original object" so a caller would 
know what the filter should expect.
ok

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.
+ *
Just saying "an ObjectInputFilter is used"... is fine.
   * <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.
Looks fine to me.

Thanks, Roger


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.

Reply via email to