8255536: Remove the directsign property and option

Reviewed-by: mullan
This commit is contained in:
Weijun Wang 2020-10-30 13:29:41 +00:00
parent f77a658557
commit a7563207f6
7 changed files with 22 additions and 170 deletions

View file

@ -75,15 +75,10 @@ public class Properties {
Asserts.assertTrue(sf.startsWith("Signature-Version"));
// There is a SignedAttributes
byte[] d0 = sign(jsb.setProperty("directsign", "false"));
byte[] d0 = sign(jsb);
Asserts.assertTrue(DerUtils.innerDerValue(d0, "10403")
.isContextSpecific((byte)0));
// There is no SignedAttributes
byte[] d1 = sign(jsb.setProperty("directsign", "true"));
Asserts.assertFalse(DerUtils.innerDerValue(d1, "10403")
.isContextSpecific((byte)0));
// Has a hash for the whole manifest
byte[] s0 = sign(jsb.setProperty("sectionsonly", "false"));
sf = new String(DerUtils.innerDerValue(s0, "10210").getOctetString());

View file

@ -23,7 +23,7 @@
/**
* @test
* @bug 8056174 8242068
* @bug 8056174 8242068 8255536
* @summary Make sure JarSigner impl conforms to spec
* @library /test/lib
* @modules java.base/sun.security.tools.keytool
@ -70,6 +70,9 @@ public class Spec {
sun.security.tools.keytool.Main.main(
("-keystore ks -storepass changeit -keypass changeit -dname" +
" CN=DSA -alias d -genkeypair -keyalg dsa").split(" "));
sun.security.tools.keytool.Main.main(
("-keystore ks -storepass changeit -keypass changeit -dname" +
" CN=Ed25519 -alias e -genkeypair -keyalg Ed25519").split(" "));
char[] pass = "changeit".toCharArray();
@ -127,8 +130,6 @@ public class Spec {
iae(()->b1.setProperty("sectionsonly", "OK"));
npe(()->b1.setProperty("sectionsonly", null));
npe(()->b1.setProperty("altsigner", null));
iae(()->b1.setProperty("directsign", "OK"));
npe(()->b1.setProperty("directsign", null));
npe(()->b1.eventHandler(null));
// default values
@ -146,7 +147,6 @@ public class Spec {
assertTrue(js2.getProperty("tsapolicyid") == null);
assertTrue(js2.getProperty("internalsf").equals("false"));
assertTrue(js2.getProperty("sectionsonly").equals("false"));
assertTrue(js2.getProperty("directsign").equals("false"));
assertTrue(js2.getProperty("altsigner") == null);
uoe(()->js2.getProperty("invalid"));
@ -163,7 +163,6 @@ public class Spec {
.setProperty("tsapolicyid", "1.2.3.4")
.setProperty("internalsf", "true")
.setProperty("sectionsonly", "true")
.setProperty("directsign", "true")
.setProperty("altsigner", "MyContentSigner")
.eventHandler(myeh);
JarSigner js3 = b3.build();
@ -176,7 +175,6 @@ public class Spec {
assertTrue(js3.getProperty("tsapolicyid").equals("1.2.3.4"));
assertTrue(js3.getProperty("internalsf").equals("true"));
assertTrue(js3.getProperty("sectionsonly").equals("true"));
assertTrue(js3.getProperty("directsign").equals("true"));
assertTrue(js3.getProperty("altsigner").equals("MyContentSigner"));
assertTrue(js3.getProperty("altsignerpath") == null);
@ -208,6 +206,14 @@ public class Spec {
assertTrue(JarSigner.Builder
.getDefaultSignatureAlgorithm(kpg.generateKeyPair().getPrivate())
.equals("SHA512withECDSA"));
// altsigner does not support modern algorithms
JarSigner.Builder b4 = new JarSigner.Builder(
(PrivateKey)ks.getKey("e", pass),
CertificateFactory.getInstance("X.509")
.generateCertPath(Arrays.asList(ks.getCertificateChain("e"))));
b4.setProperty("altsigner", "MyContentSigner");
iae(() -> b4.build());
}
interface RunnableWithException {