changeset 3154:98216d6a48cf

S8017173, PR1688: XMLCipher with RSA_OAEP Key Transport algorithm can't be instantiated 2014-10-09 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * NEWS: Updated. * patches/openjdk/8017173-xml_cipher_rsa_oaep_cant_be_instantiated.patch: Backport of regression fix from 7u for PR1688.
author Andrew John Hughes <gnu.andrew@redhat.com>
date Thu, 09 Oct 2014 01:39:15 +0100
parents 81f59ee7bcb5
children 09cb54af2f31
files ChangeLog Makefile.am NEWS patches/openjdk/8017173-xml_cipher_rsa_oaep_cant_be_instantiated.patch
diffstat 4 files changed, 80 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Oct 09 01:32:24 2014 +0100
+++ b/ChangeLog	Thu Oct 09 01:39:15 2014 +0100
@@ -1,3 +1,11 @@
+2014-10-09  Andrew John Hughes  <gnu.andrew@redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add new patch.
+	* NEWS: Updated.
+	* patches/openjdk/8017173-xml_cipher_rsa_oaep_cant_be_instantiated.patch:
+	Backport of regression fix from 7u for PR1688.
+
 2014-10-09  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	* Makefile.am:
--- a/Makefile.am	Thu Oct 09 01:32:24 2014 +0100
+++ b/Makefile.am	Thu Oct 09 01:39:15 2014 +0100
@@ -627,7 +627,8 @@
 	patches/openjdk/7044060-support_nsa_suite_b.patch \
 	patches/openjdk/8006935-long_keys_in_hmac_prf.patch \
 	patches/openjdk/7106773-512_bits_rsa.patch \
-	patches/pr1904-icedtea_and_distro_versioning.patch
+	patches/pr1904-icedtea_and_distro_versioning.patch \
+	patches/openjdk/8017173-xml_cipher_rsa_oaep_cant_be_instantiated.patch
 
 # Temporarily disabled as causes crashes
 #	patches/openjdk/7122142-annotation_race_condition.patch
--- a/NEWS	Thu Oct 09 01:32:24 2014 +0100
+++ b/NEWS	Thu Oct 09 01:39:15 2014 +0100
@@ -30,6 +30,7 @@
   - S7180907: Jarsigner -verify fails if rsa file used sha-256 with authenticated attributes
   - S8006935: Need to take care of long secret keys in HMAC/PRF compuation
   - S8013057: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory()
+  - S8017173, PR1688: XMLCipher with RSA_OAEP Key Transport algorithm can't be instantiated
   - S8026887: Make issues due to failed large pages allocations easier to debug
   - S8049480: Current versions of Java can't verify jars signed and timestamped with Java 9
   - OJ39: Handle fonts with the non-canonical processing flag set
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/openjdk/8017173-xml_cipher_rsa_oaep_cant_be_instantiated.patch	Thu Oct 09 01:39:15 2014 +0100
@@ -0,0 +1,69 @@
+# HG changeset patch
+# User mullan
+# Date 1373562821 14400
+#      Thu Jul 11 13:13:41 2013 -0400
+# Node ID c5d869453212ac971258f818de8b158dc22b6e8c
+# Parent  3119569301137347116bc045e4010f477bbc7a72
+8017173: XMLCipher with RSA_OAEP Key Transport algorithm can't be instantiated
+Reviewed-by: xuelei, vinnie
+
+diff -r 311956930113 -r c5d869453212 src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java
+--- openjdk/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java	Thu Jul 11 12:41:19 2013 +0400
++++ openjdk/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java	Thu Jul 11 13:13:41 2013 -0400
+@@ -160,7 +160,7 @@
+         );
+         algorithmsMap.put(
+             XMLCipher.RSA_OAEP,
+-            new Algorithm("RSA", "RSA/ECB/OAEPPadding", "KeyTransport")
++            new Algorithm("RSA", "RSA/ECB/OAEPWithSHA1AndMGF1Padding", "KeyTransport")
+         );
+         algorithmsMap.put(
+             XMLCipher.DIFFIE_HELLMAN,
+diff -r 311956930113 -r c5d869453212 test/com/sun/org/apache/xml/internal/security/encryption/XMLCipher/GetInstance.java
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ openjdk/jdk/test/com/sun/org/apache/xml/internal/security/encryption/XMLCipher/GetInstance.java	Thu Jul 11 13:13:41 2013 -0400
+@@ -0,0 +1,44 @@
++/*
++ * Copyright (c) 2013, 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.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++ * or visit www.oracle.com if you need additional information or have any
++ * questions.
++ */
++
++/*
++ * @test
++ * @bug 8017173
++ * @summary Check that an XMLCipher with RSA_OAEP Key Transport algorithm can
++ *    be instantiated
++ * @compile -XDignore.symbol.file GetInstance.java
++ * @run main GetInstance
++ */
++import com.sun.org.apache.xml.internal.security.Init;
++import com.sun.org.apache.xml.internal.security.encryption.XMLCipher;
++
++public class GetInstance {
++
++    private static final String RSA_OAEP =
++        "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";
++
++    public static void main(String[] args) throws Exception {
++        Init.init();
++        XMLCipher.getInstance(RSA_OAEP);
++    }
++}