8005389: Backout fix for JDK-6500133
Reviewed-by: mullan
This commit is contained in:
parent
dcc8fbec72
commit
68eb431db8
@ -30,7 +30,6 @@ import java.net.URI;
|
|||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
|
|
||||||
import sun.security.util.*;
|
import sun.security.util.*;
|
||||||
import sun.net.www.ParseUtil;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class implements the URIName as required by the GeneralNames
|
* This class implements the URIName as required by the GeneralNames
|
||||||
@ -107,13 +106,7 @@ public class URIName implements GeneralNameInterface {
|
|||||||
try {
|
try {
|
||||||
uri = new URI(name);
|
uri = new URI(name);
|
||||||
} catch (URISyntaxException use) {
|
} catch (URISyntaxException use) {
|
||||||
try {
|
throw new IOException("invalid URI name:" + name, use);
|
||||||
// Try parsing the URI again after encoding/escaping
|
|
||||||
// any illegal characters
|
|
||||||
uri = new URI(ParseUtil.encodePath(name));
|
|
||||||
} catch (URISyntaxException use2) {
|
|
||||||
throw new IOException("invalid URI name:" + name, use2);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (uri.getScheme() == null) {
|
if (uri.getScheme() == null) {
|
||||||
throw new IOException("URI name must include scheme:" + name);
|
throw new IOException("URI name must include scheme:" + name);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
@ -23,11 +23,12 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* @test
|
* @test
|
||||||
* @bug 6500133
|
* @bug 8005389
|
||||||
* @summary CRL Distribution Point URIs with spaces or backslashes should be
|
* @summary CRL Distribution Point URIs with spaces or backslashes should
|
||||||
* parseable
|
* not be parseable
|
||||||
*/
|
*/
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
import java.security.cert.CertificateFactory;
|
import java.security.cert.CertificateFactory;
|
||||||
import java.security.cert.X509Certificate;
|
import java.security.cert.X509Certificate;
|
||||||
import sun.security.util.DerValue;
|
import sun.security.util.DerValue;
|
||||||
@ -90,27 +91,45 @@ public class Parse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
/* Parse a CRLDistributionPointsExtension URI with a space. */
|
/* Try to parse a CRLDistributionPointsExtension URI with a space. */
|
||||||
CRLDistributionPointsExtensionTest(certWithSpaceInCDPStr);
|
try {
|
||||||
System.out.println("Parsed CRLDistributionPointsExtension uri with "
|
CRLDistributionPointsExtensionTest(certWithSpaceInCDPStr);
|
||||||
+ "a space.");
|
throw new RuntimeException("Illegally parsed a "
|
||||||
|
+ "CRLDistributionPointsExtension uri with a space.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println("Caught the correct exception.");
|
||||||
|
|
||||||
/* Parse a CRLDistributionPointsExtension URI with backslashes. */
|
}
|
||||||
CRLDistributionPointsExtensionTest(certWithBackslashesInCDPStr);
|
|
||||||
System.out.println("Parsed CRLDistributionPointsExtension uri with "
|
|
||||||
+ "backslashes.");
|
|
||||||
|
|
||||||
/* Constructor a URIName from a uri with a space. */
|
/* Try to parse a CRLDistributionPointsExtension URI with backslashes. */
|
||||||
|
try {
|
||||||
|
CRLDistributionPointsExtensionTest(certWithBackslashesInCDPStr);
|
||||||
|
throw new RuntimeException("Illegally parsed a "
|
||||||
|
+ "CRLDistributionPointsExtension uri with a backslashes.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println("Caught the correct exception.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Try to construct a URIName from a uri with a space. */
|
||||||
String uriWithSpace = "file://crl file.crl";
|
String uriWithSpace = "file://crl file.crl";
|
||||||
URIName name = new URIName(uriWithSpace);
|
URIName name;
|
||||||
System.out.println("URI re-encoded from " + uriWithSpace
|
try {
|
||||||
+ " to " + name.getName());
|
name = new URIName(uriWithSpace);
|
||||||
|
throw new RuntimeException("Illegally created a URIName "
|
||||||
|
+ "from a uri with a space.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println("Caught the correct exception.");
|
||||||
|
}
|
||||||
|
|
||||||
/* Construct a URIName from a uri with backslashes. */
|
/* Try to construct a URIName from a uri with backslashes. */
|
||||||
String uriWithBackslashes = "file://\\\\CRL\\crl_file.crl";
|
String uriWithBackslashes = "file://\\\\CRL\\crl_file.crl";
|
||||||
name = new URIName(uriWithBackslashes);
|
try {
|
||||||
System.out.println("URI re-encoded from " + uriWithBackslashes
|
name = new URIName(uriWithBackslashes);
|
||||||
+ " to " + name.getName());
|
throw new RuntimeException("Illegally created a URIName "
|
||||||
|
+ "from a uri with backslashes.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
System.out.println("Caught the correct exception.");
|
||||||
|
}
|
||||||
|
|
||||||
System.out.println("Tests passed.");
|
System.out.println("Tests passed.");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user