diff --git a/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/Config.java b/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/Config.java index e9abf1a73ec..4fd0f9946b0 100644 --- a/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/Config.java +++ b/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/Config.java @@ -66,7 +66,7 @@ final class Config { Config(String filename) throws IOException { FileInputStream in = new FileInputStream(expand(filename)); - reader = new BufferedReader(new InputStreamReader(in)); + reader = new BufferedReader(new InputStreamReader(in, "ISO-8859-1")); parsedKeywords = new HashSet(); st = new StreamTokenizer(reader); setupTokenizer(); diff --git a/jdk/test/com/oracle/security/ucrypto/ReadConfInUTF16Env.java b/jdk/test/com/oracle/security/ucrypto/ReadConfInUTF16Env.java new file mode 100644 index 00000000000..b4301fd88d4 --- /dev/null +++ b/jdk/test/com/oracle/security/ucrypto/ReadConfInUTF16Env.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 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. + * + * 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. + */ + +import java.security.Security; + +public class ReadConfInUTF16Env { + public static void main(String argv[]) { + String name = Security.getProvider("OracleUcrypto").getName(); + System.out.println(name); + } +} diff --git a/jdk/test/com/oracle/security/ucrypto/ReadConfInUTF16Env.sh b/jdk/test/com/oracle/security/ucrypto/ReadConfInUTF16Env.sh new file mode 100644 index 00000000000..10a35f0cd6e --- /dev/null +++ b/jdk/test/com/oracle/security/ucrypto/ReadConfInUTF16Env.sh @@ -0,0 +1,38 @@ +# +# Copyright (c) 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. +# +# 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 8160267 +# @requires (os.family == "solaris") +# @summary Ucrypto config file cannot be read with -Dfile.encoding=UTF-16 +# @build UcryptoTest ReadConfInUTF16Env +# @run shell ReadConfInUTF16Env.sh + +# jtreg does not like -Dfile.encoding=UTF-16 inside a @run main line, +# testlibrary.ProcessTools.createJavaProcessBuilder() also had troubles +# executing a subprocess with -Dfile.encoding=UTF-16 option added, +# therefore a shell test is written. + +$TESTJAVA/bin/java $TESTVMOPTS -cp $TESTCLASSES \ + -Dfile.encoding=UTF-16 \ + ReadConfInUTF16Env