Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/jdk/sun/security/pkcs/pkcs9/ChallengePassStringFmt.java
41155 views
1
/*
2
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/*
25
* @test
26
* @bug 8239094
27
* @summary PKCS#9 ChallengePassword attribute does not allow for the
28
* UTF8String type
29
* @modules java.base/sun.security.pkcs10
30
*/
31
32
import java.io.IOException;
33
import java.util.Base64;
34
import java.util.Map;
35
import sun.security.pkcs10.PKCS10;
36
37
public class ChallengePassStringFmt {
38
39
static final Map<String, String> TEST_INPUT = Map.of(
40
"PKCS10 with password as TeletexString",
41
"MIIBBzCBrQIBADAoMQ0wCwYDVQQKEwRUZXN0MRcwFQYDVQQDEw5UZXN0IFQ2MVN0\n" +
42
"cmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH9MshRAqmpY6o80JJY2DCA6\n" +
43
"uN6GoG79khaIkdjEw0HHAkQDJ0aLPsZ87lqqba7NvmLw8wi/AXiyTLdBHOhy2n+g\n" +
44
"IzAhBgkqhkiG9w0BCQcxFBQSVDYxU3RyaW5nIXBhc3N3b3JkMAoGCCqGSM49BAMC\n" +
45
"A0kAMEYCIQDv6sj5Jf1yocHEiD8sZ6F8YMP3lcyzrhwrfZ16xN9azwIhAL7GJGgQ\n" +
46
"LmAbXTm59gWL7uofniwX22vv55J4nWt7a3jI",
47
48
"PKCS10 with password as PrintableString",
49
"MIIBDzCBtQIBADAuMQ0wCwYDVQQKEwRUZXN0MR0wGwYDVQQDExRUZXN0IFByaW50\n" +
50
"YWJsZVN0cmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABD4JaJAehTeZy4Fx\n" +
51
"jxNUZqhzwywIUjoK8kzYenEFRLiqCpDynhixE3zEsnFEzXsF1V7BX5HhU8NE2xrH\n" +
52
"GrDPY/agJTAjBgkqhkiG9w0BCQcxFhMUUHJpbnRhYmxlU3RyaW5nIHBhc3MwCgYI\n" +
53
"KoZIzj0EAwIDSQAwRgIhANmqfVcArwm0+C/5MJqUpbGqryYzGlHunmUpbKxTrt9T\n" +
54
"AiEAiAmSSLvyfoXms8f6+1q2NElVNIj6ULherOEuU13Hd8U=",
55
56
"PKCS10 with password as BMPString",
57
"MIIBGDCBvwIBADAoMQ0wCwYDVQQKEwRUZXN0MRcwFQYDVQQDEw5UZXN0IEJNUFN0\n" +
58
"cmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEC6gpNha74xeCabdi647rXq\n" +
59
"5unD5FTgA5RGGUd+uixOjwrRrCWTQbZ1//1MrioKbzWB1BjKmJI0N2plwIBmbAGg\n" +
60
"NTAzBgkqhkiG9w0BCQcxJh4kAEIATQBQAFMAdAByAGkAbgBnACEAcABhAHMAcwB3\n" +
61
"AG8AcgBkMAoGCCqGSM49BAMCA0gAMEUCIDN2n8G+jzKamNmTJkSixgiq3ysR1GHY\n" +
62
"5e0J5zRjtMtHAiEAy3me/gRIXa2OecrXGC+UjYJ1bLKkr1xadiolFv+1fkQ=",
63
64
"PKCS10 with password as UniversalString",
65
"MIIBPzCB5QIBADAuMQ0wCwYDVQQKDARUZXN0MR0wGwYDVQQDDBRUZXN0IFVuaXZl\n" +
66
"cnNhbFN0cmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFe/CetRtzHEeN7J\n" +
67
"fDi020fGb96RqMHFr/yuwcVmao3tZzSbYDZwLrMdk77PeX25GJG9vB6fgepaOXHS\n" +
68
"uVJlB6ugVTBTBgkqhkiG9w0BCQcxRhxEAAAAVQAAAG4AAABpAAAAdgAAAGUAAABy\n" +
69
"AAAAcwAAAGEAAABsAAAAUAAAAGEAAABzAAAAcwAAAHcAAABvAAAAcgAAAGQwCgYI\n" +
70
"KoZIzj0EAwIDSQAwRgIhAJIQmTp0HyHHzGbdr68wG7N5twevt+3VipsU8Kk10LiX\n" +
71
"AiEAkU/X7dDtjlIM6BHdssIlRlS/KFhmsLDq6RgREFmdjBQ=",
72
73
"PKCS10 with password as UTF8String",
74
"MIH7MIGiAgEAMCMxDTALBgNVBAoMBFRlc3QxEjAQBgNVBAMMCVRlc3QgVVRGODBZ\n" +
75
"MBMGByqGSM49AgEGCCqGSM49AwEHA0IABCvIy9BZ/hvmP9WdeIVnqPmbhcTl9IDy\n" +
76
"9uzWh5PH04u4LXUWWPedQL7DWBK9pRlV5HgvuPll0mMmC6goewqOC6SgHTAbBgkq\n" +
77
"hkiG9w0BCQcxDgwMdXRmOHBhc3N3b3JkMAoGCCqGSM49BAMCA0gAMEUCIQD396fy\n" +
78
"H2maO/rAj0EIWyNs9dFrDGf/IN08+qj8YFn0jgIgEJ5sXV2GLKX5CqfeyTWyu02f\n" +
79
"WEf4+EIuvcItbM4jhbs="
80
);
81
82
public static void main(String[] args) throws Exception {
83
int failedTests = 0;
84
85
for (Map.Entry<String, String> entry : TEST_INPUT.entrySet()) {
86
try {
87
System.out.print("Test - " + entry.getKey() + ": ");
88
89
// If the PKCS9 challengePassword attribute cannot accept the
90
// DirectoryString encoding for the password, parsing the
91
// PKCS10 should fail.
92
PKCS10 req = new PKCS10(Base64.getMimeDecoder().
93
decode(entry.getValue()));
94
95
System.out.println("PASS");
96
} catch (IOException ioe) {
97
failedTests++;
98
System.out.println("FAIL: " + ioe);
99
ioe.printStackTrace(System.out);
100
System.out.println();
101
}
102
}
103
104
if (failedTests > 0) {
105
throw new RuntimeException(
106
"One or more test cases failed, see output");
107
}
108
}
109
}
110
111