Merge
This commit is contained in:
commit
89dcd572a6
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -68,7 +68,7 @@ public class NTDomainPrincipal implements Principal, java.io.Serializable {
|
||||
if (name == null) {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("invalid null input: value",
|
||||
("invalid.null.input.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {"name"};
|
||||
throw new NullPointerException(form.format(source));
|
||||
@ -99,7 +99,7 @@ public class NTDomainPrincipal implements Principal, java.io.Serializable {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTDomainPrincipal: name",
|
||||
("NTDomainPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {name};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2002, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -70,7 +70,7 @@ public class NTNumericCredential {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTNumericCredential: name",
|
||||
("NTNumericCredential.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {Long.toString(impersonationToken)};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -73,7 +73,7 @@ public class NTSid implements Principal, java.io.Serializable {
|
||||
if (stringSid == null) {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("invalid null input: value",
|
||||
("invalid.null.input.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {"stringSid"};
|
||||
throw new NullPointerException(form.format(source));
|
||||
@ -81,7 +81,7 @@ public class NTSid implements Principal, java.io.Serializable {
|
||||
if (stringSid.length() == 0) {
|
||||
throw new IllegalArgumentException
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("Invalid NTSid value",
|
||||
("Invalid.NTSid.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
}
|
||||
sid = new String(stringSid);
|
||||
@ -108,7 +108,7 @@ public class NTSid implements Principal, java.io.Serializable {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTSid: name",
|
||||
("NTSid.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {sid};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -73,7 +73,7 @@ public class NTSidDomainPrincipal extends NTSid {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTSidDomainPrincipal: name",
|
||||
("NTSidDomainPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {getName()};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -68,7 +68,7 @@ public class NTSidGroupPrincipal extends NTSid {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTSidGroupPrincipal: name",
|
||||
("NTSidGroupPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {getName()};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -70,7 +70,7 @@ public class NTSidPrimaryGroupPrincipal extends NTSid {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTSidPrimaryGroupPrincipal: name",
|
||||
("NTSidPrimaryGroupPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {getName()};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -67,7 +67,7 @@ public class NTSidUserPrincipal extends NTSid {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTSidUserPrincipal: name",
|
||||
("NTSidUserPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {getName()};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -64,7 +64,7 @@ public class NTUserPrincipal implements Principal, java.io.Serializable {
|
||||
if (name == null) {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("invalid null input: value",
|
||||
("invalid.null.input.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {"name"};
|
||||
throw new NullPointerException(form.format(source));
|
||||
@ -93,7 +93,7 @@ public class NTUserPrincipal implements Principal, java.io.Serializable {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("NTUserPrincipal: name",
|
||||
("NTUserPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {name};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -490,9 +490,9 @@ public class PolicyFile extends javax.security.auth.Policy {
|
||||
}
|
||||
} catch (PolicyParser.ParsingException pe) {
|
||||
System.err.println(AUTH_POLICY +
|
||||
rb.getString(": error parsing ") + policy);
|
||||
rb.getString(".error.parsing.") + policy);
|
||||
System.err.println(AUTH_POLICY +
|
||||
rb.getString(": ") +
|
||||
rb.getString("COLON") +
|
||||
pe.getMessage());
|
||||
if (debug != null)
|
||||
pe.printStackTrace();
|
||||
@ -635,16 +635,16 @@ public class PolicyFile extends javax.security.auth.Policy {
|
||||
} catch (java.lang.reflect.InvocationTargetException ite) {
|
||||
System.err.println
|
||||
(AUTH_POLICY +
|
||||
rb.getString(": error adding Permission ") +
|
||||
rb.getString(".error.adding.Permission.") +
|
||||
pe.permission +
|
||||
rb.getString(" ") +
|
||||
rb.getString("SPACE") +
|
||||
ite.getTargetException());
|
||||
} catch (Exception e) {
|
||||
System.err.println
|
||||
(AUTH_POLICY +
|
||||
rb.getString(": error adding Permission ") +
|
||||
rb.getString(".error.adding.Permission.") +
|
||||
pe.permission +
|
||||
rb.getString(" ") +
|
||||
rb.getString("SPACE") +
|
||||
e);
|
||||
}
|
||||
}
|
||||
@ -652,9 +652,9 @@ public class PolicyFile extends javax.security.auth.Policy {
|
||||
} catch (Exception e) {
|
||||
System.err.println
|
||||
(AUTH_POLICY +
|
||||
rb.getString(": error adding Entry ") +
|
||||
rb.getString(".error.adding.Entry.") +
|
||||
ge +
|
||||
rb.getString(" ") +
|
||||
rb.getString("SPACE") +
|
||||
e);
|
||||
}
|
||||
|
||||
@ -1373,18 +1373,18 @@ public class PolicyFile extends javax.security.auth.Policy {
|
||||
|
||||
public String toString(){
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(rb.getString("("));
|
||||
sb.append(rb.getString("LPARAM"));
|
||||
sb.append(getCodeSource());
|
||||
sb.append("\n");
|
||||
for (int j = 0; j < permissions.size(); j++) {
|
||||
Permission p = permissions.elementAt(j);
|
||||
sb.append(rb.getString(" "));
|
||||
sb.append(rb.getString(" "));
|
||||
sb.append(rb.getString("SPACE"));
|
||||
sb.append(rb.getString("SPACE"));
|
||||
sb.append(p);
|
||||
sb.append(rb.getString("\n"));
|
||||
sb.append(rb.getString("NEWLINE"));
|
||||
}
|
||||
sb.append(rb.getString(")"));
|
||||
sb.append(rb.getString("\n"));
|
||||
sb.append(rb.getString("RPARAM"));
|
||||
sb.append(rb.getString("NEWLINE"));
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@ -1415,7 +1415,7 @@ class PolicyPermissions extends PermissionCollection {
|
||||
if (isReadOnly())
|
||||
throw new SecurityException
|
||||
(PolicyFile.rb.getString
|
||||
("attempt to add a Permission to a readonly PermissionCollection"));
|
||||
("attempt.to.add.a.Permission.to.a.readonly.PermissionCollection"));
|
||||
|
||||
if (perms == null) {
|
||||
if (additionalPerms == null)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2010, 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
|
||||
@ -300,7 +300,7 @@ class PolicyParser {
|
||||
keyStoreType = match("quoted string");
|
||||
} else {
|
||||
throw new ParsingException(st.lineno(),
|
||||
rb.getString("expected keystore type"));
|
||||
rb.getString("expected.keystore.type"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -368,8 +368,8 @@ class PolicyParser {
|
||||
"WILDCARD class but no WILDCARD name");
|
||||
throw new ParsingException
|
||||
(st.lineno(),
|
||||
rb.getString("can not specify Principal with a ") +
|
||||
rb.getString("wildcard class without a wildcard name"));
|
||||
rb.getString("can.not.specify.Principal.with.a.") +
|
||||
rb.getString("wildcard.class.without.a.wildcard.name"));
|
||||
}
|
||||
|
||||
try {
|
||||
@ -389,7 +389,7 @@ class PolicyParser {
|
||||
} else {
|
||||
throw new
|
||||
ParsingException(st.lineno(),
|
||||
rb.getString("expected codeBase or SignedBy"));
|
||||
rb.getString("expected.codeBase.or.SignedBy"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -397,7 +397,7 @@ class PolicyParser {
|
||||
if (principals == null) {
|
||||
throw new ParsingException
|
||||
(st.lineno(),
|
||||
rb.getString("only Principal-based grant entries permitted"));
|
||||
rb.getString("only.Principal.based.grant.entries.permitted"));
|
||||
}
|
||||
|
||||
e.principals = principals;
|
||||
@ -416,7 +416,7 @@ class PolicyParser {
|
||||
} else {
|
||||
throw new
|
||||
ParsingException(st.lineno(),
|
||||
rb.getString("expected permission entry"));
|
||||
rb.getString("expected.permission.entry"));
|
||||
}
|
||||
}
|
||||
match("}");
|
||||
@ -522,12 +522,12 @@ class PolicyParser {
|
||||
switch (lookahead) {
|
||||
case StreamTokenizer.TT_NUMBER:
|
||||
throw new ParsingException(st.lineno(), expect,
|
||||
rb.getString("number ") +
|
||||
rb.getString("number.") +
|
||||
String.valueOf(st.nval));
|
||||
case StreamTokenizer.TT_EOF:
|
||||
throw new ParsingException
|
||||
(rb.getString("expected ") + expect +
|
||||
rb.getString(", read end of file"));
|
||||
(rb.getString("expected.") + expect +
|
||||
rb.getString(".read.end.of.file"));
|
||||
case StreamTokenizer.TT_WORD:
|
||||
if (expect.equalsIgnoreCase(st.sval)) {
|
||||
lookahead = st.nextToken();
|
||||
@ -603,11 +603,11 @@ class PolicyParser {
|
||||
switch (lookahead) {
|
||||
case StreamTokenizer.TT_NUMBER:
|
||||
throw new ParsingException(st.lineno(), ";",
|
||||
rb.getString("number ") +
|
||||
rb.getString("number.") +
|
||||
String.valueOf(st.nval));
|
||||
case StreamTokenizer.TT_EOF:
|
||||
throw new ParsingException
|
||||
(rb.getString("expected ';', read end of file"));
|
||||
(rb.getString("expected.read.end.of.file"));
|
||||
default:
|
||||
lookahead = st.nextToken();
|
||||
}
|
||||
@ -942,13 +942,13 @@ class PolicyParser {
|
||||
}
|
||||
|
||||
public ParsingException(int line, String msg) {
|
||||
super(rb.getString("line ") + line + rb.getString(": ") + msg);
|
||||
super(rb.getString("line.") + line + rb.getString("COLON") + msg);
|
||||
}
|
||||
|
||||
public ParsingException(int line, String expect, String actual) {
|
||||
super(rb.getString("line ") + line + rb.getString(": expected '") +
|
||||
expect + rb.getString("', found '") + actual +
|
||||
rb.getString("'"));
|
||||
super(rb.getString("line.") + line + rb.getString(".expected.") +
|
||||
expect + rb.getString(".found.") + actual +
|
||||
rb.getString("QUOTE"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -89,7 +89,7 @@ public class SolarisNumericGroupPrincipal implements
|
||||
*/
|
||||
public SolarisNumericGroupPrincipal(String name, boolean primaryGroup) {
|
||||
if (name == null)
|
||||
throw new NullPointerException(rb.getString("provided null name"));
|
||||
throw new NullPointerException(rb.getString("provided.null.name"));
|
||||
|
||||
this.name = name;
|
||||
this.primaryGroup = primaryGroup;
|
||||
@ -165,9 +165,9 @@ public class SolarisNumericGroupPrincipal implements
|
||||
public String toString() {
|
||||
return((primaryGroup ?
|
||||
rb.getString
|
||||
("SolarisNumericGroupPrincipal [Primary Group]: ") + name :
|
||||
("SolarisNumericGroupPrincipal.Primary.Group.") + name :
|
||||
rb.getString
|
||||
("SolarisNumericGroupPrincipal [Supplementary Group]: ") + name));
|
||||
("SolarisNumericGroupPrincipal.Supplementary.Group.") + name));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -80,7 +80,7 @@ public class SolarisNumericUserPrincipal implements
|
||||
*/
|
||||
public SolarisNumericUserPrincipal(String name) {
|
||||
if (name == null)
|
||||
throw new NullPointerException(rb.getString("provided null name"));
|
||||
throw new NullPointerException(rb.getString("provided.null.name"));
|
||||
|
||||
this.name = name;
|
||||
}
|
||||
@ -134,7 +134,7 @@ public class SolarisNumericUserPrincipal implements
|
||||
* <code>SolarisNumericUserPrincipal</code>.
|
||||
*/
|
||||
public String toString() {
|
||||
return(rb.getString("SolarisNumericUserPrincipal: ") + name);
|
||||
return(rb.getString("SolarisNumericUserPrincipal.") + name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -76,7 +76,7 @@ public class SolarisPrincipal implements Principal, java.io.Serializable {
|
||||
*/
|
||||
public SolarisPrincipal(String name) {
|
||||
if (name == null)
|
||||
throw new NullPointerException(rb.getString("provided null name"));
|
||||
throw new NullPointerException(rb.getString("provided.null.name"));
|
||||
|
||||
this.name = name;
|
||||
}
|
||||
@ -100,7 +100,7 @@ public class SolarisPrincipal implements Principal, java.io.Serializable {
|
||||
* @return a string representation of this <code>SolarisPrincipal</code>.
|
||||
*/
|
||||
public String toString() {
|
||||
return(rb.getString("SolarisPrincipal: ") + name);
|
||||
return(rb.getString("SolarisPrincipal.") + name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -395,7 +395,7 @@ class SubjectCodeSource extends CodeSource implements java.io.Serializable {
|
||||
principals.listIterator();
|
||||
while (li.hasNext()) {
|
||||
PolicyParser.PrincipalEntry pppe = li.next();
|
||||
returnMe = returnMe + rb.getString("\n") +
|
||||
returnMe = returnMe + rb.getString("NEWLINE") +
|
||||
pppe.principalClass + " " +
|
||||
pppe.principalName;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -77,7 +77,7 @@ public class UnixNumericGroupPrincipal implements
|
||||
if (name == null) {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("invalid null input: value",
|
||||
("invalid.null.input.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {"name"};
|
||||
throw new NullPointerException(form.format(source));
|
||||
@ -159,14 +159,14 @@ public class UnixNumericGroupPrincipal implements
|
||||
if (primaryGroup) {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("UnixNumericGroupPrincipal [Primary Group]: name",
|
||||
("UnixNumericGroupPrincipal.Primary.Group.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {name};
|
||||
return form.format(source);
|
||||
} else {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("UnixNumericGroupPrincipal [Supplementary Group]: name",
|
||||
("UnixNumericGroupPrincipal.Supplementary.Group.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {name};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -67,7 +67,7 @@ public class UnixNumericUserPrincipal implements
|
||||
if (name == null) {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("invalid null input: value",
|
||||
("invalid.null.input.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {"name"};
|
||||
throw new NullPointerException(form.format(source));
|
||||
@ -127,7 +127,7 @@ public class UnixNumericUserPrincipal implements
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("UnixNumericUserPrincipal: name",
|
||||
("UnixNumericUserPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {name};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -64,7 +64,7 @@ public class UnixPrincipal implements Principal, java.io.Serializable {
|
||||
if (name == null) {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("invalid null input: value",
|
||||
("invalid.null.input.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {"name"};
|
||||
throw new NullPointerException(form.format(source));
|
||||
@ -94,7 +94,7 @@ public class UnixPrincipal implements Principal, java.io.Serializable {
|
||||
public String toString() {
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("UnixPrincipal: name",
|
||||
("UnixPrincipal.name",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {name};
|
||||
return form.format(source);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -87,7 +87,7 @@ public class X500Principal implements Principal, java.io.Serializable {
|
||||
*/
|
||||
public X500Principal(String name) {
|
||||
if (name == null)
|
||||
throw new NullPointerException(rb.getString("provided null name"));
|
||||
throw new NullPointerException(rb.getString("provided.null.name"));
|
||||
|
||||
try {
|
||||
thisX500Name = new X500Name(name);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -190,7 +190,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
} catch (PropertyExpander.ExpandException peee) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("Unable to properly expand config",
|
||||
("Unable.to.properly.expand.config",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {extra_config};
|
||||
throw new IOException(form.format(source));
|
||||
@ -206,7 +206,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("extra_config (No such file or directory)",
|
||||
("extra.config.No.such.file.or.directory.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {extra_config};
|
||||
throw new IOException(form.format(source));
|
||||
@ -243,7 +243,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
} catch (PropertyExpander.ExpandException peee) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("Unable to properly expand config",
|
||||
("Unable.to.properly.expand.config",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {config_url};
|
||||
throw new IOException(form.format(source));
|
||||
@ -286,7 +286,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
debugConfig.println(fnfe.toString());
|
||||
}
|
||||
throw new IOException(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tNo such file or directory",
|
||||
("Configuration.Error.No.such.file.or.directory",
|
||||
"sun.security.util.AuthResources"));
|
||||
} finally {
|
||||
if (isr != null) {
|
||||
@ -426,7 +426,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
AppConfigurationEntry.LoginModuleControlFlag.OPTIONAL;
|
||||
else {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tInvalid control flag, flag",
|
||||
("Configuration.Error.Invalid.control.flag.flag",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {sflag};
|
||||
throw new IOException(form.format(source));
|
||||
@ -474,8 +474,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
// add this configuration entry
|
||||
if (newConfig.containsKey(appName)) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\t" +
|
||||
"Can not specify multiple entries for appName",
|
||||
("Configuration.Error.Can.not.specify.multiple.entries.for.appName",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {appName};
|
||||
throw new IOException(form.format(source));
|
||||
@ -491,8 +490,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
case StreamTokenizer.TT_EOF:
|
||||
|
||||
MessageFormat form1 = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\texpected [expect], " +
|
||||
"read [end of file]",
|
||||
("Configuration.Error.expected.expect.read.end.of.file.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source1 = {expect};
|
||||
throw new IOException(form1.format(source1));
|
||||
@ -508,8 +506,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
lookahead = nextToken();
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tLine line: " +
|
||||
"expected [expect], found [value]",
|
||||
("Configuration.Error.Line.line.expected.expect.found.value.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {new Integer(linenum), expect, st.sval};
|
||||
throw new IOException(form.format(source));
|
||||
@ -522,7 +519,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
lookahead = nextToken();
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tLine line: expected [expect]",
|
||||
("Configuration.Error.Line.line.expected.expect.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {new Integer(linenum), expect, st.sval};
|
||||
throw new IOException(form.format(source));
|
||||
@ -535,7 +532,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
lookahead = nextToken();
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tLine line: expected [expect]",
|
||||
("Configuration.Error.Line.line.expected.expect.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {new Integer(linenum), expect, st.sval};
|
||||
throw new IOException(form.format(source));
|
||||
@ -548,7 +545,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
lookahead = nextToken();
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tLine line: expected [expect]",
|
||||
("Configuration.Error.Line.line.expected.expect.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {new Integer(linenum), expect, st.sval};
|
||||
throw new IOException(form.format(source));
|
||||
@ -561,7 +558,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
lookahead = nextToken();
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tLine line: expected [expect]",
|
||||
("Configuration.Error.Line.line.expected.expect.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {new Integer(linenum), expect, st.sval};
|
||||
throw new IOException(form.format(source));
|
||||
@ -570,8 +567,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
|
||||
default:
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tLine line: " +
|
||||
"expected [expect], found [value]",
|
||||
("Configuration.Error.Line.line.expected.expect.found.value.",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {new Integer(linenum), expect, st.sval};
|
||||
throw new IOException(form.format(source));
|
||||
@ -667,8 +663,7 @@ public class ConfigFile extends javax.security.auth.login.Configuration {
|
||||
|
||||
if (s == null || s.length() == 0) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("Configuration Error:\n\tLine line: " +
|
||||
"system property [value] expanded to empty value",
|
||||
("Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
|
||||
"sun.security.util.AuthResources"));
|
||||
Object[] source = {new Integer(linenum), value};
|
||||
throw new IOException(form.format(source));
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -686,9 +686,9 @@ public class JndiLoginModule implements LoginModule {
|
||||
|
||||
Callback[] callbacks = new Callback[2];
|
||||
callbacks[0] = new NameCallback(protocol + " "
|
||||
+ rb.getString("username: "));
|
||||
+ rb.getString("username."));
|
||||
callbacks[1] = new PasswordCallback(protocol + " " +
|
||||
rb.getString("password: "),
|
||||
rb.getString("password."),
|
||||
false);
|
||||
|
||||
try {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -150,7 +150,7 @@ public class KeyStoreLoginModule implements LoginModule {
|
||||
private static final TextOutputCallback bannerCallback =
|
||||
new TextOutputCallback
|
||||
(TextOutputCallback.INFORMATION,
|
||||
rb.getString("Please enter keystore information"));
|
||||
rb.getString("Please.enter.keystore.information"));
|
||||
private final ConfirmationCallback confirmationCallback =
|
||||
new ConfirmationCallback
|
||||
(ConfirmationCallback.INFORMATION,
|
||||
@ -364,10 +364,10 @@ public class KeyStoreLoginModule implements LoginModule {
|
||||
NameCallback aliasCallback;
|
||||
if (keyStoreAlias == null || keyStoreAlias.length() == 0) {
|
||||
aliasCallback = new NameCallback(
|
||||
rb.getString("Keystore alias: "));
|
||||
rb.getString("Keystore.alias."));
|
||||
} else {
|
||||
aliasCallback =
|
||||
new NameCallback(rb.getString("Keystore alias: "),
|
||||
new NameCallback(rb.getString("Keystore.alias."),
|
||||
keyStoreAlias);
|
||||
}
|
||||
|
||||
@ -379,11 +379,11 @@ public class KeyStoreLoginModule implements LoginModule {
|
||||
break;
|
||||
case NORMAL:
|
||||
keyPassCallback = new PasswordCallback
|
||||
(rb.getString("Private key password (optional): "), false);
|
||||
(rb.getString("Private.key.password.optional."), false);
|
||||
// fall thru
|
||||
case TOKEN:
|
||||
storePassCallback = new PasswordCallback
|
||||
(rb.getString("Keystore password: "), false);
|
||||
(rb.getString("Keystore.password."), false);
|
||||
break;
|
||||
}
|
||||
prompt(aliasCallback, storePassCallback, keyPassCallback);
|
||||
|
@ -780,7 +780,7 @@ public class Krb5LoginModule implements LoginModule {
|
||||
Callback[] callbacks = new Callback[1];
|
||||
MessageFormat form = new MessageFormat(
|
||||
rb.getString(
|
||||
"Kerberos username [[defUsername]]: "));
|
||||
"Kerberos.username.defUsername."));
|
||||
Object[] source = {defUsername};
|
||||
callbacks[0] = new NameCallback(form.format(source));
|
||||
callbackHandler.handle(callbacks);
|
||||
@ -835,7 +835,7 @@ public class Krb5LoginModule implements LoginModule {
|
||||
String userName = krb5PrincName.toString();
|
||||
MessageFormat form = new MessageFormat(
|
||||
rb.getString(
|
||||
"Kerberos password for [username]: "));
|
||||
"Kerberos.password.for.username."));
|
||||
Object[] source = {userName};
|
||||
callbacks[0] = new PasswordCallback(
|
||||
form.format(source),
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2010, 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
|
||||
@ -969,8 +969,8 @@ public class LdapLoginModule implements LoginModule {
|
||||
"to acquire authentication information from the user");
|
||||
|
||||
Callback[] callbacks = new Callback[2];
|
||||
callbacks[0] = new NameCallback(rb.getString("username: "));
|
||||
callbacks[1] = new PasswordCallback(rb.getString("password: "), false);
|
||||
callbacks[0] = new NameCallback(rb.getString("username."));
|
||||
callbacks[1] = new PasswordCallback(rb.getString("password."), false);
|
||||
|
||||
try {
|
||||
callbackHandler.handle(callbacks);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2010, 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
|
||||
@ -237,7 +237,7 @@ public abstract class Policy {
|
||||
} catch (Exception e) {
|
||||
throw new SecurityException
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("unable to instantiate Subject-based policy"));
|
||||
("unable.to.instantiate.Subject.based.policy"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2010, 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
|
||||
@ -172,7 +172,7 @@ public final class PrivateCredentialPermission extends Permission {
|
||||
|
||||
if (!"read".equalsIgnoreCase(actions))
|
||||
throw new IllegalArgumentException
|
||||
(ResourcesMgr.getString("actions can only be 'read'"));
|
||||
(ResourcesMgr.getString("actions.can.only.be.read."));
|
||||
init(name);
|
||||
}
|
||||
|
||||
@ -344,12 +344,11 @@ public final class PrivateCredentialPermission extends Permission {
|
||||
|
||||
if (tokenizer.hasMoreTokens() == false) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("permission name [name] syntax invalid: "));
|
||||
("permission.name.name.syntax.invalid."));
|
||||
Object[] source = {name};
|
||||
throw new IllegalArgumentException
|
||||
(form.format(source) + ResourcesMgr.getString
|
||||
("Credential Class not followed by a " +
|
||||
"Principal Class and Name"));
|
||||
("Credential.Class.not.followed.by.a.Principal.Class.and.Name"));
|
||||
}
|
||||
|
||||
while (tokenizer.hasMoreTokens()) {
|
||||
@ -364,11 +363,11 @@ public final class PrivateCredentialPermission extends Permission {
|
||||
|
||||
if (tokenizer.hasMoreTokens() == false) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("permission name [name] syntax invalid: "));
|
||||
("permission.name.name.syntax.invalid."));
|
||||
Object[] source = {name};
|
||||
throw new IllegalArgumentException
|
||||
(form.format(source) + ResourcesMgr.getString
|
||||
("Principal Class not followed by a Principal Name"));
|
||||
("Principal.Class.not.followed.by.a.Principal.Name"));
|
||||
}
|
||||
|
||||
// skip delimiter
|
||||
@ -379,11 +378,11 @@ public final class PrivateCredentialPermission extends Permission {
|
||||
|
||||
if (!principalName.startsWith("\"")) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("permission name [name] syntax invalid: "));
|
||||
("permission.name.name.syntax.invalid."));
|
||||
Object[] source = {name};
|
||||
throw new IllegalArgumentException
|
||||
(form.format(source) + ResourcesMgr.getString
|
||||
("Principal Name must be surrounded by quotes"));
|
||||
("Principal.Name.must.be.surrounded.by.quotes"));
|
||||
}
|
||||
|
||||
if (!principalName.endsWith("\"")) {
|
||||
@ -401,11 +400,11 @@ public final class PrivateCredentialPermission extends Permission {
|
||||
if (!principalName.endsWith("\"")) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("permission name [name] syntax invalid: "));
|
||||
("permission.name.name.syntax.invalid."));
|
||||
Object[] source = {name};
|
||||
throw new IllegalArgumentException
|
||||
(form.format(source) + ResourcesMgr.getString
|
||||
("Principal Name missing end quote"));
|
||||
("Principal.Name.missing.end.quote"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -418,9 +417,7 @@ public final class PrivateCredentialPermission extends Permission {
|
||||
if (principalClass.equals("*") &&
|
||||
!principalName.equals("*")) {
|
||||
throw new IllegalArgumentException(ResourcesMgr.getString
|
||||
("PrivateCredentialPermission Principal Class " +
|
||||
"can not be a wildcard (*) value if Principal Name " +
|
||||
"is not a wildcard (*) value"));
|
||||
("PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value"));
|
||||
}
|
||||
|
||||
if (testing)
|
||||
@ -556,8 +553,7 @@ public final class PrivateCredentialPermission extends Permission {
|
||||
|
||||
public String toString() {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("CredOwner:\n\tPrincipal Class = class\n\t" +
|
||||
"Principal Name = name"));
|
||||
("CredOwner.Principal.Class.class.Principal.Name.name"));
|
||||
Object[] source = {principalClass, principalName};
|
||||
return (form.format(source));
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2010, 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
|
||||
@ -204,7 +204,7 @@ public final class Subject implements java.io.Serializable {
|
||||
pubCredentials == null ||
|
||||
privCredentials == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null input(s)"));
|
||||
(ResourcesMgr.getString("invalid.null.input.s."));
|
||||
|
||||
this.principals = Collections.synchronizedSet(new SecureSet<Principal>
|
||||
(this, PRINCIPAL_SET, principals));
|
||||
@ -289,7 +289,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (acc == null) {
|
||||
throw new NullPointerException(ResourcesMgr.getString
|
||||
("invalid null AccessControlContext provided"));
|
||||
("invalid.null.AccessControlContext.provided"));
|
||||
}
|
||||
|
||||
// return the Subject from the DomainCombiner of the provided context
|
||||
@ -346,7 +346,7 @@ public final class Subject implements java.io.Serializable {
|
||||
}
|
||||
if (action == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null action provided"));
|
||||
(ResourcesMgr.getString("invalid.null.action.provided"));
|
||||
|
||||
// set up the new Subject-based AccessControlContext
|
||||
// for doPrivileged
|
||||
@ -406,7 +406,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (action == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null action provided"));
|
||||
(ResourcesMgr.getString("invalid.null.action.provided"));
|
||||
|
||||
// set up the new Subject-based AccessControlContext for doPrivileged
|
||||
final AccessControlContext currentAcc = AccessController.getContext();
|
||||
@ -460,7 +460,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (action == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null action provided"));
|
||||
(ResourcesMgr.getString("invalid.null.action.provided"));
|
||||
|
||||
// set up the new Subject-based AccessControlContext
|
||||
// for doPrivileged
|
||||
@ -524,7 +524,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (action == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null action provided"));
|
||||
(ResourcesMgr.getString("invalid.null.action.provided"));
|
||||
|
||||
// set up the new Subject-based AccessControlContext for doPrivileged
|
||||
final AccessControlContext callerAcc =
|
||||
@ -603,7 +603,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (c == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null Class provided"));
|
||||
(ResourcesMgr.getString("invalid.null.Class.provided"));
|
||||
|
||||
// always return an empty Set instead of null
|
||||
// so LoginModules can add to the Set if necessary
|
||||
@ -697,7 +697,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (c == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null Class provided"));
|
||||
(ResourcesMgr.getString("invalid.null.Class.provided"));
|
||||
|
||||
// always return an empty Set instead of null
|
||||
// so LoginModules can add to the Set if necessary
|
||||
@ -742,7 +742,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (c == null)
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("invalid null Class provided"));
|
||||
(ResourcesMgr.getString("invalid.null.Class.provided"));
|
||||
|
||||
// always return an empty Set instead of null
|
||||
// so LoginModules can add to the Set if necessary
|
||||
@ -832,15 +832,15 @@ public final class Subject implements java.io.Serializable {
|
||||
*/
|
||||
String toString(boolean includePrivateCredentials) {
|
||||
|
||||
String s = ResourcesMgr.getString("Subject:\n");
|
||||
String s = ResourcesMgr.getString("Subject.");
|
||||
String suffix = "";
|
||||
|
||||
synchronized(principals) {
|
||||
Iterator<Principal> pI = principals.iterator();
|
||||
while (pI.hasNext()) {
|
||||
Principal p = pI.next();
|
||||
suffix = suffix + ResourcesMgr.getString("\tPrincipal: ") +
|
||||
p.toString() + ResourcesMgr.getString("\n");
|
||||
suffix = suffix + ResourcesMgr.getString(".Principal.") +
|
||||
p.toString() + ResourcesMgr.getString("NEWLINE");
|
||||
}
|
||||
}
|
||||
|
||||
@ -849,8 +849,8 @@ public final class Subject implements java.io.Serializable {
|
||||
while (pI.hasNext()) {
|
||||
Object o = pI.next();
|
||||
suffix = suffix +
|
||||
ResourcesMgr.getString("\tPublic Credential: ") +
|
||||
o.toString() + ResourcesMgr.getString("\n");
|
||||
ResourcesMgr.getString(".Public.Credential.") +
|
||||
o.toString() + ResourcesMgr.getString("NEWLINE");
|
||||
}
|
||||
}
|
||||
|
||||
@ -861,12 +861,12 @@ public final class Subject implements java.io.Serializable {
|
||||
try {
|
||||
Object o = pI.next();
|
||||
suffix += ResourcesMgr.getString
|
||||
("\tPrivate Credential: ") +
|
||||
(".Private.Credential.") +
|
||||
o.toString() +
|
||||
ResourcesMgr.getString("\n");
|
||||
ResourcesMgr.getString("NEWLINE");
|
||||
} catch (SecurityException se) {
|
||||
suffix += ResourcesMgr.getString
|
||||
("\tPrivate Credential inaccessible\n");
|
||||
(".Private.Credential.inaccessible.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1036,7 +1036,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (subject.isReadOnly()) {
|
||||
throw new IllegalStateException(ResourcesMgr.getString
|
||||
("Subject is read-only"));
|
||||
("Subject.is.read.only"));
|
||||
}
|
||||
|
||||
java.lang.SecurityManager sm = System.getSecurityManager();
|
||||
@ -1062,7 +1062,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (subject.isReadOnly()) {
|
||||
throw new IllegalStateException
|
||||
(ResourcesMgr.getString("Subject is read-only"));
|
||||
(ResourcesMgr.getString("Subject.is.read.only"));
|
||||
}
|
||||
|
||||
java.lang.SecurityManager sm = System.getSecurityManager();
|
||||
@ -1084,9 +1084,7 @@ public final class Subject implements java.io.Serializable {
|
||||
case Subject.PRINCIPAL_SET:
|
||||
if (!(o instanceof Principal)) {
|
||||
throw new SecurityException(ResourcesMgr.getString
|
||||
("attempting to add an object which is not an " +
|
||||
"instance of java.security.Principal to a " +
|
||||
"Subject's Principal Set"));
|
||||
("attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -1389,8 +1387,7 @@ public final class Subject implements java.io.Serializable {
|
||||
|
||||
if (!o.getClass().isAssignableFrom(c)) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("attempting to add an object which is not an " +
|
||||
"instance of class"));
|
||||
("attempting.to.add.an.object.which.is.not.an.instance.of.class"));
|
||||
Object[] source = {c.toString()};
|
||||
throw new SecurityException(form.format(source));
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2010, 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
|
||||
@ -167,7 +167,7 @@ public class AppConfigurationEntry {
|
||||
*/
|
||||
public String toString() {
|
||||
return (sun.security.util.ResourcesMgr.getString
|
||||
("LoginModuleControlFlag: ") + controlFlag);
|
||||
("LoginModuleControlFlag.") + controlFlag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2010, 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
|
||||
@ -244,7 +244,7 @@ public class LoginContext {
|
||||
|
||||
if (name == null)
|
||||
throw new LoginException
|
||||
(ResourcesMgr.getString("Invalid null input: name"));
|
||||
(ResourcesMgr.getString("Invalid.null.input.name"));
|
||||
|
||||
// get the Configuration
|
||||
if (config == null) {
|
||||
@ -268,7 +268,7 @@ public class LoginContext {
|
||||
entries = config.getAppConfigurationEntry(OTHER);
|
||||
if (entries == null) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("No LoginModules configured for name"));
|
||||
("No.LoginModules.configured.for.name"));
|
||||
Object[] source = {name};
|
||||
throw new LoginException(form.format(source));
|
||||
}
|
||||
@ -382,7 +382,7 @@ public class LoginContext {
|
||||
init(name);
|
||||
if (subject == null)
|
||||
throw new LoginException
|
||||
(ResourcesMgr.getString("invalid null Subject provided"));
|
||||
(ResourcesMgr.getString("invalid.null.Subject.provided"));
|
||||
this.subject = subject;
|
||||
subjectProvided = true;
|
||||
loadDefaultCallbackHandler();
|
||||
@ -418,7 +418,7 @@ public class LoginContext {
|
||||
init(name);
|
||||
if (callbackHandler == null)
|
||||
throw new LoginException(ResourcesMgr.getString
|
||||
("invalid null CallbackHandler provided"));
|
||||
("invalid.null.CallbackHandler.provided"));
|
||||
this.callbackHandler = new SecureCallbackHandler
|
||||
(java.security.AccessController.getContext(),
|
||||
callbackHandler);
|
||||
@ -459,7 +459,7 @@ public class LoginContext {
|
||||
this(name, subject);
|
||||
if (callbackHandler == null)
|
||||
throw new LoginException(ResourcesMgr.getString
|
||||
("invalid null CallbackHandler provided"));
|
||||
("invalid.null.CallbackHandler.provided"));
|
||||
this.callbackHandler = new SecureCallbackHandler
|
||||
(java.security.AccessController.getContext(),
|
||||
callbackHandler);
|
||||
@ -633,7 +633,7 @@ public class LoginContext {
|
||||
public void logout() throws LoginException {
|
||||
if (subject == null) {
|
||||
throw new LoginException(ResourcesMgr.getString
|
||||
("null subject - logout called before login"));
|
||||
("null.subject.logout.called.before.login"));
|
||||
}
|
||||
|
||||
if (configProvided) {
|
||||
@ -811,21 +811,20 @@ public class LoginContext {
|
||||
|
||||
} catch (NoSuchMethodException nsme) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("unable to instantiate LoginModule, module, because " +
|
||||
"it does not provide a no-argument constructor"));
|
||||
("unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor"));
|
||||
Object[] source = {moduleStack[i].entry.getLoginModuleName()};
|
||||
throwException(null, new LoginException(form.format(source)));
|
||||
} catch (InstantiationException ie) {
|
||||
throwException(null, new LoginException(ResourcesMgr.getString
|
||||
("unable to instantiate LoginModule: ") +
|
||||
("unable.to.instantiate.LoginModule.") +
|
||||
ie.getMessage()));
|
||||
} catch (ClassNotFoundException cnfe) {
|
||||
throwException(null, new LoginException(ResourcesMgr.getString
|
||||
("unable to find LoginModule class: ") +
|
||||
("unable.to.find.LoginModule.class.") +
|
||||
cnfe.getMessage()));
|
||||
} catch (IllegalAccessException iae) {
|
||||
throwException(null, new LoginException(ResourcesMgr.getString
|
||||
("unable to access LoginModule: ") +
|
||||
("unable.to.access.LoginModule.") +
|
||||
iae.getMessage()));
|
||||
} catch (InvocationTargetException ite) {
|
||||
|
||||
@ -934,7 +933,7 @@ public class LoginContext {
|
||||
} else if (success == false) {
|
||||
// no module succeeded -- all modules were IGNORED
|
||||
throwException(new LoginException
|
||||
(ResourcesMgr.getString("Login Failure: all modules ignored")),
|
||||
(ResourcesMgr.getString("Login.Failure.all.modules.ignored")),
|
||||
null);
|
||||
} else {
|
||||
// success
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -155,12 +155,12 @@ public final class X500Principal implements Principal, java.io.Serializable {
|
||||
if (name == null) {
|
||||
throw new NullPointerException
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("provided null name"));
|
||||
("provided.null.name"));
|
||||
}
|
||||
if (keywordMap == null) {
|
||||
throw new NullPointerException
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("provided null keyword map"));
|
||||
("provided.null.keyword.map"));
|
||||
}
|
||||
|
||||
try {
|
||||
@ -391,7 +391,7 @@ public final class X500Principal implements Principal, java.io.Serializable {
|
||||
if (oidMap == null) {
|
||||
throw new NullPointerException
|
||||
(sun.security.util.ResourcesMgr.getString
|
||||
("provided null OID map"));
|
||||
("provided.null.OID.map"));
|
||||
}
|
||||
if (format != null) {
|
||||
if (format.equalsIgnoreCase(RFC1779)) {
|
||||
|
@ -1123,7 +1123,7 @@ public final class SunPKCS11 extends AuthProvider {
|
||||
|
||||
java.text.MessageFormat form = new java.text.MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("PKCS11 Token [providerName] Password: "));
|
||||
("PKCS11.Token.providerName.Password."));
|
||||
Object[] source = { getName() };
|
||||
|
||||
PasswordCallback pcall = new PasswordCallback(form.format(source),
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2010, 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
|
||||
@ -653,7 +653,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
}
|
||||
} catch (PolicyParser.ParsingException pe) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
(POLICY + ": error parsing policy:\n\tmessage"));
|
||||
(POLICY + ".error.parsing.policy.message"));
|
||||
Object[] source = {policy, pe.getLocalizedMessage()};
|
||||
System.err.println(form.format(source));
|
||||
if (debug != null)
|
||||
@ -895,7 +895,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
(POLICY +
|
||||
": error adding Permission, perm:\n\tmessage"));
|
||||
".error.adding.Permission.perm.message"));
|
||||
Object[] source = {pe.permission,
|
||||
ite.getTargetException().toString()};
|
||||
System.err.println(form.format(source));
|
||||
@ -903,7 +903,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
(POLICY +
|
||||
": error adding Permission, perm:\n\tmessage"));
|
||||
".error.adding.Permission.perm.message"));
|
||||
Object[] source = {pe.permission,
|
||||
e.toString()};
|
||||
System.err.println(form.format(source));
|
||||
@ -915,7 +915,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
} catch (Exception e) {
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
(POLICY
|
||||
+ ": error adding Entry:\n\tmessage"));
|
||||
+ ".error.adding.Entry.message"));
|
||||
Object[] source = {e.toString()};
|
||||
System.err.println(form.format(source));
|
||||
}
|
||||
@ -1950,7 +1950,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
if (colonIndex == -1) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("alias name not provided (pe.name)"));
|
||||
("alias.name.not.provided.pe.name."));
|
||||
Object[] source = {pe.name};
|
||||
throw new Exception(form.format(source));
|
||||
}
|
||||
@ -1958,7 +1958,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
if ((suffix = getDN(suffix, keystore)) == null) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("unable to perform substitution on alias, suffix"));
|
||||
("unable.to.perform.substitution.on.alias.suffix"));
|
||||
Object[] source = {value.substring(colonIndex+1)};
|
||||
throw new Exception(form.format(source));
|
||||
}
|
||||
@ -1968,7 +1968,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString
|
||||
("substitution value, prefix, unsupported"));
|
||||
("substitution.value.prefix.unsupported"));
|
||||
Object[] source = {prefix};
|
||||
throw new Exception(form.format(source));
|
||||
}
|
||||
@ -2127,18 +2127,18 @@ public class PolicyFile extends java.security.Policy {
|
||||
|
||||
@Override public String toString(){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(ResourcesMgr.getString("("));
|
||||
sb.append(ResourcesMgr.getString("LPARAM"));
|
||||
sb.append(getCodeSource());
|
||||
sb.append("\n");
|
||||
for (int j = 0; j < permissions.size(); j++) {
|
||||
Permission p = permissions.get(j);
|
||||
sb.append(ResourcesMgr.getString(" "));
|
||||
sb.append(ResourcesMgr.getString(" "));
|
||||
sb.append(ResourcesMgr.getString("SPACE"));
|
||||
sb.append(ResourcesMgr.getString("SPACE"));
|
||||
sb.append(p);
|
||||
sb.append(ResourcesMgr.getString("\n"));
|
||||
sb.append(ResourcesMgr.getString("NEWLINE"));
|
||||
}
|
||||
sb.append(ResourcesMgr.getString(")"));
|
||||
sb.append(ResourcesMgr.getString("\n"));
|
||||
sb.append(ResourcesMgr.getString("RPARAM"));
|
||||
sb.append(ResourcesMgr.getString("NEWLINE"));
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@ -2195,7 +2195,7 @@ public class PolicyFile extends java.security.Policy {
|
||||
super(type);
|
||||
if (type == null) {
|
||||
throw new NullPointerException
|
||||
(ResourcesMgr.getString("type can't be null"));
|
||||
(ResourcesMgr.getString("type.can.t.be.null"));
|
||||
}
|
||||
this.type = type;
|
||||
this.name = name;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2010, 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
|
||||
@ -219,8 +219,7 @@ public class PolicyParser {
|
||||
|
||||
if (keyStoreUrlString == null && storePassURL != null) {
|
||||
throw new ParsingException(ResourcesMgr.getString
|
||||
("keystorePasswordURL can not be specified without also " +
|
||||
"specifying keystore"));
|
||||
("keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -357,7 +356,7 @@ public class PolicyParser {
|
||||
keyStoreType = match("quoted string");
|
||||
} else {
|
||||
throw new ParsingException(st.lineno(),
|
||||
ResourcesMgr.getString("expected keystore type"));
|
||||
ResourcesMgr.getString("expected.keystore.type"));
|
||||
}
|
||||
|
||||
// parse keystore provider
|
||||
@ -370,7 +369,7 @@ public class PolicyParser {
|
||||
keyStoreProvider = match("quoted string");
|
||||
} else {
|
||||
throw new ParsingException(st.lineno(),
|
||||
ResourcesMgr.getString("expected keystore provider"));
|
||||
ResourcesMgr.getString("expected.keystore.provider"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -421,7 +420,7 @@ public class PolicyParser {
|
||||
throw new ParsingException(
|
||||
st.lineno(),
|
||||
ResourcesMgr.getString
|
||||
("multiple Codebase expressions"));
|
||||
("multiple.Codebase.expressions"));
|
||||
e.codeBase = match("quoted string");
|
||||
peekAndMatch(",");
|
||||
} else if (peekAndMatch("SignedBy")) {
|
||||
@ -429,7 +428,7 @@ public class PolicyParser {
|
||||
throw new ParsingException(
|
||||
st.lineno(),
|
||||
ResourcesMgr.getString(
|
||||
"multiple SignedBy expressions"));
|
||||
"multiple.SignedBy.expressions"));
|
||||
e.signedBy = match("quoted string");
|
||||
|
||||
// verify syntax of the aliases
|
||||
@ -448,7 +447,7 @@ public class PolicyParser {
|
||||
throw new ParsingException(
|
||||
st.lineno(),
|
||||
ResourcesMgr.getString(
|
||||
"SignedBy has empty alias"));
|
||||
"SignedBy.has.empty.alias"));
|
||||
|
||||
peekAndMatch(",");
|
||||
} else if (peekAndMatch("Principal")) {
|
||||
@ -491,8 +490,7 @@ public class PolicyParser {
|
||||
throw new ParsingException
|
||||
(st.lineno(),
|
||||
ResourcesMgr.getString
|
||||
("can not specify Principal with a " +
|
||||
"wildcard class without a wildcard name"));
|
||||
("can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -529,8 +527,7 @@ public class PolicyParser {
|
||||
} else {
|
||||
throw new ParsingException(st.lineno(),
|
||||
ResourcesMgr.getString(
|
||||
"expected codeBase or SignedBy or " +
|
||||
"Principal"));
|
||||
"expected.codeBase.or.SignedBy.or.Principal"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -554,7 +551,7 @@ public class PolicyParser {
|
||||
throw new
|
||||
ParsingException(st.lineno(),
|
||||
ResourcesMgr.getString(
|
||||
"expected permission entry"));
|
||||
"expected.permission.entry"));
|
||||
}
|
||||
}
|
||||
match("}");
|
||||
@ -727,12 +724,12 @@ public class PolicyParser {
|
||||
switch (lookahead) {
|
||||
case StreamTokenizer.TT_NUMBER:
|
||||
throw new ParsingException(st.lineno(), expect,
|
||||
ResourcesMgr.getString("number ") +
|
||||
ResourcesMgr.getString("number.") +
|
||||
String.valueOf(st.nval));
|
||||
case StreamTokenizer.TT_EOF:
|
||||
MessageFormat form = new MessageFormat(
|
||||
ResourcesMgr.getString
|
||||
("expected [expect], read [end of file]"));
|
||||
("expected.expect.read.end.of.file."));
|
||||
Object[] source = {expect};
|
||||
throw new ParsingException(form.format(source));
|
||||
case StreamTokenizer.TT_WORD:
|
||||
@ -809,11 +806,11 @@ public class PolicyParser {
|
||||
switch (lookahead) {
|
||||
case StreamTokenizer.TT_NUMBER:
|
||||
throw new ParsingException(st.lineno(), ";",
|
||||
ResourcesMgr.getString("number ") +
|
||||
ResourcesMgr.getString("number.") +
|
||||
String.valueOf(st.nval));
|
||||
case StreamTokenizer.TT_EOF:
|
||||
throw new ParsingException(ResourcesMgr.getString
|
||||
("expected [;], read [end of file]"));
|
||||
("expected.read.end.of.file."));
|
||||
default:
|
||||
lookahead = st.nextToken();
|
||||
}
|
||||
@ -973,7 +970,7 @@ public class PolicyParser {
|
||||
public PrincipalEntry(String principalClass, String principalName) {
|
||||
if (principalClass == null || principalName == null)
|
||||
throw new NullPointerException(ResourcesMgr.getString(
|
||||
"null principalClass or principalName"));
|
||||
"null.principalClass.or.principalName"));
|
||||
this.principalClass = principalClass;
|
||||
this.principalName = principalName;
|
||||
}
|
||||
@ -1199,7 +1196,7 @@ public class PolicyParser {
|
||||
public ParsingException(int line, String msg) {
|
||||
super("line " + line + ": " + msg);
|
||||
MessageFormat form = new MessageFormat
|
||||
(ResourcesMgr.getString("line number: msg"));
|
||||
(ResourcesMgr.getString("line.number.msg"));
|
||||
Object[] source = {new Integer(line), msg};
|
||||
i18nMessage = form.format(source);
|
||||
}
|
||||
@ -1208,7 +1205,7 @@ public class PolicyParser {
|
||||
super("line " + line + ": expected [" + expect +
|
||||
"], found [" + actual + "]");
|
||||
MessageFormat form = new MessageFormat(ResourcesMgr.getString
|
||||
("line number: expected [expect], found [actual]"));
|
||||
("line.number.expected.expect.found.actual."));
|
||||
Object[] source = {new Integer(line), expect, actual};
|
||||
i18nMessage = form.format(source);
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ public class JarSigner {
|
||||
|
||||
if (!(obj instanceof Provider)) {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("provName not a provider"));
|
||||
("provName.not.a.provider"));
|
||||
Object[] source = {provName};
|
||||
throw new Exception(form.format(source));
|
||||
}
|
||||
@ -218,7 +218,7 @@ public class JarSigner {
|
||||
loadKeyStore(keystore, false);
|
||||
} catch (Exception e) {
|
||||
if ((keystore != null) || (storepass != null)) {
|
||||
System.out.println(rb.getString("jarsigner error: ") +
|
||||
System.out.println(rb.getString("jarsigner.error.") +
|
||||
e.getMessage());
|
||||
System.exit(1);
|
||||
}
|
||||
@ -264,7 +264,7 @@ public class JarSigner {
|
||||
signJar(jarfile, alias, args);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println(rb.getString("jarsigner error: ") + e);
|
||||
System.out.println(rb.getString("jarsigner.error.") + e);
|
||||
if (debug) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -420,7 +420,7 @@ public class JarSigner {
|
||||
}
|
||||
} else {
|
||||
System.err.println(
|
||||
rb.getString("Illegal option: ") + flags);
|
||||
rb.getString("Illegal.option.") + flags);
|
||||
usage();
|
||||
}
|
||||
}
|
||||
@ -430,15 +430,15 @@ public class JarSigner {
|
||||
if (verbose == null) showcerts = false;
|
||||
|
||||
if (jarfile == null) {
|
||||
System.err.println(rb.getString("Please specify jarfile name"));
|
||||
System.err.println(rb.getString("Please.specify.jarfile.name"));
|
||||
usage();
|
||||
}
|
||||
if (!verify && alias == null) {
|
||||
System.err.println(rb.getString("Please specify alias name"));
|
||||
System.err.println(rb.getString("Please.specify.alias.name"));
|
||||
usage();
|
||||
}
|
||||
if (!verify && ckaliases.size() > 1) {
|
||||
System.err.println(rb.getString("Only one alias can be specified"));
|
||||
System.err.println(rb.getString("Only.one.alias.can.be.specified"));
|
||||
usage();
|
||||
}
|
||||
|
||||
@ -471,30 +471,27 @@ public class JarSigner {
|
||||
|
||||
if (token && !nullStream) {
|
||||
System.err.println(MessageFormat.format(rb.getString
|
||||
("-keystore must be NONE if -storetype is {0}"), storetype));
|
||||
(".keystore.must.be.NONE.if.storetype.is.{0}"), storetype));
|
||||
usage();
|
||||
}
|
||||
|
||||
if (token && keypass != null) {
|
||||
System.err.println(MessageFormat.format(rb.getString
|
||||
("-keypass can not be specified " +
|
||||
"if -storetype is {0}"), storetype));
|
||||
(".keypass.can.not.be.specified.if.storetype.is.{0}"), storetype));
|
||||
usage();
|
||||
}
|
||||
|
||||
if (protectedPath) {
|
||||
if (storepass != null || keypass != null) {
|
||||
System.err.println(rb.getString
|
||||
("If -protected is specified, " +
|
||||
"then -storepass and -keypass must not be specified"));
|
||||
("If.protected.is.specified.then.storepass.and.keypass.must.not.be.specified"));
|
||||
usage();
|
||||
}
|
||||
}
|
||||
if (KeyStoreUtil.isWindowsKeyStore(storetype)) {
|
||||
if (storepass != null || keypass != null) {
|
||||
System.err.println(rb.getString
|
||||
("If keystore is not password protected, " +
|
||||
"then -storepass and -keypass must not be specified"));
|
||||
("If.keystore.is.not.password.protected.then.storepass.and.keypass.must.not.be.specified"));
|
||||
usage();
|
||||
}
|
||||
}
|
||||
@ -508,94 +505,94 @@ public class JarSigner {
|
||||
}
|
||||
|
||||
static void usageNoArg() {
|
||||
System.out.println(rb.getString("Option lacks argument"));
|
||||
System.out.println(rb.getString("Option.lacks.argument"));
|
||||
usage();
|
||||
}
|
||||
|
||||
static void usage() {
|
||||
System.out.println();
|
||||
System.out.println(rb.getString("Please type jarsigner -help for usage"));
|
||||
System.out.println(rb.getString("Please.type.jarsigner.help.for.usage"));
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
static void fullusage() {
|
||||
System.out.println(rb.getString
|
||||
("Usage: jarsigner [options] jar-file alias"));
|
||||
("Usage.jarsigner.options.jar.file.alias"));
|
||||
System.out.println(rb.getString
|
||||
(" jarsigner -verify [options] jar-file [alias...]"));
|
||||
(".jarsigner.verify.options.jar.file.alias."));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-keystore <url>] keystore location"));
|
||||
(".keystore.url.keystore.location"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-storepass <password>] password for keystore integrity"));
|
||||
(".storepass.password.password.for.keystore.integrity"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-storetype <type>] keystore type"));
|
||||
(".storetype.type.keystore.type"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-keypass <password>] password for private key (if different)"));
|
||||
(".keypass.password.password.for.private.key.if.different."));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-certchain <file>] name of alternative certchain file"));
|
||||
(".certchain.file.name.of.alternative.certchain.file"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-sigfile <file>] name of .SF/.DSA file"));
|
||||
(".sigfile.file.name.of.SF.DSA.file"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-signedjar <file>] name of signed JAR file"));
|
||||
(".signedjar.file.name.of.signed.JAR.file"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-digestalg <algorithm>] name of digest algorithm"));
|
||||
(".digestalg.algorithm.name.of.digest.algorithm"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-sigalg <algorithm>] name of signature algorithm"));
|
||||
(".sigalg.algorithm.name.of.signature.algorithm"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-crl[:auto| <file>] include CRL in signed jar"));
|
||||
(".crl.auto.file.include.CRL.in.signed.jar"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-verify] verify a signed JAR file"));
|
||||
(".verify.verify.a.signed.JAR.file"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-verbose[:suboptions]] verbose output when signing/verifying."));
|
||||
(".verbose.suboptions.verbose.output.when.signing.verifying."));
|
||||
System.out.println(rb.getString
|
||||
(" suboptions can be all, grouped or summary"));
|
||||
(".suboptions.can.be.all.grouped.or.summary"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-certs] display certificates when verbose and verifying"));
|
||||
(".certs.display.certificates.when.verbose.and.verifying"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-tsa <url>] location of the Timestamping Authority"));
|
||||
(".tsa.url.location.of.the.Timestamping.Authority"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-tsacert <alias>] public key certificate for Timestamping Authority"));
|
||||
(".tsacert.alias.public.key.certificate.for.Timestamping.Authority"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-altsigner <class>] class name of an alternative signing mechanism"));
|
||||
(".altsigner.class.class.name.of.an.alternative.signing.mechanism"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-altsignerpath <pathlist>] location of an alternative signing mechanism"));
|
||||
(".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-internalsf] include the .SF file inside the signature block"));
|
||||
(".internalsf.include.the.SF.file.inside.the.signature.block"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-sectionsonly] don't compute hash of entire manifest"));
|
||||
(".sectionsonly.don.t.compute.hash.of.entire.manifest"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-protected] keystore has protected authentication path"));
|
||||
(".protected.keystore.has.protected.authentication.path"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-providerName <name>] provider name"));
|
||||
(".providerName.name.provider.name"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-providerClass <class> name of cryptographic service provider's"));
|
||||
(".providerClass.class.name.of.cryptographic.service.provider.s"));
|
||||
System.out.println(rb.getString
|
||||
(" [-providerArg <arg>]] ... master class file and constructor argument"));
|
||||
(".providerArg.arg.master.class.file.and.constructor.argument"));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
("[-strict] treat warnings as errors"));
|
||||
(".strict.treat.warnings.as.errors"));
|
||||
System.out.println();
|
||||
|
||||
System.exit(0);
|
||||
@ -644,7 +641,7 @@ public class JarSigner {
|
||||
Enumeration<JarEntry> e = entriesVec.elements();
|
||||
|
||||
long now = System.currentTimeMillis();
|
||||
String tab = rb.getString(" ");
|
||||
String tab = rb.getString("6SPACE");
|
||||
|
||||
while (e.hasMoreElements()) {
|
||||
JarEntry je = e.nextElement();
|
||||
@ -672,12 +669,12 @@ public class JarSigner {
|
||||
(man.getAttributes("./"+name) != null) ||
|
||||
(man.getAttributes("/"+name) != null));
|
||||
sb.append(
|
||||
(isSigned ? rb.getString("s") : rb.getString(" ")) +
|
||||
(inManifest ? rb.getString("m") : rb.getString(" ")) +
|
||||
(inStore ? rb.getString("k") : rb.getString(" ")) +
|
||||
(inScope ? rb.getString("i") : rb.getString(" ")) +
|
||||
(isSigned ? rb.getString("s") : rb.getString("SPACE")) +
|
||||
(inManifest ? rb.getString("m") : rb.getString("SPACE")) +
|
||||
(inStore ? rb.getString("k") : rb.getString("SPACE")) +
|
||||
(inScope ? rb.getString("i") : rb.getString("SPACE")) +
|
||||
((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") +
|
||||
rb.getString(" "));
|
||||
rb.getString("SPACE"));
|
||||
sb.append("|");
|
||||
}
|
||||
|
||||
@ -701,7 +698,7 @@ public class JarSigner {
|
||||
if (crl instanceof X509CRLImpl) {
|
||||
sb.append(tab).append("[");
|
||||
sb.append(String.format(
|
||||
rb.getString("with a CRL including %d entries"),
|
||||
rb.getString("with.a.CRL.including.d.entries"),
|
||||
((X509CRLImpl)crl).getRevokedCertificates().size()))
|
||||
.append("]\n");
|
||||
}
|
||||
@ -714,10 +711,10 @@ public class JarSigner {
|
||||
// to be consistent with old behavior.
|
||||
if (signatureRelated(name)) {
|
||||
sb.append("\n" + tab + rb.getString(
|
||||
"(Signature related entries)") + "\n\n");
|
||||
".Signature.related.entries.") + "\n\n");
|
||||
} else {
|
||||
sb.append("\n" + tab + rb.getString(
|
||||
"(Unsigned entries)") + "\n\n");
|
||||
".Unsigned.entries.") + "\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -773,7 +770,7 @@ public class JarSigner {
|
||||
if (files.size() > 1) {
|
||||
System.out.println(files.get(0) + " " +
|
||||
String.format(rb.getString(
|
||||
"(and %d more)"), files.size()-1));
|
||||
".and.d.more."), files.size()-1));
|
||||
} else {
|
||||
System.out.println(files.get(0));
|
||||
}
|
||||
@ -783,89 +780,89 @@ public class JarSigner {
|
||||
}
|
||||
System.out.println();
|
||||
System.out.println(rb.getString(
|
||||
" s = signature was verified "));
|
||||
".s.signature.was.verified."));
|
||||
System.out.println(rb.getString(
|
||||
" m = entry is listed in manifest"));
|
||||
".m.entry.is.listed.in.manifest"));
|
||||
System.out.println(rb.getString(
|
||||
" k = at least one certificate was found in keystore"));
|
||||
".k.at.least.one.certificate.was.found.in.keystore"));
|
||||
System.out.println(rb.getString(
|
||||
" i = at least one certificate was found in identity scope"));
|
||||
".i.at.least.one.certificate.was.found.in.identity.scope"));
|
||||
if (ckaliases.size() > 0) {
|
||||
System.out.println((
|
||||
" X = not signed by specified alias(es)"));
|
||||
System.out.println(rb.getString(
|
||||
".X.not.signed.by.specified.alias.es."));
|
||||
}
|
||||
System.out.println();
|
||||
}
|
||||
if (man == null)
|
||||
System.out.println(rb.getString("no manifest."));
|
||||
System.out.println(rb.getString("no.manifest."));
|
||||
|
||||
if (!anySigned) {
|
||||
System.out.println(rb.getString(
|
||||
"jar is unsigned. (signatures missing or not parsable)"));
|
||||
"jar.is.unsigned.signatures.missing.or.not.parsable."));
|
||||
} else {
|
||||
System.out.println(rb.getString("jar verified."));
|
||||
System.out.println(rb.getString("jar.verified."));
|
||||
if (hasUnsignedEntry || hasExpiredCert || hasExpiringCert ||
|
||||
badKeyUsage || badExtendedKeyUsage || badNetscapeCertType ||
|
||||
notYetValidCert || chainNotValidated ||
|
||||
aliasNotInStore || notSignedByAlias) {
|
||||
|
||||
System.out.println();
|
||||
System.out.println(rb.getString("Warning: "));
|
||||
System.out.println(rb.getString("Warning."));
|
||||
if (badKeyUsage) {
|
||||
System.out.println(
|
||||
rb.getString("This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing."));
|
||||
rb.getString("This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing."));
|
||||
}
|
||||
|
||||
if (badExtendedKeyUsage) {
|
||||
System.out.println(
|
||||
rb.getString("This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing."));
|
||||
rb.getString("This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing."));
|
||||
}
|
||||
|
||||
if (badNetscapeCertType) {
|
||||
System.out.println(
|
||||
rb.getString("This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing."));
|
||||
rb.getString("This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing."));
|
||||
}
|
||||
|
||||
if (hasUnsignedEntry) {
|
||||
System.out.println(rb.getString(
|
||||
"This jar contains unsigned entries which have not been integrity-checked. "));
|
||||
"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked."));
|
||||
}
|
||||
if (hasExpiredCert) {
|
||||
System.out.println(rb.getString(
|
||||
"This jar contains entries whose signer certificate has expired. "));
|
||||
"This.jar.contains.entries.whose.signer.certificate.has.expired."));
|
||||
}
|
||||
if (hasExpiringCert) {
|
||||
System.out.println(rb.getString(
|
||||
"This jar contains entries whose signer certificate will expire within six months. "));
|
||||
"This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months."));
|
||||
}
|
||||
if (notYetValidCert) {
|
||||
System.out.println(rb.getString(
|
||||
"This jar contains entries whose signer certificate is not yet valid. "));
|
||||
"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid."));
|
||||
}
|
||||
|
||||
if (chainNotValidated) {
|
||||
System.out.println(
|
||||
rb.getString("This jar contains entries whose certificate chain is not validated."));
|
||||
rb.getString("This.jar.contains.entries.whose.certificate.chain.is.not.validated."));
|
||||
}
|
||||
|
||||
if (notSignedByAlias) {
|
||||
System.out.println(
|
||||
rb.getString("This jar contains signed entries which is not signed by the specified alias(es)."));
|
||||
rb.getString("This.jar.contains.signed.entries.which.is.not.signed.by.the.specified.alias.es."));
|
||||
}
|
||||
|
||||
if (aliasNotInStore) {
|
||||
System.out.println(rb.getString("This jar contains signed entries that's not signed by alias in this keystore."));
|
||||
System.out.println(rb.getString("This.jar.contains.signed.entries.that.s.not.signed.by.alias.in.this.keystore."));
|
||||
}
|
||||
if (! (verbose != null && showcerts)) {
|
||||
System.out.println();
|
||||
System.out.println(rb.getString(
|
||||
"Re-run with the -verbose and -certs options for more details."));
|
||||
"Re.run.with.the.verbose.and.certs.options.for.more.details."));
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
} catch (Exception e) {
|
||||
System.out.println(rb.getString("jarsigner: ") + e);
|
||||
System.out.println(rb.getString("jarsigner.") + e);
|
||||
if (debug) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -895,13 +892,13 @@ public class JarSigner {
|
||||
long now) {
|
||||
|
||||
StringBuilder certStr = new StringBuilder();
|
||||
String space = rb.getString(" ");
|
||||
String space = rb.getString("SPACE");
|
||||
X509Certificate x509Cert = null;
|
||||
|
||||
if (c instanceof X509Certificate) {
|
||||
x509Cert = (X509Certificate) c;
|
||||
certStr.append(tab).append(x509Cert.getType())
|
||||
.append(rb.getString(", "))
|
||||
.append(rb.getString("COMMA"))
|
||||
.append(x509Cert.getSubjectDN().getName());
|
||||
} else {
|
||||
certStr.append(tab).append(c.getType());
|
||||
@ -927,7 +924,7 @@ public class JarSigner {
|
||||
|
||||
if (expiringTimeForm == null) {
|
||||
expiringTimeForm = new MessageFormat(
|
||||
rb.getString("certificate will expire on"));
|
||||
rb.getString("certificate.will.expire.on"));
|
||||
}
|
||||
Object[] source = { notAfter };
|
||||
certStr.append(expiringTimeForm.format(source));
|
||||
@ -935,7 +932,7 @@ public class JarSigner {
|
||||
} else {
|
||||
if (validityTimeForm == null) {
|
||||
validityTimeForm = new MessageFormat(
|
||||
rb.getString("certificate is valid from"));
|
||||
rb.getString("certificate.is.valid.from"));
|
||||
}
|
||||
Object[] source = { x509Cert.getNotBefore(), notAfter };
|
||||
certStr.append(validityTimeForm.format(source));
|
||||
@ -945,7 +942,7 @@ public class JarSigner {
|
||||
|
||||
if (expiredTimeForm == null) {
|
||||
expiredTimeForm = new MessageFormat(
|
||||
rb.getString("certificate expired on"));
|
||||
rb.getString("certificate.expired.on"));
|
||||
}
|
||||
Object[] source = { notAfter };
|
||||
certStr.append(expiredTimeForm.format(source));
|
||||
@ -955,7 +952,7 @@ public class JarSigner {
|
||||
|
||||
if (notYetTimeForm == null) {
|
||||
notYetTimeForm = new MessageFormat(
|
||||
rb.getString("certificate is not valid until"));
|
||||
rb.getString("certificate.is.not.valid.until"));
|
||||
}
|
||||
Object[] source = { x509Cert.getNotBefore() };
|
||||
certStr.append(notYetTimeForm.format(source));
|
||||
@ -979,7 +976,7 @@ public class JarSigner {
|
||||
}
|
||||
certStr.append("\n").append(tab)
|
||||
.append(MessageFormat.format(rb.getString(
|
||||
"[{0} extension does not support code signing]"), x));
|
||||
".{0}.extension.does.not.support.code.signing."), x));
|
||||
}
|
||||
}
|
||||
return certStr.toString();
|
||||
@ -991,7 +988,7 @@ public class JarSigner {
|
||||
|
||||
if (signTimeForm == null) {
|
||||
signTimeForm =
|
||||
new MessageFormat(rb.getString("entry was signed on"));
|
||||
new MessageFormat(rb.getString("entry.was.signed.on"));
|
||||
}
|
||||
Object[] source = { timestamp.getTimestamp() };
|
||||
|
||||
@ -1093,7 +1090,7 @@ public class JarSigner {
|
||||
} else {
|
||||
throw new
|
||||
RuntimeException(rb.getString
|
||||
("signature filename must consist of the following characters: A-Z, 0-9, _ or -"));
|
||||
("signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or."));
|
||||
}
|
||||
}
|
||||
tmpSigFile.append(c);
|
||||
@ -1112,14 +1109,14 @@ public class JarSigner {
|
||||
try {
|
||||
zipFile = new ZipFile(jarName);
|
||||
} catch (IOException ioe) {
|
||||
error(rb.getString("unable to open jar file: ")+jarName, ioe);
|
||||
error(rb.getString("unable.to.open.jar.file.")+jarName, ioe);
|
||||
}
|
||||
|
||||
FileOutputStream fos = null;
|
||||
try {
|
||||
fos = new FileOutputStream(signedJarFile);
|
||||
} catch (IOException ioe) {
|
||||
error(rb.getString("unable to create: ")+tmpJarName, ioe);
|
||||
error(rb.getString("unable.to.create.")+tmpJarName, ioe);
|
||||
}
|
||||
|
||||
PrintStream ps = new PrintStream(fos);
|
||||
@ -1263,10 +1260,10 @@ public class JarSigner {
|
||||
}
|
||||
if (verbose != null) {
|
||||
if (mfCreated) {
|
||||
System.out.println(rb.getString(" adding: ") +
|
||||
System.out.println(rb.getString(".adding.") +
|
||||
mfFile.getName());
|
||||
} else if (mfModified) {
|
||||
System.out.println(rb.getString(" updating: ") +
|
||||
System.out.println(rb.getString(".updating.") +
|
||||
mfFile.getName());
|
||||
}
|
||||
}
|
||||
@ -1291,10 +1288,10 @@ public class JarSigner {
|
||||
zipFile);
|
||||
} catch (SocketTimeoutException e) {
|
||||
// Provide a helpful message when TSA is beyond a firewall
|
||||
error(rb.getString("unable to sign jar: ") +
|
||||
rb.getString("no response from the Timestamping Authority. ") +
|
||||
rb.getString("When connecting from behind a firewall then an HTTP proxy may need to be specified. ") +
|
||||
rb.getString("Supply the following options to jarsigner: ") +
|
||||
error(rb.getString("unable.to.sign.jar.") +
|
||||
rb.getString("no.response.from.the.Timestamping.Authority.") +
|
||||
rb.getString("When.connecting.from.behind.a.firewall.then.an.HTTP.proxy.may.need.to.be.specified.") +
|
||||
rb.getString("Supply.the.following.options.to.jarsigner.") +
|
||||
"\n -J-Dhttp.proxyHost=<hostname> " +
|
||||
"\n -J-Dhttp.proxyPort=<portnumber> ", e);
|
||||
}
|
||||
@ -1314,10 +1311,10 @@ public class JarSigner {
|
||||
sf.write(zos);
|
||||
if (verbose != null) {
|
||||
if (zipFile.getEntry(sfFilename) != null) {
|
||||
System.out.println(rb.getString(" updating: ") +
|
||||
System.out.println(rb.getString(".updating.") +
|
||||
sfFilename);
|
||||
} else {
|
||||
System.out.println(rb.getString(" adding: ") +
|
||||
System.out.println(rb.getString(".adding.") +
|
||||
sfFilename);
|
||||
}
|
||||
}
|
||||
@ -1325,24 +1322,24 @@ public class JarSigner {
|
||||
if (verbose != null) {
|
||||
if (tsaUrl != null || tsaCert != null) {
|
||||
System.out.println(
|
||||
rb.getString("requesting a signature timestamp"));
|
||||
rb.getString("requesting.a.signature.timestamp"));
|
||||
}
|
||||
if (tsaUrl != null) {
|
||||
System.out.println(rb.getString("TSA location: ") + tsaUrl);
|
||||
System.out.println(rb.getString("TSA.location.") + tsaUrl);
|
||||
}
|
||||
if (tsaCert != null) {
|
||||
String certUrl =
|
||||
TimestampedSigner.getTimestampingUrl(tsaCert);
|
||||
if (certUrl != null) {
|
||||
System.out.println(rb.getString("TSA location: ") +
|
||||
System.out.println(rb.getString("TSA.location.") +
|
||||
certUrl);
|
||||
}
|
||||
System.out.println(rb.getString("TSA certificate: ") +
|
||||
System.out.println(rb.getString("TSA.certificate.") +
|
||||
printCert("", tsaCert, false, 0));
|
||||
}
|
||||
if (signingMechanism != null) {
|
||||
System.out.println(
|
||||
rb.getString("using an alternative signing mechanism"));
|
||||
rb.getString("using.an.alternative.signing.mechanism"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1351,10 +1348,10 @@ public class JarSigner {
|
||||
block.write(zos);
|
||||
if (verbose != null) {
|
||||
if (zipFile.getEntry(bkFilename) != null) {
|
||||
System.out.println(rb.getString(" updating: ") +
|
||||
System.out.println(rb.getString(".updating.") +
|
||||
bkFilename);
|
||||
} else {
|
||||
System.out.println(rb.getString(" adding: ") +
|
||||
System.out.println(rb.getString(".adding.") +
|
||||
bkFilename);
|
||||
}
|
||||
}
|
||||
@ -1378,17 +1375,17 @@ public class JarSigner {
|
||||
if (!ze.getName().startsWith(META_INF)) {
|
||||
if (verbose != null) {
|
||||
if (manifest.getAttributes(ze.getName()) != null)
|
||||
System.out.println(rb.getString(" signing: ") +
|
||||
System.out.println(rb.getString(".signing.") +
|
||||
ze.getName());
|
||||
else
|
||||
System.out.println(rb.getString(" adding: ") +
|
||||
System.out.println(rb.getString(".adding.") +
|
||||
ze.getName());
|
||||
}
|
||||
writeEntry(zipFile, zos, ze);
|
||||
}
|
||||
}
|
||||
} catch(IOException ioe) {
|
||||
error(rb.getString("unable to sign jar: ")+ioe, ioe);
|
||||
error(rb.getString("unable.to.sign.jar.")+ioe, ioe);
|
||||
} finally {
|
||||
// close the resouces
|
||||
if (zipFile != null) {
|
||||
@ -1416,13 +1413,13 @@ public class JarSigner {
|
||||
origJar.delete();
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("attempt to rename signedJarFile to jarFile failed"));
|
||||
("attempt.to.rename.signedJarFile.to.jarFile.failed"));
|
||||
Object[] source = {signedJarFile, jarFile};
|
||||
error(form.format(source));
|
||||
}
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("attempt to rename jarFile to origJar failed"));
|
||||
("attempt.to.rename.jarFile.to.origJar.failed"));
|
||||
Object[] source = {jarFile, origJar};
|
||||
error(form.format(source));
|
||||
}
|
||||
@ -1434,43 +1431,43 @@ public class JarSigner {
|
||||
|| badNetscapeCertType || chainNotValidated) {
|
||||
System.out.println();
|
||||
|
||||
System.out.println(rb.getString("Warning: "));
|
||||
System.out.println(rb.getString("Warning."));
|
||||
if (badKeyUsage) {
|
||||
System.out.println(
|
||||
rb.getString("The signer certificate's KeyUsage extension doesn't allow code signing."));
|
||||
rb.getString("The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing."));
|
||||
}
|
||||
|
||||
if (badExtendedKeyUsage) {
|
||||
System.out.println(
|
||||
rb.getString("The signer certificate's ExtendedKeyUsage extension doesn't allow code signing."));
|
||||
rb.getString("The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing."));
|
||||
}
|
||||
|
||||
if (badNetscapeCertType) {
|
||||
System.out.println(
|
||||
rb.getString("The signer certificate's NetscapeCertType extension doesn't allow code signing."));
|
||||
rb.getString("The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing."));
|
||||
}
|
||||
|
||||
if (hasExpiredCert) {
|
||||
System.out.println(
|
||||
rb.getString("The signer certificate has expired."));
|
||||
rb.getString("The.signer.certificate.has.expired."));
|
||||
} else if (hasExpiringCert) {
|
||||
System.out.println(
|
||||
rb.getString("The signer certificate will expire within six months."));
|
||||
rb.getString("The.signer.certificate.will.expire.within.six.months."));
|
||||
} else if (notYetValidCert) {
|
||||
System.out.println(
|
||||
rb.getString("The signer certificate is not yet valid."));
|
||||
rb.getString("The.signer.certificate.is.not.yet.valid."));
|
||||
}
|
||||
|
||||
if (chainNotValidated) {
|
||||
System.out.println(
|
||||
rb.getString("The signer's certificate chain is not validated."));
|
||||
rb.getString("The.signer.s.certificate.chain.is.not.validated."));
|
||||
}
|
||||
}
|
||||
|
||||
// no IOException thrown in the above try clause, so disable
|
||||
// the catch clause.
|
||||
// } catch(IOException ioe) {
|
||||
// error(rb.getString("unable to sign jar: ")+ioe, ioe);
|
||||
// error(rb.getString("unable.to.sign.jar.")+ioe, ioe);
|
||||
// }
|
||||
}
|
||||
|
||||
@ -1557,7 +1554,7 @@ public class JarSigner {
|
||||
validator.validate(cp, pkixParameters);
|
||||
} catch (Exception e) {
|
||||
chainNotValidated = true;
|
||||
s.append(tab + rb.getString("[CertPath not validated: ") +
|
||||
s.append(tab + rb.getString(".CertPath.not.validated.") +
|
||||
e.getLocalizedMessage() + "]\n"); // TODO
|
||||
}
|
||||
String result = s.toString();
|
||||
@ -1624,10 +1621,10 @@ public class JarSigner {
|
||||
if (token && storepass == null && !protectedPath
|
||||
&& !KeyStoreUtil.isWindowsKeyStore(storetype)) {
|
||||
storepass = getPass
|
||||
(rb.getString("Enter Passphrase for keystore: "));
|
||||
(rb.getString("Enter.Passphrase.for.keystore."));
|
||||
} else if (!token && storepass == null && prompt) {
|
||||
storepass = getPass
|
||||
(rb.getString("Enter Passphrase for keystore: "));
|
||||
(rb.getString("Enter.Passphrase.for.keystore."));
|
||||
}
|
||||
|
||||
if (nullStream) {
|
||||
@ -1694,20 +1691,20 @@ public class JarSigner {
|
||||
// Only if tas is empty
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
throw new RuntimeException(rb.getString("keystore load: ") +
|
||||
throw new RuntimeException(rb.getString("keystore.load.") +
|
||||
ioe.getMessage());
|
||||
} catch (java.security.cert.CertificateException ce) {
|
||||
throw new RuntimeException(rb.getString("certificate exception: ") +
|
||||
throw new RuntimeException(rb.getString("certificate.exception.") +
|
||||
ce.getMessage());
|
||||
} catch (NoSuchProviderException pe) {
|
||||
throw new RuntimeException(rb.getString("keystore load: ") +
|
||||
throw new RuntimeException(rb.getString("keystore.load.") +
|
||||
pe.getMessage());
|
||||
} catch (NoSuchAlgorithmException nsae) {
|
||||
throw new RuntimeException(rb.getString("keystore load: ") +
|
||||
throw new RuntimeException(rb.getString("keystore.load.") +
|
||||
nsae.getMessage());
|
||||
} catch (KeyStoreException kse) {
|
||||
throw new RuntimeException
|
||||
(rb.getString("unable to instantiate keystore class: ") +
|
||||
(rb.getString("unable.to.instantiate.keystore.class.") +
|
||||
kse.getMessage());
|
||||
}
|
||||
}
|
||||
@ -1723,7 +1720,7 @@ public class JarSigner {
|
||||
}
|
||||
if (cs == null || (!(cs instanceof X509Certificate))) {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Certificate not found for: alias. alias must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority."));
|
||||
("Certificate.not.found.for.alias.alias.must.reference.a.valid.KeyStore.entry.containing.an.X.509.public.key.certificate.for.the"));
|
||||
Object[] source = {alias, alias};
|
||||
error(form.format(source));
|
||||
}
|
||||
@ -1816,9 +1813,9 @@ public class JarSigner {
|
||||
generateCertificates(new FileInputStream(altCertChain)).
|
||||
toArray(new Certificate[0]);
|
||||
} catch (CertificateException ex) {
|
||||
error(rb.getString("Cannot restore certchain from file specified"));
|
||||
error(rb.getString("Cannot.restore.certchain.from.file.specified"));
|
||||
} catch (FileNotFoundException ex) {
|
||||
error(rb.getString("File specified by -certchain does not exist"));
|
||||
error(rb.getString("File.specified.by.certchain.does.not.exist"));
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
@ -1830,12 +1827,10 @@ public class JarSigner {
|
||||
if (cs == null || cs.length == 0) {
|
||||
if (altCertChain != null) {
|
||||
error(rb.getString
|
||||
("Certificate chain not found in the file specified."));
|
||||
("Certificate.chain.not.found.in.the.file.specified."));
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Certificate chain not found for: alias. alias must" +
|
||||
" reference a valid KeyStore key entry containing a" +
|
||||
" private key and corresponding public key certificate chain."));
|
||||
("Certificate.chain.not.found.for.alias.alias.must.reference.a.valid.KeyStore.key.entry.containing.a.private.key.and"));
|
||||
Object[] source = {alias, alias};
|
||||
error(form.format(source));
|
||||
}
|
||||
@ -1845,7 +1840,7 @@ public class JarSigner {
|
||||
for (int i=0; i<cs.length; i++) {
|
||||
if (!(cs[i] instanceof X509Certificate)) {
|
||||
error(rb.getString
|
||||
("found non-X.509 certificate in signer's chain"));
|
||||
("found.non.X.509.certificate.in.signer.s.chain"));
|
||||
}
|
||||
certChain[i] = (X509Certificate)cs[i];
|
||||
}
|
||||
@ -1872,7 +1867,7 @@ public class JarSigner {
|
||||
} else if (keypass == null) {
|
||||
// Did not work out, so prompt user for key password
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Enter key password for alias: "));
|
||||
("Enter.key.password.for.alias."));
|
||||
Object[] source = {alias};
|
||||
keypass = getPass(form.format(source));
|
||||
key = store.getKey(alias, keypass);
|
||||
@ -1881,14 +1876,14 @@ public class JarSigner {
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
error(e.getMessage());
|
||||
} catch (UnrecoverableKeyException e) {
|
||||
error(rb.getString("unable to recover key from keystore"));
|
||||
error(rb.getString("unable.to.recover.key.from.keystore"));
|
||||
} catch (KeyStoreException kse) {
|
||||
// this never happens, because keystore has been loaded
|
||||
}
|
||||
|
||||
if (!(key instanceof PrivateKey)) {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("key associated with alias not a private key"));
|
||||
("key.associated.with.alias.not.a.private.key"));
|
||||
Object[] source = {alias};
|
||||
error(form.format(source));
|
||||
} else {
|
||||
@ -1898,14 +1893,14 @@ public class JarSigner {
|
||||
|
||||
void error(String message)
|
||||
{
|
||||
System.out.println(rb.getString("jarsigner: ")+message);
|
||||
System.out.println(rb.getString("jarsigner.")+message);
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
|
||||
void error(String message, Exception e)
|
||||
{
|
||||
System.out.println(rb.getString("jarsigner: ")+message);
|
||||
System.out.println(rb.getString("jarsigner.")+message);
|
||||
if (debug) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@ -1920,12 +1915,12 @@ public class JarSigner {
|
||||
char[] pass = Password.readPassword(System.in);
|
||||
|
||||
if (pass == null) {
|
||||
error(rb.getString("you must enter key password"));
|
||||
error(rb.getString("you.must.enter.key.password"));
|
||||
} else {
|
||||
return pass;
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
error(rb.getString("unable to read password: ")+ioe.getMessage());
|
||||
error(rb.getString("unable.to.read.password.")+ioe.getMessage());
|
||||
}
|
||||
// this shouldn't happen
|
||||
return null;
|
||||
@ -2113,7 +2108,7 @@ public class JarSigner {
|
||||
Object signer = signerClass.newInstance();
|
||||
if (!(signer instanceof ContentSigner)) {
|
||||
MessageFormat form = new MessageFormat(
|
||||
rb.getString("signerClass is not a signing mechanism"));
|
||||
rb.getString("signerClass.is.not.a.signing.mechanism"));
|
||||
Object[] source = {signerClass.getName()};
|
||||
throw new IllegalArgumentException(form.format(source));
|
||||
}
|
||||
|
@ -35,201 +35,201 @@ public class JarSignerResources extends java.util.ListResourceBundle {
|
||||
private static final Object[][] contents = {
|
||||
|
||||
// shared (from jarsigner)
|
||||
{" ", " "},
|
||||
{" ", " "},
|
||||
{" ", " "},
|
||||
{", ", ", "},
|
||||
{"SPACE", " "},
|
||||
{"2SPACE", " "},
|
||||
{"6SPACE", " "},
|
||||
{"COMMA", ", "},
|
||||
|
||||
{"provName not a provider", "{0} not a provider"},
|
||||
{"signerClass is not a signing mechanism", "{0} is not a signing mechanism"},
|
||||
{"jarsigner error: ", "jarsigner error: "},
|
||||
{"Illegal option: ", "Illegal option: "},
|
||||
{"-keystore must be NONE if -storetype is {0}",
|
||||
{"provName.not.a.provider", "{0} not a provider"},
|
||||
{"signerClass.is.not.a.signing.mechanism", "{0} is not a signing mechanism"},
|
||||
{"jarsigner.error.", "jarsigner error: "},
|
||||
{"Illegal.option.", "Illegal option: "},
|
||||
{".keystore.must.be.NONE.if.storetype.is.{0}",
|
||||
"-keystore must be NONE if -storetype is {0}"},
|
||||
{"-keypass can not be specified if -storetype is {0}",
|
||||
{".keypass.can.not.be.specified.if.storetype.is.{0}",
|
||||
"-keypass can not be specified if -storetype is {0}"},
|
||||
{"If -protected is specified, then -storepass and -keypass must not be specified",
|
||||
{"If.protected.is.specified.then.storepass.and.keypass.must.not.be.specified",
|
||||
"If -protected is specified, then -storepass and -keypass must not be specified"},
|
||||
{"If keystore is not password protected, then -storepass and -keypass must not be specified",
|
||||
{"If.keystore.is.not.password.protected.then.storepass.and.keypass.must.not.be.specified",
|
||||
"If keystore is not password protected, then -storepass and -keypass must not be specified"},
|
||||
{"Usage: jarsigner [options] jar-file alias",
|
||||
{"Usage.jarsigner.options.jar.file.alias",
|
||||
"Usage: jarsigner [options] jar-file alias"},
|
||||
{" jarsigner -verify [options] jar-file [alias...]",
|
||||
{".jarsigner.verify.options.jar.file.alias.",
|
||||
" jarsigner -verify [options] jar-file [alias...]"},
|
||||
{"[-keystore <url>] keystore location",
|
||||
{".keystore.url.keystore.location",
|
||||
"[-keystore <url>] keystore location"},
|
||||
{"[-storepass <password>] password for keystore integrity",
|
||||
{".storepass.password.password.for.keystore.integrity",
|
||||
"[-storepass <password>] password for keystore integrity"},
|
||||
{"[-storetype <type>] keystore type",
|
||||
{".storetype.type.keystore.type",
|
||||
"[-storetype <type>] keystore type"},
|
||||
{"[-keypass <password>] password for private key (if different)",
|
||||
{".keypass.password.password.for.private.key.if.different.",
|
||||
"[-keypass <password>] password for private key (if different)"},
|
||||
{"[-certchain <file>] name of alternative certchain file",
|
||||
{".certchain.file.name.of.alternative.certchain.file",
|
||||
"[-certchain <file>] name of alternative certchain file"},
|
||||
{"[-sigfile <file>] name of .SF/.DSA file",
|
||||
{".sigfile.file.name.of.SF.DSA.file",
|
||||
"[-sigfile <file>] name of .SF/.DSA file"},
|
||||
{"[-signedjar <file>] name of signed JAR file",
|
||||
{".signedjar.file.name.of.signed.JAR.file",
|
||||
"[-signedjar <file>] name of signed JAR file"},
|
||||
{"[-digestalg <algorithm>] name of digest algorithm",
|
||||
{".digestalg.algorithm.name.of.digest.algorithm",
|
||||
"[-digestalg <algorithm>] name of digest algorithm"},
|
||||
{"[-sigalg <algorithm>] name of signature algorithm",
|
||||
{".sigalg.algorithm.name.of.signature.algorithm",
|
||||
"[-sigalg <algorithm>] name of signature algorithm"},
|
||||
{"[-crl[:auto| <file>] include CRL in signed jar",
|
||||
{".crl.auto.file.include.CRL.in.signed.jar",
|
||||
"[-crl[:auto| <file>] include CRL in signed jar"},
|
||||
{"[-verify] verify a signed JAR file",
|
||||
{".verify.verify.a.signed.JAR.file",
|
||||
"[-verify] verify a signed JAR file"},
|
||||
{"[-verbose[:suboptions]] verbose output when signing/verifying.",
|
||||
{".verbose.suboptions.verbose.output.when.signing.verifying.",
|
||||
"[-verbose[:suboptions]] verbose output when signing/verifying."},
|
||||
{" suboptions can be all, grouped or summary",
|
||||
{".suboptions.can.be.all.grouped.or.summary",
|
||||
" suboptions can be all, grouped or summary"},
|
||||
{"[-certs] display certificates when verbose and verifying",
|
||||
{".certs.display.certificates.when.verbose.and.verifying",
|
||||
"[-certs] display certificates when verbose and verifying"},
|
||||
{"[-tsa <url>] location of the Timestamping Authority",
|
||||
{".tsa.url.location.of.the.Timestamping.Authority",
|
||||
"[-tsa <url>] location of the Timestamping Authority"},
|
||||
{"[-tsacert <alias>] public key certificate for Timestamping Authority",
|
||||
{".tsacert.alias.public.key.certificate.for.Timestamping.Authority",
|
||||
"[-tsacert <alias>] public key certificate for Timestamping Authority"},
|
||||
{"[-altsigner <class>] class name of an alternative signing mechanism",
|
||||
{".altsigner.class.class.name.of.an.alternative.signing.mechanism",
|
||||
"[-altsigner <class>] class name of an alternative signing mechanism"},
|
||||
{"[-altsignerpath <pathlist>] location of an alternative signing mechanism",
|
||||
{".altsignerpath.pathlist.location.of.an.alternative.signing.mechanism",
|
||||
"[-altsignerpath <pathlist>] location of an alternative signing mechanism"},
|
||||
{"[-internalsf] include the .SF file inside the signature block",
|
||||
{".internalsf.include.the.SF.file.inside.the.signature.block",
|
||||
"[-internalsf] include the .SF file inside the signature block"},
|
||||
{"[-sectionsonly] don't compute hash of entire manifest",
|
||||
{".sectionsonly.don.t.compute.hash.of.entire.manifest",
|
||||
"[-sectionsonly] don't compute hash of entire manifest"},
|
||||
{"[-protected] keystore has protected authentication path",
|
||||
{".protected.keystore.has.protected.authentication.path",
|
||||
"[-protected] keystore has protected authentication path"},
|
||||
{"[-providerName <name>] provider name",
|
||||
{".providerName.name.provider.name",
|
||||
"[-providerName <name>] provider name"},
|
||||
{"[-providerClass <class> name of cryptographic service provider's",
|
||||
{".providerClass.class.name.of.cryptographic.service.provider.s",
|
||||
"[-providerClass <class> name of cryptographic service provider's"},
|
||||
{" [-providerArg <arg>]] ... master class file and constructor argument",
|
||||
{".providerArg.arg.master.class.file.and.constructor.argument",
|
||||
" [-providerArg <arg>]] ... master class file and constructor argument"},
|
||||
{"[-strict] treat warnings as errors",
|
||||
{".strict.treat.warnings.as.errors",
|
||||
"[-strict] treat warnings as errors"},
|
||||
{"Option lacks argument", "Option lacks argument"},
|
||||
{"Please type jarsigner -help for usage", "Please type jarsigner -help for usage"},
|
||||
{"Please specify jarfile name", "Please specify jarfile name"},
|
||||
{"Please specify alias name", "Please specify alias name"},
|
||||
{"Only one alias can be specified", "Only one alias can be specified"},
|
||||
{"This jar contains signed entries which is not signed by the specified alias(es).",
|
||||
{"Option.lacks.argument", "Option lacks argument"},
|
||||
{"Please.type.jarsigner.help.for.usage", "Please type jarsigner -help for usage"},
|
||||
{"Please.specify.jarfile.name", "Please specify jarfile name"},
|
||||
{"Please.specify.alias.name", "Please specify alias name"},
|
||||
{"Only.one.alias.can.be.specified", "Only one alias can be specified"},
|
||||
{"This.jar.contains.signed.entries.which.is.not.signed.by.the.specified.alias.es.",
|
||||
"This jar contains signed entries which is not signed by the specified alias(es)."},
|
||||
{"This jar contains signed entries that's not signed by alias in this keystore.",
|
||||
{"This.jar.contains.signed.entries.that.s.not.signed.by.alias.in.this.keystore.",
|
||||
"This jar contains signed entries that's not signed by alias in this keystore."},
|
||||
{"s", "s"},
|
||||
{"m", "m"},
|
||||
{"k", "k"},
|
||||
{"i", "i"},
|
||||
{"(and %d more)", "(and %d more)"},
|
||||
{" s = signature was verified ",
|
||||
{".and.d.more.", "(and %d more)"},
|
||||
{".s.signature.was.verified.",
|
||||
" s = signature was verified "},
|
||||
{" m = entry is listed in manifest",
|
||||
{".m.entry.is.listed.in.manifest",
|
||||
" m = entry is listed in manifest"},
|
||||
{" k = at least one certificate was found in keystore",
|
||||
{".k.at.least.one.certificate.was.found.in.keystore",
|
||||
" k = at least one certificate was found in keystore"},
|
||||
{" i = at least one certificate was found in identity scope",
|
||||
{".i.at.least.one.certificate.was.found.in.identity.scope",
|
||||
" i = at least one certificate was found in identity scope"},
|
||||
{" X = not signed by specified alias(es)",
|
||||
{".X.not.signed.by.specified.alias.es.",
|
||||
" X = not signed by specified alias(es)"},
|
||||
{"no manifest.", "no manifest."},
|
||||
{"(Signature related entries)","(Signature related entries)"},
|
||||
{"(Unsigned entries)", "(Unsigned entries)"},
|
||||
{"jar is unsigned. (signatures missing or not parsable)",
|
||||
{"no.manifest.", "no manifest."},
|
||||
{".Signature.related.entries.","(Signature related entries)"},
|
||||
{".Unsigned.entries.", "(Unsigned entries)"},
|
||||
{"jar.is.unsigned.signatures.missing.or.not.parsable.",
|
||||
"jar is unsigned. (signatures missing or not parsable)"},
|
||||
{"jar verified.", "jar verified."},
|
||||
{"jarsigner: ", "jarsigner: "},
|
||||
{"signature filename must consist of the following characters: A-Z, 0-9, _ or -",
|
||||
{"jar.verified.", "jar verified."},
|
||||
{"jarsigner.", "jarsigner: "},
|
||||
{"signature.filename.must.consist.of.the.following.characters.A.Z.0.9.or.",
|
||||
"signature filename must consist of the following characters: A-Z, 0-9, _ or -"},
|
||||
{"unable to open jar file: ", "unable to open jar file: "},
|
||||
{"unable to create: ", "unable to create: "},
|
||||
{" adding: ", " adding: "},
|
||||
{" updating: ", " updating: "},
|
||||
{" signing: ", " signing: "},
|
||||
{"attempt to rename signedJarFile to jarFile failed",
|
||||
{"unable.to.open.jar.file.", "unable to open jar file: "},
|
||||
{"unable.to.create.", "unable to create: "},
|
||||
{".adding.", " adding: "},
|
||||
{".updating.", " updating: "},
|
||||
{".signing.", " signing: "},
|
||||
{"attempt.to.rename.signedJarFile.to.jarFile.failed",
|
||||
"attempt to rename {0} to {1} failed"},
|
||||
{"attempt to rename jarFile to origJar failed",
|
||||
{"attempt.to.rename.jarFile.to.origJar.failed",
|
||||
"attempt to rename {0} to {1} failed"},
|
||||
{"unable to sign jar: ", "unable to sign jar: "},
|
||||
{"Enter Passphrase for keystore: ", "Enter Passphrase for keystore: "},
|
||||
{"keystore load: ", "keystore load: "},
|
||||
{"certificate exception: ", "certificate exception: "},
|
||||
{"unable to instantiate keystore class: ",
|
||||
{"unable.to.sign.jar.", "unable to sign jar: "},
|
||||
{"Enter.Passphrase.for.keystore.", "Enter Passphrase for keystore: "},
|
||||
{"keystore.load.", "keystore load: "},
|
||||
{"certificate.exception.", "certificate exception: "},
|
||||
{"unable.to.instantiate.keystore.class.",
|
||||
"unable to instantiate keystore class: "},
|
||||
{"Certificate chain not found for: alias. alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.",
|
||||
{"Certificate.chain.not.found.for.alias.alias.must.reference.a.valid.KeyStore.key.entry.containing.a.private.key.and",
|
||||
"Certificate chain not found for: {0}. {1} must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain."},
|
||||
{"File specified by -certchain does not exist",
|
||||
{"File.specified.by.certchain.does.not.exist",
|
||||
"File specified by -certchain does not exist"},
|
||||
{"Cannot restore certchain from file specified",
|
||||
{"Cannot.restore.certchain.from.file.specified",
|
||||
"Cannot restore certchain from file specified"},
|
||||
{"Certificate chain not found in the file specified.",
|
||||
{"Certificate.chain.not.found.in.the.file.specified.",
|
||||
"Certificate chain not found in the file specified."},
|
||||
{"found non-X.509 certificate in signer's chain",
|
||||
{"found.non.X.509.certificate.in.signer.s.chain",
|
||||
"found non-X.509 certificate in signer's chain"},
|
||||
{"incomplete certificate chain", "incomplete certificate chain"},
|
||||
{"Enter key password for alias: ", "Enter key password for {0}: "},
|
||||
{"unable to recover key from keystore",
|
||||
{"incomplete.certificate.chain", "incomplete certificate chain"},
|
||||
{"Enter.key.password.for.alias.", "Enter key password for {0}: "},
|
||||
{"unable.to.recover.key.from.keystore",
|
||||
"unable to recover key from keystore"},
|
||||
{"key associated with alias not a private key",
|
||||
{"key.associated.with.alias.not.a.private.key",
|
||||
"key associated with {0} not a private key"},
|
||||
{"you must enter key password", "you must enter key password"},
|
||||
{"unable to read password: ", "unable to read password: "},
|
||||
{"certificate is valid from", "certificate is valid from {0} to {1}"},
|
||||
{"certificate expired on", "certificate expired on {0}"},
|
||||
{"certificate is not valid until",
|
||||
{"you.must.enter.key.password", "you must enter key password"},
|
||||
{"unable.to.read.password.", "unable to read password: "},
|
||||
{"certificate.is.valid.from", "certificate is valid from {0} to {1}"},
|
||||
{"certificate.expired.on", "certificate expired on {0}"},
|
||||
{"certificate.is.not.valid.until",
|
||||
"certificate is not valid until {0}"},
|
||||
{"certificate will expire on", "certificate will expire on {0}"},
|
||||
{"[CertPath not validated: ", "[CertPath not validated: "},
|
||||
{"requesting a signature timestamp",
|
||||
{"certificate.will.expire.on", "certificate will expire on {0}"},
|
||||
{".CertPath.not.validated.", "[CertPath not validated: "},
|
||||
{"requesting.a.signature.timestamp",
|
||||
"requesting a signature timestamp"},
|
||||
{"TSA location: ", "TSA location: "},
|
||||
{"TSA certificate: ", "TSA certificate: "},
|
||||
{"no response from the Timestamping Authority. ",
|
||||
{"TSA.location.", "TSA location: "},
|
||||
{"TSA.certificate.", "TSA certificate: "},
|
||||
{"no.response.from.the.Timestamping.Authority.",
|
||||
"no response from the Timestamping Authority. "},
|
||||
{"When connecting from behind a firewall then an HTTP proxy may need to be specified. ",
|
||||
{"When.connecting.from.behind.a.firewall.then.an.HTTP.proxy.may.need.to.be.specified.",
|
||||
"When connecting from behind a firewall then an HTTP proxy may need to be specified. "},
|
||||
{"Supply the following options to jarsigner: ",
|
||||
{"Supply.the.following.options.to.jarsigner.",
|
||||
"Supply the following options to jarsigner: "},
|
||||
{"Certificate not found for: alias. alias must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority.",
|
||||
{"Certificate.not.found.for.alias.alias.must.reference.a.valid.KeyStore.entry.containing.an.X.509.public.key.certificate.for.the",
|
||||
"Certificate not found for: {0}. {1} must reference a valid KeyStore entry containing an X.509 public key certificate for the Timestamping Authority."},
|
||||
{"using an alternative signing mechanism",
|
||||
{"using.an.alternative.signing.mechanism",
|
||||
"using an alternative signing mechanism"},
|
||||
{"entry was signed on", "entry was signed on {0}"},
|
||||
{"with a CRL including %d entries", "with a CRL including %d entries"},
|
||||
{"Warning: ", "Warning: "},
|
||||
{"This jar contains unsigned entries which have not been integrity-checked. ",
|
||||
{"entry.was.signed.on", "entry was signed on {0}"},
|
||||
{"with.a.CRL.including.d.entries", "with a CRL including %d entries"},
|
||||
{"Warning.", "Warning: "},
|
||||
{"This.jar.contains.unsigned.entries.which.have.not.been.integrity.checked.",
|
||||
"This jar contains unsigned entries which have not been integrity-checked. "},
|
||||
{"This jar contains entries whose signer certificate has expired. ",
|
||||
{"This.jar.contains.entries.whose.signer.certificate.has.expired.",
|
||||
"This jar contains entries whose signer certificate has expired. "},
|
||||
{"This jar contains entries whose signer certificate will expire within six months. ",
|
||||
{"This.jar.contains.entries.whose.signer.certificate.will.expire.within.six.months.",
|
||||
"This jar contains entries whose signer certificate will expire within six months. "},
|
||||
{"This jar contains entries whose signer certificate is not yet valid. ",
|
||||
{"This.jar.contains.entries.whose.signer.certificate.is.not.yet.valid.",
|
||||
"This jar contains entries whose signer certificate is not yet valid. "},
|
||||
{"Re-run with the -verbose option for more details.",
|
||||
{"Re.run.with.the.verbose.option.for.more.details.",
|
||||
"Re-run with the -verbose option for more details."},
|
||||
{"Re-run with the -verbose and -certs options for more details.",
|
||||
{"Re.run.with.the.verbose.and.certs.options.for.more.details.",
|
||||
"Re-run with the -verbose and -certs options for more details."},
|
||||
{"The signer certificate has expired.",
|
||||
{"The.signer.certificate.has.expired.",
|
||||
"The signer certificate has expired."},
|
||||
{"The signer certificate will expire within six months.",
|
||||
{"The.signer.certificate.will.expire.within.six.months.",
|
||||
"The signer certificate will expire within six months."},
|
||||
{"The signer certificate is not yet valid.",
|
||||
{"The.signer.certificate.is.not.yet.valid.",
|
||||
"The signer certificate is not yet valid."},
|
||||
{"The signer certificate's KeyUsage extension doesn't allow code signing.",
|
||||
{"The.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
|
||||
"The signer certificate's KeyUsage extension doesn't allow code signing."},
|
||||
{"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
|
||||
{"The.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
|
||||
"The signer certificate's ExtendedKeyUsage extension doesn't allow code signing."},
|
||||
{"The signer certificate's NetscapeCertType extension doesn't allow code signing.",
|
||||
{"The.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
|
||||
"The signer certificate's NetscapeCertType extension doesn't allow code signing."},
|
||||
{"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing.",
|
||||
{"This.jar.contains.entries.whose.signer.certificate.s.KeyUsage.extension.doesn.t.allow.code.signing.",
|
||||
"This jar contains entries whose signer certificate's KeyUsage extension doesn't allow code signing."},
|
||||
{"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing.",
|
||||
{"This.jar.contains.entries.whose.signer.certificate.s.ExtendedKeyUsage.extension.doesn.t.allow.code.signing.",
|
||||
"This jar contains entries whose signer certificate's ExtendedKeyUsage extension doesn't allow code signing."},
|
||||
{"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing.",
|
||||
{"This.jar.contains.entries.whose.signer.certificate.s.NetscapeCertType.extension.doesn.t.allow.code.signing.",
|
||||
"This jar contains entries whose signer certificate's NetscapeCertType extension doesn't allow code signing."},
|
||||
{"[{0} extension does not support code signing]",
|
||||
{".{0}.extension.does.not.support.code.signing.",
|
||||
"[{0} extension does not support code signing]"},
|
||||
{"The signer's certificate chain is not validated.",
|
||||
{"The.signer.s.certificate.chain.is.not.validated.",
|
||||
"The signer's certificate chain is not validated."},
|
||||
{"This jar contains entries whose certificate chain is not validated.",
|
||||
{"This.jar.contains.entries.whose.certificate.chain.is.not.validated.",
|
||||
"This jar contains entries whose certificate chain is not validated."},
|
||||
};
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -228,9 +228,7 @@ public class PolicyTool {
|
||||
if (pubKey == null) {
|
||||
newWarning = true;
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Warning: A public key for alias " +
|
||||
"'signers[i]' does not exist. " +
|
||||
"Make sure a KeyStore is properly configured."));
|
||||
("Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."));
|
||||
Object[] source = {signers[i]};
|
||||
warnings.addElement(form.format(source));
|
||||
}
|
||||
@ -248,7 +246,7 @@ public class PolicyTool {
|
||||
} catch (ClassNotFoundException fnfe) {
|
||||
newWarning = true;
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Warning: Class not found: class"));
|
||||
("Warning.Class.not.found.class"));
|
||||
Object[] source = {pe.getPrincipalClass()};
|
||||
warnings.addElement(form.format(source));
|
||||
}
|
||||
@ -264,13 +262,13 @@ public class PolicyTool {
|
||||
} catch (ClassNotFoundException fnfe) {
|
||||
newWarning = true;
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Warning: Class not found: class"));
|
||||
("Warning.Class.not.found.class"));
|
||||
Object[] source = {pe.permission};
|
||||
warnings.addElement(form.format(source));
|
||||
} catch (InvocationTargetException ite) {
|
||||
newWarning = true;
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Warning: Invalid argument(s) for constructor: arg"));
|
||||
("Warning.Invalid.argument.s.for.constructor.arg"));
|
||||
Object[] source = {pe.permission};
|
||||
warnings.addElement(form.format(source));
|
||||
}
|
||||
@ -285,9 +283,7 @@ public class PolicyTool {
|
||||
if (pubKey == null) {
|
||||
newWarning = true;
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Warning: A public key for alias " +
|
||||
"'signers[i]' does not exist. " +
|
||||
"Make sure a KeyStore is properly configured."));
|
||||
("Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."));
|
||||
Object[] source = {signers[i]};
|
||||
warnings.addElement(form.format(source));
|
||||
}
|
||||
@ -615,7 +611,7 @@ public class PolicyTool {
|
||||
Thread.currentThread().getContextClassLoader());
|
||||
if (!PRIN.isAssignableFrom(pc)) {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Illegal Principal Type: type"));
|
||||
("Illegal.Principal.Type.type"));
|
||||
Object[] source = {type};
|
||||
throw new InstantiationException(form.format(source));
|
||||
}
|
||||
@ -691,7 +687,7 @@ public class PolicyTool {
|
||||
policyFileName = args[n];
|
||||
} else {
|
||||
MessageFormat form = new MessageFormat(rb.getString
|
||||
("Illegal option: option"));
|
||||
("Illegal.option.option"));
|
||||
Object[] source = { flags };
|
||||
System.err.println(form.format(source));
|
||||
usage();
|
||||
@ -700,10 +696,10 @@ public class PolicyTool {
|
||||
}
|
||||
|
||||
static void usage() {
|
||||
System.out.println(rb.getString("Usage: policytool [options]"));
|
||||
System.out.println(rb.getString("Usage.policytool.options."));
|
||||
System.out.println();
|
||||
System.out.println(rb.getString
|
||||
(" [-file <file>] policy file location"));
|
||||
(".file.file.policy.file.location"));
|
||||
System.out.println();
|
||||
|
||||
System.exit(1);
|
||||
@ -903,23 +899,23 @@ class ToolWindow extends Frame {
|
||||
public static final String SAVE_POLICY_FILE =
|
||||
PolicyTool.rb.getString("Save");
|
||||
public static final String SAVE_AS_POLICY_FILE =
|
||||
PolicyTool.rb.getString("Save As");
|
||||
PolicyTool.rb.getString("Save.As");
|
||||
public static final String VIEW_WARNINGS =
|
||||
PolicyTool.rb.getString("View Warning Log");
|
||||
PolicyTool.rb.getString("View.Warning.Log");
|
||||
public static final String QUIT =
|
||||
PolicyTool.rb.getString("Exit");
|
||||
public static final String ADD_POLICY_ENTRY =
|
||||
PolicyTool.rb.getString("Add Policy Entry");
|
||||
PolicyTool.rb.getString("Add.Policy.Entry");
|
||||
public static final String EDIT_POLICY_ENTRY =
|
||||
PolicyTool.rb.getString("Edit Policy Entry");
|
||||
PolicyTool.rb.getString("Edit.Policy.Entry");
|
||||
public static final String REMOVE_POLICY_ENTRY =
|
||||
PolicyTool.rb.getString("Remove Policy Entry");
|
||||
PolicyTool.rb.getString("Remove.Policy.Entry");
|
||||
public static final String EDIT_KEYSTORE =
|
||||
PolicyTool.rb.getString("Edit");
|
||||
public static final String ADD_PUBKEY_ALIAS =
|
||||
PolicyTool.rb.getString("Add Public Key Alias");
|
||||
PolicyTool.rb.getString("Add.Public.Key.Alias");
|
||||
public static final String REMOVE_PUBKEY_ALIAS =
|
||||
PolicyTool.rb.getString("Remove Public Key Alias");
|
||||
PolicyTool.rb.getString("Remove.Public.Key.Alias");
|
||||
|
||||
/* gridbag index for components in the main window (MW) */
|
||||
public static final int MW_FILENAME_LABEL = 0;
|
||||
@ -968,13 +964,13 @@ class ToolWindow extends Frame {
|
||||
|
||||
|
||||
// policy entry listing
|
||||
Label label = new Label(PolicyTool.rb.getString("Policy File:"));
|
||||
Label label = new Label(PolicyTool.rb.getString("Policy.File."));
|
||||
addNewComponent(this, label, MW_FILENAME_LABEL,
|
||||
0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
TOP_BOTTOM_PADDING);
|
||||
TextField tf = new TextField(50);
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("Policy File:"));
|
||||
PolicyTool.rb.getString("Policy.File."));
|
||||
tf.setEditable(false);
|
||||
addNewComponent(this, tf, MW_FILENAME_TEXTFIELD,
|
||||
1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
@ -1056,7 +1052,7 @@ class ToolWindow extends Frame {
|
||||
|
||||
// display the error
|
||||
MessageFormat form = new MessageFormat(PolicyTool.rb.getString
|
||||
("Could not open policy file: policyFile: e.toString()"));
|
||||
("Could.not.open.policy.file.policyFile.e.toString."));
|
||||
Object[] source = {policyFile, e.toString()};
|
||||
displayErrorDialog(null, form.format(source));
|
||||
}
|
||||
@ -1133,7 +1129,7 @@ class ToolWindow extends Frame {
|
||||
*/
|
||||
void displayToolWindow(String args[]) {
|
||||
|
||||
setTitle(PolicyTool.rb.getString("Policy Tool"));
|
||||
setTitle(PolicyTool.rb.getString("Policy.Tool"));
|
||||
setResizable(true);
|
||||
addWindowListener(new ToolWindowListener(this));
|
||||
setBounds(135, 80, 500, 500);
|
||||
@ -1146,9 +1142,7 @@ class ToolWindow extends Frame {
|
||||
|
||||
if (tool.newWarning == true) {
|
||||
displayStatusDialog(this, PolicyTool.rb.getString
|
||||
("Errors have occurred while opening the " +
|
||||
"policy configuration. View the Warning Log " +
|
||||
"for more information."));
|
||||
("Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information."));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1231,7 +1225,7 @@ class ToolWindow extends Frame {
|
||||
ta.setEditable(false);
|
||||
for (int i = 0; i < tool.warnings.size(); i++) {
|
||||
ta.append(tool.warnings.elementAt(i));
|
||||
ta.append(PolicyTool.rb.getString("\n"));
|
||||
ta.append(PolicyTool.rb.getString("NEWLINE"));
|
||||
}
|
||||
addNewComponent(wd, ta, 0,
|
||||
0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
@ -1332,22 +1326,22 @@ class ToolDialog extends Dialog {
|
||||
/* popup menus */
|
||||
public static final String PERM =
|
||||
PolicyTool.rb.getString
|
||||
("Permission: ");
|
||||
("Permission.");
|
||||
|
||||
public static final String PRIN_TYPE =
|
||||
PolicyTool.rb.getString("Principal Type:");
|
||||
PolicyTool.rb.getString("Principal.Type.");
|
||||
public static final String PRIN_NAME =
|
||||
PolicyTool.rb.getString("Principal Name:");
|
||||
PolicyTool.rb.getString("Principal.Name.");
|
||||
|
||||
/* more popu menus */
|
||||
public static final String PERM_NAME =
|
||||
PolicyTool.rb.getString
|
||||
("Target Name: ");
|
||||
("Target.Name.");
|
||||
|
||||
/* and more popup menus */
|
||||
public static final String PERM_ACTIONS =
|
||||
PolicyTool.rb.getString
|
||||
("Actions: ");
|
||||
("Actions.");
|
||||
|
||||
/* gridbag index for display OverWriteFile (OW) components */
|
||||
public static final int OW_LABEL = 0;
|
||||
@ -1540,7 +1534,7 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// ask the user if they want to over write the existing file
|
||||
MessageFormat form = new MessageFormat(PolicyTool.rb.getString
|
||||
("OK to overwrite existing file filename?"));
|
||||
("OK.to.overwrite.existing.file.filename."));
|
||||
Object[] source = {filename};
|
||||
Label label = new Label(form.format(source));
|
||||
tw.addNewComponent(this, label, OW_LABEL,
|
||||
@ -1584,12 +1578,12 @@ class ToolDialog extends Dialog {
|
||||
PolicyEntry entries[] = null;
|
||||
TaggedList prinList = new TaggedList(3, false);
|
||||
prinList.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("Principal List"));
|
||||
PolicyTool.rb.getString("Principal.List"));
|
||||
prinList.addActionListener
|
||||
(new EditPrinButtonListener(tool, tw, this, edit));
|
||||
TaggedList permList = new TaggedList(10, false);
|
||||
permList.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("Permission List"));
|
||||
PolicyTool.rb.getString("Permission.List"));
|
||||
permList.addActionListener
|
||||
(new EditPermButtonListener(tool, tw, this, edit));
|
||||
|
||||
@ -1627,7 +1621,7 @@ class ToolDialog extends Dialog {
|
||||
}
|
||||
|
||||
// codebase label and textfield
|
||||
Label label = new Label(PolicyTool.rb.getString("CodeBase:"));
|
||||
Label label = new Label(PolicyTool.rb.getString("CodeBase."));
|
||||
tw.addNewComponent(this, label, PE_CODEBASE_LABEL,
|
||||
0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH);
|
||||
TextField tf;
|
||||
@ -1635,19 +1629,19 @@ class ToolDialog extends Dialog {
|
||||
new TextField(entries[listIndex].getGrantEntry().codeBase, 60) :
|
||||
new TextField(60));
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("Code Base"));
|
||||
PolicyTool.rb.getString("Code.Base"));
|
||||
tw.addNewComponent(this, tf, PE_CODEBASE_TEXTFIELD,
|
||||
1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH);
|
||||
|
||||
// signedby label and textfield
|
||||
label = new Label(PolicyTool.rb.getString("SignedBy:"));
|
||||
label = new Label(PolicyTool.rb.getString("SignedBy."));
|
||||
tw.addNewComponent(this, label, PE_SIGNEDBY_LABEL,
|
||||
0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH);
|
||||
tf = (edit ?
|
||||
new TextField(entries[listIndex].getGrantEntry().signedBy, 60) :
|
||||
new TextField(60));
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("Signed By:"));
|
||||
PolicyTool.rb.getString("Signed.By."));
|
||||
tw.addNewComponent(this, tf, PE_SIGNEDBY_TEXTFIELD,
|
||||
1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH);
|
||||
|
||||
@ -1655,19 +1649,19 @@ class ToolDialog extends Dialog {
|
||||
Panel panel = new Panel();
|
||||
panel.setLayout(new GridBagLayout());
|
||||
|
||||
Button button = new Button(PolicyTool.rb.getString("Add Principal"));
|
||||
Button button = new Button(PolicyTool.rb.getString("Add.Principal"));
|
||||
button.addActionListener
|
||||
(new AddPrinButtonListener(tool, tw, this, edit));
|
||||
tw.addNewComponent(panel, button, PE_ADD_PRIN_BUTTON,
|
||||
0, 0, 1, 1, 100.0, 0.0, GridBagConstraints.HORIZONTAL);
|
||||
|
||||
button = new Button(PolicyTool.rb.getString("Edit Principal"));
|
||||
button = new Button(PolicyTool.rb.getString("Edit.Principal"));
|
||||
button.addActionListener(new EditPrinButtonListener
|
||||
(tool, tw, this, edit));
|
||||
tw.addNewComponent(panel, button, PE_EDIT_PRIN_BUTTON,
|
||||
1, 0, 1, 1, 100.0, 0.0, GridBagConstraints.HORIZONTAL);
|
||||
|
||||
button = new Button(PolicyTool.rb.getString("Remove Principal"));
|
||||
button = new Button(PolicyTool.rb.getString("Remove.Principal"));
|
||||
button.addActionListener(new RemovePrinButtonListener
|
||||
(tool, tw, this, edit));
|
||||
tw.addNewComponent(panel, button, PE_REMOVE_PRIN_BUTTON,
|
||||
@ -1677,7 +1671,7 @@ class ToolDialog extends Dialog {
|
||||
1, 2, 1, 1, 0.0, 0.0, GridBagConstraints.HORIZONTAL);
|
||||
|
||||
// principal label and list
|
||||
label = new Label(PolicyTool.rb.getString("Principals:"));
|
||||
label = new Label(PolicyTool.rb.getString("Principals."));
|
||||
tw.addNewComponent(this, label, PE_PRIN_LABEL,
|
||||
0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
@ -1689,20 +1683,20 @@ class ToolDialog extends Dialog {
|
||||
panel = new Panel();
|
||||
panel.setLayout(new GridBagLayout());
|
||||
|
||||
button = new Button(PolicyTool.rb.getString(" Add Permission"));
|
||||
button = new Button(PolicyTool.rb.getString(".Add.Permission"));
|
||||
button.addActionListener(new AddPermButtonListener
|
||||
(tool, tw, this, edit));
|
||||
tw.addNewComponent(panel, button, PE_ADD_PERM_BUTTON,
|
||||
0, 0, 1, 1, 100.0, 0.0, GridBagConstraints.HORIZONTAL);
|
||||
|
||||
button = new Button(PolicyTool.rb.getString(" Edit Permission"));
|
||||
button = new Button(PolicyTool.rb.getString(".Edit.Permission"));
|
||||
button.addActionListener(new EditPermButtonListener
|
||||
(tool, tw, this, edit));
|
||||
tw.addNewComponent(panel, button, PE_EDIT_PERM_BUTTON,
|
||||
1, 0, 1, 1, 100.0, 0.0, GridBagConstraints.HORIZONTAL);
|
||||
|
||||
|
||||
button = new Button(PolicyTool.rb.getString("Remove Permission"));
|
||||
button = new Button(PolicyTool.rb.getString("Remove.Permission"));
|
||||
button.addActionListener(new RemovePermButtonListener
|
||||
(tool, tw, this, edit));
|
||||
tw.addNewComponent(panel, button, PE_REMOVE_PERM_BUTTON,
|
||||
@ -1808,7 +1802,7 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// KeyStore label and textfield
|
||||
Label label = new Label
|
||||
(PolicyTool.rb.getString("KeyStore URL:"));
|
||||
(PolicyTool.rb.getString("KeyStore.URL."));
|
||||
tw.addNewComponent(this, label, KSD_NAME_LABEL,
|
||||
0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
@ -1816,45 +1810,45 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// URL to U R L, so that accessibility reader will pronounce well
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("KeyStore U R L:"));
|
||||
PolicyTool.rb.getString("KeyStore.U.R.L."));
|
||||
tw.addNewComponent(this, tf, KSD_NAME_TEXTFIELD,
|
||||
1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
|
||||
// KeyStore type and textfield
|
||||
label = new Label(PolicyTool.rb.getString("KeyStore Type:"));
|
||||
label = new Label(PolicyTool.rb.getString("KeyStore.Type."));
|
||||
tw.addNewComponent(this, label, KSD_TYPE_LABEL,
|
||||
0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
tf = new TextField(tool.getKeyStoreType(), 30);
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("KeyStore Type:"));
|
||||
PolicyTool.rb.getString("KeyStore.Type."));
|
||||
tw.addNewComponent(this, tf, KSD_TYPE_TEXTFIELD,
|
||||
1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
|
||||
// KeyStore provider and textfield
|
||||
label = new Label(PolicyTool.rb.getString
|
||||
("KeyStore Provider:"));
|
||||
("KeyStore.Provider."));
|
||||
tw.addNewComponent(this, label, KSD_PROVIDER_LABEL,
|
||||
0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
tf = new TextField(tool.getKeyStoreProvider(), 30);
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("KeyStore Provider:"));
|
||||
PolicyTool.rb.getString("KeyStore.Provider."));
|
||||
tw.addNewComponent(this, tf, KSD_PROVIDER_TEXTFIELD,
|
||||
1, 2, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
|
||||
// KeyStore password URL and textfield
|
||||
label = new Label(PolicyTool.rb.getString
|
||||
("KeyStore Password URL:"));
|
||||
("KeyStore.Password.URL."));
|
||||
tw.addNewComponent(this, label, KSD_PWD_URL_LABEL,
|
||||
0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
tf = new TextField(tool.getKeyStorePwdURL(), 30);
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("KeyStore Password U R L:"));
|
||||
PolicyTool.rb.getString("KeyStore.Password.U.R.L."));
|
||||
tw.addNewComponent(this, tf, KSD_PWD_URL_TEXTFIELD,
|
||||
1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
@ -1909,8 +1903,8 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// description label
|
||||
Label label = (edit ?
|
||||
new Label(PolicyTool.rb.getString(" Edit Principal:")) :
|
||||
new Label(PolicyTool.rb.getString(" Add New Principal:")));
|
||||
new Label(PolicyTool.rb.getString(".Edit.Principal.")) :
|
||||
new Label(PolicyTool.rb.getString(".Add.New.Principal.")));
|
||||
tw.addNewComponent(newTD, label, PRD_DESC_LABEL,
|
||||
0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.TOP_BOTTOM_PADDING);
|
||||
@ -2016,8 +2010,8 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// description label
|
||||
Label label = (edit ?
|
||||
new Label(PolicyTool.rb.getString(" Edit Permission:")) :
|
||||
new Label(PolicyTool.rb.getString(" Add New Permission:")));
|
||||
new Label(PolicyTool.rb.getString(".Edit.Permission.")) :
|
||||
new Label(PolicyTool.rb.getString(".Add.New.Permission.")));
|
||||
tw.addNewComponent(newTD, label, PD_DESC_LABEL,
|
||||
0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.TOP_BOTTOM_PADDING);
|
||||
@ -2084,13 +2078,13 @@ class ToolDialog extends Dialog {
|
||||
tw.LR_PADDING);
|
||||
|
||||
// signedby label and textfield
|
||||
label = new Label(PolicyTool.rb.getString("Signed By:"));
|
||||
label = new Label(PolicyTool.rb.getString("Signed.By."));
|
||||
tw.addNewComponent(newTD, label, PD_SIGNEDBY_LABEL,
|
||||
0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.LR_PADDING);
|
||||
tf = (edit ? new TextField(editMe.signedBy, 40) : new TextField(40));
|
||||
tf.getAccessibleContext().setAccessibleName(
|
||||
PolicyTool.rb.getString("Signed By:"));
|
||||
PolicyTool.rb.getString("Signed.By."));
|
||||
tw.addNewComponent(newTD, tf, PD_SIGNEDBY_TEXTFIELD,
|
||||
1, 4, 1, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.LR_PADDING);
|
||||
@ -2135,12 +2129,10 @@ class ToolDialog extends Dialog {
|
||||
if ((pclass.equals(PolicyParser.PrincipalEntry.WILDCARD_CLASS)) &&
|
||||
(!pname.equals(PolicyParser.PrincipalEntry.WILDCARD_NAME))) {
|
||||
throw new Exception
|
||||
(PolicyTool.rb.getString("Cannot Specify Principal " +
|
||||
"with a Wildcard Class without a Wildcard Name"));
|
||||
(PolicyTool.rb.getString("Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name"));
|
||||
} else if (pname.equals("")) {
|
||||
throw new Exception
|
||||
(PolicyTool.rb.getString("Cannot Specify Principal " +
|
||||
"without a Name"));
|
||||
(PolicyTool.rb.getString("Cannot.Specify.Principal.without.a.Name"));
|
||||
} else if (pclass.equals("")) {
|
||||
// make this consistent with what PolicyParser does
|
||||
// when it sees an empty principal class
|
||||
@ -2188,7 +2180,7 @@ class ToolDialog extends Dialog {
|
||||
if (permission.equals("") ||
|
||||
(!permission.equals(ALL_PERM_CLASS) && name == null)) {
|
||||
throw new InvalidParameterException(PolicyTool.rb.getString
|
||||
("Permission and Target Name must have a value"));
|
||||
("Permission.and.Target.Name.must.have.a.value"));
|
||||
}
|
||||
|
||||
// When the permission is FilePermission, we need to check the name
|
||||
@ -2205,12 +2197,7 @@ class ToolDialog extends Dialog {
|
||||
char result = tw.displayYesNoDialog(this,
|
||||
PolicyTool.rb.getString("Warning"),
|
||||
PolicyTool.rb.getString(
|
||||
"Warning: File name may include escaped backslash characters. " +
|
||||
"It is not necessary to escape backslash characters " +
|
||||
"(the tool escapes characters as necessary when writing " +
|
||||
"the policy contents to the persistent store).\n\n" +
|
||||
"Click on Retain to retain the entered name, or click on " +
|
||||
"Edit to edit the name."),
|
||||
"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes"),
|
||||
PolicyTool.rb.getString("Retain"),
|
||||
PolicyTool.rb.getString("Edit")
|
||||
);
|
||||
@ -2244,9 +2231,7 @@ class ToolDialog extends Dialog {
|
||||
if (pubKey == null) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(PolicyTool.rb.getString
|
||||
("Warning: A public key for alias " +
|
||||
"'signers[i]' does not exist. " +
|
||||
"Make sure a KeyStore is properly configured."));
|
||||
("Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."));
|
||||
Object[] source = {signers[i]};
|
||||
tool.warnings.addElement(form.format(source));
|
||||
tw.displayStatusDialog(this, form.format(source));
|
||||
@ -2276,7 +2261,7 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// ask the user do they really want to do this?
|
||||
Label label = new Label
|
||||
(PolicyTool.rb.getString("Remove this Policy Entry?"));
|
||||
(PolicyTool.rb.getString("Remove.this.Policy.Entry."));
|
||||
tw.addNewComponent(this, label, CRPE_LABEL1,
|
||||
0, 0, 2, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.BOTTOM_PADDING);
|
||||
@ -2340,7 +2325,7 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// pop up a dialog box for the user to enter a filename.
|
||||
FileDialog fd = new FileDialog
|
||||
(tw, PolicyTool.rb.getString("Save As"), FileDialog.SAVE);
|
||||
(tw, PolicyTool.rb.getString("Save.As"), FileDialog.SAVE);
|
||||
fd.addWindowListener(new WindowAdapter() {
|
||||
public void windowClosing(WindowEvent e) {
|
||||
e.getWindow().setVisible(false);
|
||||
@ -2362,7 +2347,7 @@ class ToolDialog extends Dialog {
|
||||
if (saveAsFile.exists()) {
|
||||
// display a dialog box for the user to enter policy info
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Overwrite File"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Overwrite.File"), tool, tw, true);
|
||||
td.displayOverWriteFileDialog(filename, nextEvent);
|
||||
} else {
|
||||
try {
|
||||
@ -2371,7 +2356,7 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// display status
|
||||
MessageFormat form = new MessageFormat(PolicyTool.rb.getString
|
||||
("Policy successfully written to filename"));
|
||||
("Policy.successfully.written.to.filename"));
|
||||
Object[] source = {filename};
|
||||
tw.displayStatusDialog(null, form.format(source));
|
||||
|
||||
@ -2388,7 +2373,7 @@ class ToolDialog extends Dialog {
|
||||
} catch (FileNotFoundException fnfe) {
|
||||
if (filename == null || filename.equals("")) {
|
||||
tw.displayErrorDialog(null, new FileNotFoundException
|
||||
(PolicyTool.rb.getString("null filename")));
|
||||
(PolicyTool.rb.getString("null.filename")));
|
||||
} else {
|
||||
tw.displayErrorDialog(null, fnfe);
|
||||
}
|
||||
@ -2411,7 +2396,7 @@ class ToolDialog extends Dialog {
|
||||
setLayout(new GridBagLayout());
|
||||
|
||||
Label label = new Label
|
||||
(PolicyTool.rb.getString("Save changes?"));
|
||||
(PolicyTool.rb.getString("Save.changes."));
|
||||
tw.addNewComponent(this, label, USC_LABEL,
|
||||
0, 0, 3, 1, 0.0, 0.0, GridBagConstraints.BOTH,
|
||||
tw.L_TOP_BOTTOM_PADDING);
|
||||
@ -2535,9 +2520,7 @@ class ToolDialog extends Dialog {
|
||||
// inform user of warnings
|
||||
if (tool.newWarning == true) {
|
||||
tw.displayStatusDialog(null, PolicyTool.rb.getString
|
||||
("Errors have occurred while opening the " +
|
||||
"policy configuration. View the Warning Log " +
|
||||
"for more information."));
|
||||
("Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information."));
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
@ -2556,7 +2539,7 @@ class ToolDialog extends Dialog {
|
||||
|
||||
// display the error
|
||||
MessageFormat form = new MessageFormat(PolicyTool.rb.getString
|
||||
("Could not open policy file: policyFile: e.toString()"));
|
||||
("Could.not.open.policy.file.policyFile.e.toString."));
|
||||
Object[] source = {policyFile, e.toString()};
|
||||
tw.displayErrorDialog(null, form.format(source));
|
||||
}
|
||||
@ -2708,7 +2691,7 @@ class PolicyListListener implements ActionListener {
|
||||
|
||||
// display the permission list for a policy entry
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Policy Entry"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Policy.Entry"), tool, tw, true);
|
||||
td.displayPolicyEntryDialog(true);
|
||||
}
|
||||
}
|
||||
@ -2732,7 +2715,7 @@ class FileMenuListener implements ActionListener {
|
||||
|
||||
// ask user if they want to save changes
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Save Changes"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Save.Changes"), tool, tw, true);
|
||||
td.displayUserSave(td.QUIT);
|
||||
|
||||
// the above method will perform the QUIT as long as the
|
||||
@ -2743,7 +2726,7 @@ class FileMenuListener implements ActionListener {
|
||||
|
||||
// ask user if they want to save changes
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Save Changes"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Save.Changes"), tool, tw, true);
|
||||
td.displayUserSave(td.NEW);
|
||||
|
||||
// the above method will perform the NEW as long as the
|
||||
@ -2754,7 +2737,7 @@ class FileMenuListener implements ActionListener {
|
||||
|
||||
// ask user if they want to save changes
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Save Changes"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Save.Changes"), tool, tw, true);
|
||||
td.displayUserSave(td.OPEN);
|
||||
|
||||
// the above method will perform the OPEN as long as the
|
||||
@ -2771,7 +2754,7 @@ class FileMenuListener implements ActionListener {
|
||||
if (filename == null || filename.length() == 0) {
|
||||
// user wants to SAVE AS
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Save As"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Save.As"), tool, tw, true);
|
||||
td.displaySaveAsDialog(td.NOACTION);
|
||||
} else {
|
||||
try {
|
||||
@ -2781,13 +2764,13 @@ class FileMenuListener implements ActionListener {
|
||||
// display status
|
||||
MessageFormat form = new MessageFormat
|
||||
(PolicyTool.rb.getString
|
||||
("Policy successfully written to filename"));
|
||||
("Policy.successfully.written.to.filename"));
|
||||
Object[] source = {filename};
|
||||
tw.displayStatusDialog(null, form.format(source));
|
||||
} catch (FileNotFoundException fnfe) {
|
||||
if (filename == null || filename.equals("")) {
|
||||
tw.displayErrorDialog(null, new FileNotFoundException
|
||||
(PolicyTool.rb.getString("null filename")));
|
||||
(PolicyTool.rb.getString("null.filename")));
|
||||
} else {
|
||||
tw.displayErrorDialog(null, fnfe);
|
||||
}
|
||||
@ -2800,7 +2783,7 @@ class FileMenuListener implements ActionListener {
|
||||
|
||||
// user wants to SAVE AS
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Save As"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Save.As"), tool, tw, true);
|
||||
td.displaySaveAsDialog(td.NOACTION);
|
||||
|
||||
} else if (PolicyTool.collator.compare(e.getActionCommand(),
|
||||
@ -2830,7 +2813,7 @@ class MainWindowListener implements ActionListener {
|
||||
|
||||
// display a dialog box for the user to enter policy info
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Policy Entry"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Policy.Entry"), tool, tw, true);
|
||||
td.displayPolicyEntryDialog(false);
|
||||
|
||||
} else if (PolicyTool.collator.compare(e.getActionCommand(),
|
||||
@ -2841,13 +2824,13 @@ class MainWindowListener implements ActionListener {
|
||||
int index = list.getSelectedIndex();
|
||||
if (index < 0) {
|
||||
tw.displayErrorDialog(null, new Exception
|
||||
(PolicyTool.rb.getString("No Policy Entry selected")));
|
||||
(PolicyTool.rb.getString("No.Policy.Entry.selected")));
|
||||
return;
|
||||
}
|
||||
|
||||
// ask the user if they really want to remove the policy entry
|
||||
ToolDialog td = new ToolDialog(PolicyTool.rb.getString
|
||||
("Remove Policy Entry"), tool, tw, true);
|
||||
("Remove.Policy.Entry"), tool, tw, true);
|
||||
td.displayConfirmRemovePolicyEntry();
|
||||
|
||||
} else if (PolicyTool.collator.compare(e.getActionCommand(),
|
||||
@ -2858,13 +2841,13 @@ class MainWindowListener implements ActionListener {
|
||||
int index = list.getSelectedIndex();
|
||||
if (index < 0) {
|
||||
tw.displayErrorDialog(null, new Exception
|
||||
(PolicyTool.rb.getString("No Policy Entry selected")));
|
||||
(PolicyTool.rb.getString("No.Policy.Entry.selected")));
|
||||
return;
|
||||
}
|
||||
|
||||
// display the permission list for a policy entry
|
||||
ToolDialog td = new ToolDialog
|
||||
(PolicyTool.rb.getString("Policy Entry"), tool, tw, true);
|
||||
(PolicyTool.rb.getString("Policy.Entry"), tool, tw, true);
|
||||
td.displayPolicyEntryDialog(true);
|
||||
|
||||
} else if (PolicyTool.collator.compare(e.getActionCommand(),
|
||||
@ -2906,7 +2889,7 @@ class OverWriteFileOKButtonListener implements ActionListener {
|
||||
// display status
|
||||
MessageFormat form = new MessageFormat
|
||||
(PolicyTool.rb.getString
|
||||
("Policy successfully written to filename"));
|
||||
("Policy.successfully.written.to.filename"));
|
||||
Object[] source = {filename};
|
||||
tw.displayStatusDialog(null, form.format(source));
|
||||
|
||||
@ -2925,7 +2908,7 @@ class OverWriteFileOKButtonListener implements ActionListener {
|
||||
} catch (FileNotFoundException fnfe) {
|
||||
if (filename == null || filename.equals("")) {
|
||||
tw.displayErrorDialog(null, new FileNotFoundException
|
||||
(PolicyTool.rb.getString("null filename")));
|
||||
(PolicyTool.rb.getString("null.filename")));
|
||||
} else {
|
||||
tw.displayErrorDialog(null, fnfe);
|
||||
}
|
||||
@ -2977,9 +2960,7 @@ class AddEntryDoneButtonListener implements ActionListener {
|
||||
if (pubKey == null) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(PolicyTool.rb.getString
|
||||
("Warning: A public key for alias " +
|
||||
"'signers[i]' does not exist. " +
|
||||
"Make sure a KeyStore is properly configured."));
|
||||
("Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured."));
|
||||
Object[] source = {signers[i]};
|
||||
tool.warnings.addElement(form.format(source));
|
||||
tw.displayStatusDialog(td, form.format(source));
|
||||
@ -3047,7 +3028,7 @@ class ChangeKeyStoreOKButtonListener implements ActionListener {
|
||||
tool.modified = true;
|
||||
} catch (Exception ex) {
|
||||
MessageFormat form = new MessageFormat(PolicyTool.rb.getString
|
||||
("Unable to open KeyStore: ex.toString()"));
|
||||
("Unable.to.open.KeyStore.ex.toString."));
|
||||
Object[] source = {ex.toString()};
|
||||
tw.displayErrorDialog(td, form.format(source));
|
||||
return;
|
||||
@ -3143,7 +3124,7 @@ class NewPolicyPrinOKButtonListener implements ActionListener {
|
||||
} catch (ClassNotFoundException cnfe) {
|
||||
MessageFormat form = new MessageFormat
|
||||
(PolicyTool.rb.getString
|
||||
("Warning: Class not found: class"));
|
||||
("Warning.Class.not.found.class"));
|
||||
Object[] source = {pppe.getPrincipalClass()};
|
||||
tool.warnings.addElement(form.format(source));
|
||||
tw.displayStatusDialog(infoDialog, form.format(source));
|
||||
@ -3204,7 +3185,7 @@ class NewPolicyPermOKButtonListener implements ActionListener {
|
||||
tool.verifyPermission(pppe.permission, pppe.name, pppe.action);
|
||||
} catch (ClassNotFoundException cnfe) {
|
||||
MessageFormat form = new MessageFormat(PolicyTool.rb.getString
|
||||
("Warning: Class not found: class"));
|
||||
("Warning.Class.not.found.class"));
|
||||
Object[] source = {pppe.permission};
|
||||
tool.warnings.addElement(form.format(source));
|
||||
tw.displayStatusDialog(infoDialog, form.format(source));
|
||||
@ -3259,7 +3240,7 @@ class RemovePrinButtonListener implements ActionListener {
|
||||
|
||||
if (prinIndex < 0) {
|
||||
tw.displayErrorDialog(td, new Exception
|
||||
(PolicyTool.rb.getString("No principal selected")));
|
||||
(PolicyTool.rb.getString("No.principal.selected")));
|
||||
return;
|
||||
}
|
||||
// remove the principal from the display
|
||||
@ -3293,7 +3274,7 @@ class RemovePermButtonListener implements ActionListener {
|
||||
|
||||
if (permIndex < 0) {
|
||||
tw.displayErrorDialog(td, new Exception
|
||||
(PolicyTool.rb.getString("No permission selected")));
|
||||
(PolicyTool.rb.getString("No.permission.selected")));
|
||||
return;
|
||||
}
|
||||
// remove the permission from the display
|
||||
@ -3334,7 +3315,7 @@ class EditPrinButtonListener implements ActionListener {
|
||||
|
||||
if (prinIndex < 0) {
|
||||
tw.displayErrorDialog(td, new Exception
|
||||
(PolicyTool.rb.getString("No principal selected")));
|
||||
(PolicyTool.rb.getString("No.principal.selected")));
|
||||
return;
|
||||
}
|
||||
td.displayPrincipalDialog(editPolicyEntry, true);
|
||||
@ -3373,7 +3354,7 @@ class EditPermButtonListener implements ActionListener {
|
||||
|
||||
if (permIndex < 0) {
|
||||
tw.displayErrorDialog(td, new Exception
|
||||
(PolicyTool.rb.getString("No permission selected")));
|
||||
(PolicyTool.rb.getString("No.permission.selected")));
|
||||
return;
|
||||
}
|
||||
td.displayPermissionDialog(editPolicyEntry, true);
|
||||
@ -3668,7 +3649,7 @@ class UserSaveYesButtonListener implements ActionListener {
|
||||
// display status
|
||||
MessageFormat form = new MessageFormat
|
||||
(PolicyTool.rb.getString
|
||||
("Policy successfully written to filename"));
|
||||
("Policy.successfully.written.to.filename"));
|
||||
Object[] source = {filename};
|
||||
tw.displayStatusDialog(null, form.format(source));
|
||||
|
||||
@ -3900,7 +3881,7 @@ class AuthPerm extends Perm {
|
||||
"getLoginConfiguration",
|
||||
"setLoginConfiguration",
|
||||
"createLoginConfiguration.<" +
|
||||
PolicyTool.rb.getString("configuration type") + ">",
|
||||
PolicyTool.rb.getString("configuration.type") + ">",
|
||||
"refreshLoginConfiguration"
|
||||
},
|
||||
null);
|
||||
@ -4117,7 +4098,7 @@ class RuntimePerm extends Perm {
|
||||
"setSecurityManager",
|
||||
"createSecurityManager",
|
||||
"getenv.<" +
|
||||
PolicyTool.rb.getString("environment variable name") + ">",
|
||||
PolicyTool.rb.getString("environment.variable.name") + ">",
|
||||
"exitVM",
|
||||
"shutdownHooks",
|
||||
"setFactory",
|
||||
@ -4129,11 +4110,11 @@ class RuntimePerm extends Perm {
|
||||
"readFileDescriptor",
|
||||
"writeFileDescriptor",
|
||||
"loadLibrary.<" +
|
||||
PolicyTool.rb.getString("library name") + ">",
|
||||
PolicyTool.rb.getString("library.name") + ">",
|
||||
"accessClassInPackage.<" +
|
||||
PolicyTool.rb.getString("package name")+">",
|
||||
PolicyTool.rb.getString("package.name")+">",
|
||||
"defineClassInPackage.<" +
|
||||
PolicyTool.rb.getString("package name")+">",
|
||||
PolicyTool.rb.getString("package.name")+">",
|
||||
"accessDeclaredMembers",
|
||||
"queuePrintJob",
|
||||
"getStackTrace",
|
||||
@ -4156,15 +4137,15 @@ class SecurityPerm extends Perm {
|
||||
"getPolicy",
|
||||
"setPolicy",
|
||||
"createPolicy.<" +
|
||||
PolicyTool.rb.getString("policy type") + ">",
|
||||
PolicyTool.rb.getString("policy.type") + ">",
|
||||
"getProperty.<" +
|
||||
PolicyTool.rb.getString("property name") + ">",
|
||||
PolicyTool.rb.getString("property.name") + ">",
|
||||
"setProperty.<" +
|
||||
PolicyTool.rb.getString("property name") + ">",
|
||||
PolicyTool.rb.getString("property.name") + ">",
|
||||
"insertProvider.<" +
|
||||
PolicyTool.rb.getString("provider name") + ">",
|
||||
PolicyTool.rb.getString("provider.name") + ">",
|
||||
"removeProvider.<" +
|
||||
PolicyTool.rb.getString("provider name") + ">",
|
||||
PolicyTool.rb.getString("provider.name") + ">",
|
||||
//"setSystemScope",
|
||||
//"setIdentityPublicKey",
|
||||
//"setIdentityInfo",
|
||||
@ -4172,11 +4153,11 @@ class SecurityPerm extends Perm {
|
||||
//"removeIdentityCertificate",
|
||||
//"printIdentity",
|
||||
"clearProviderProperties.<" +
|
||||
PolicyTool.rb.getString("provider name") + ">",
|
||||
PolicyTool.rb.getString("provider.name") + ">",
|
||||
"putProviderProperty.<" +
|
||||
PolicyTool.rb.getString("provider name") + ">",
|
||||
PolicyTool.rb.getString("provider.name") + ">",
|
||||
"removeProviderProperty.<" +
|
||||
PolicyTool.rb.getString("provider name") + ">",
|
||||
PolicyTool.rb.getString("provider.name") + ">",
|
||||
//"getSignerPrivateKey",
|
||||
//"setSignerKeyPair"
|
||||
},
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2010, 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
|
||||
@ -40,103 +40,103 @@ public class AuthResources extends java.util.ListResourceBundle {
|
||||
private static final Object[][] contents = {
|
||||
|
||||
// NT principals
|
||||
{"invalid null input: value", "invalid null input: {0}"},
|
||||
{"NTDomainPrincipal: name", "NTDomainPrincipal: {0}"},
|
||||
{"NTNumericCredential: name", "NTNumericCredential: {0}"},
|
||||
{"Invalid NTSid value", "Invalid NTSid value"},
|
||||
{"NTSid: name", "NTSid: {0}"},
|
||||
{"NTSidDomainPrincipal: name", "NTSidDomainPrincipal: {0}"},
|
||||
{"NTSidGroupPrincipal: name", "NTSidGroupPrincipal: {0}"},
|
||||
{"NTSidPrimaryGroupPrincipal: name", "NTSidPrimaryGroupPrincipal: {0}"},
|
||||
{"NTSidUserPrincipal: name", "NTSidUserPrincipal: {0}"},
|
||||
{"NTUserPrincipal: name", "NTUserPrincipal: {0}"},
|
||||
{"invalid.null.input.value", "invalid null input: {0}"},
|
||||
{"NTDomainPrincipal.name", "NTDomainPrincipal: {0}"},
|
||||
{"NTNumericCredential.name", "NTNumericCredential: {0}"},
|
||||
{"Invalid.NTSid.value", "Invalid NTSid value"},
|
||||
{"NTSid.name", "NTSid: {0}"},
|
||||
{"NTSidDomainPrincipal.name", "NTSidDomainPrincipal: {0}"},
|
||||
{"NTSidGroupPrincipal.name", "NTSidGroupPrincipal: {0}"},
|
||||
{"NTSidPrimaryGroupPrincipal.name", "NTSidPrimaryGroupPrincipal: {0}"},
|
||||
{"NTSidUserPrincipal.name", "NTSidUserPrincipal: {0}"},
|
||||
{"NTUserPrincipal.name", "NTUserPrincipal: {0}"},
|
||||
|
||||
// UnixPrincipals
|
||||
{"UnixNumericGroupPrincipal [Primary Group]: name",
|
||||
{"UnixNumericGroupPrincipal.Primary.Group.name",
|
||||
"UnixNumericGroupPrincipal [Primary Group]: {0}"},
|
||||
{"UnixNumericGroupPrincipal [Supplementary Group]: name",
|
||||
{"UnixNumericGroupPrincipal.Supplementary.Group.name",
|
||||
"UnixNumericGroupPrincipal [Supplementary Group]: {0}"},
|
||||
{"UnixNumericUserPrincipal: name", "UnixNumericUserPrincipal: {0}"},
|
||||
{"UnixPrincipal: name", "UnixPrincipal: {0}"},
|
||||
{"UnixNumericUserPrincipal.name", "UnixNumericUserPrincipal: {0}"},
|
||||
{"UnixPrincipal.name", "UnixPrincipal: {0}"},
|
||||
|
||||
// com.sun.security.auth.login.ConfigFile
|
||||
{"Unable to properly expand config", "Unable to properly expand {0}"},
|
||||
{"extra_config (No such file or directory)",
|
||||
{"Unable.to.properly.expand.config", "Unable to properly expand {0}"},
|
||||
{"extra.config.No.such.file.or.directory.",
|
||||
"{0} (No such file or directory)"},
|
||||
{"Configuration Error:\n\tNo such file or directory",
|
||||
{"Configuration.Error.No.such.file.or.directory",
|
||||
"Configuration Error:\n\tNo such file or directory"},
|
||||
{"Configuration Error:\n\tInvalid control flag, flag",
|
||||
{"Configuration.Error.Invalid.control.flag.flag",
|
||||
"Configuration Error:\n\tInvalid control flag, {0}"},
|
||||
{"Configuration Error:\n\tCan not specify multiple entries for appName",
|
||||
{"Configuration.Error.Can.not.specify.multiple.entries.for.appName",
|
||||
"Configuration Error:\n\tCan not specify multiple entries for {0}"},
|
||||
{"Configuration Error:\n\texpected [expect], read [end of file]",
|
||||
{"Configuration.Error.expected.expect.read.end.of.file.",
|
||||
"Configuration Error:\n\texpected [{0}], read [end of file]"},
|
||||
{"Configuration Error:\n\tLine line: expected [expect], found [value]",
|
||||
{"Configuration.Error.Line.line.expected.expect.found.value.",
|
||||
"Configuration Error:\n\tLine {0}: expected [{1}], found [{2}]"},
|
||||
{"Configuration Error:\n\tLine line: expected [expect]",
|
||||
{"Configuration.Error.Line.line.expected.expect.",
|
||||
"Configuration Error:\n\tLine {0}: expected [{1}]"},
|
||||
{"Configuration Error:\n\tLine line: system property [value] expanded to empty value",
|
||||
{"Configuration.Error.Line.line.system.property.value.expanded.to.empty.value",
|
||||
"Configuration Error:\n\tLine {0}: system property [{1}] expanded to empty value"},
|
||||
|
||||
// com.sun.security.auth.module.JndiLoginModule
|
||||
{"username: ","username: "},
|
||||
{"password: ","password: "},
|
||||
{"username.","username: "},
|
||||
{"password.","password: "},
|
||||
|
||||
// com.sun.security.auth.module.KeyStoreLoginModule
|
||||
{"Please enter keystore information",
|
||||
{"Please.enter.keystore.information",
|
||||
"Please enter keystore information"},
|
||||
{"Keystore alias: ","Keystore alias: "},
|
||||
{"Keystore password: ","Keystore password: "},
|
||||
{"Private key password (optional): ",
|
||||
{"Keystore.alias.","Keystore alias: "},
|
||||
{"Keystore.password.","Keystore password: "},
|
||||
{"Private.key.password.optional.",
|
||||
"Private key password (optional): "},
|
||||
|
||||
// com.sun.security.auth.module.Krb5LoginModule
|
||||
{"Kerberos username [[defUsername]]: ",
|
||||
{"Kerberos.username.defUsername.",
|
||||
"Kerberos username [{0}]: "},
|
||||
{"Kerberos password for [username]: ",
|
||||
{"Kerberos.password.for.username.",
|
||||
"Kerberos password for {0}: "},
|
||||
|
||||
/*** EVERYTHING BELOW IS DEPRECATED ***/
|
||||
|
||||
// com.sun.security.auth.PolicyFile
|
||||
{": error parsing ", ": error parsing "},
|
||||
{": ", ": "},
|
||||
{": error adding Permission ", ": error adding Permission "},
|
||||
{" ", " "},
|
||||
{": error adding Entry ", ": error adding Entry "},
|
||||
{"(", "("},
|
||||
{")", ")"},
|
||||
{"attempt to add a Permission to a readonly PermissionCollection",
|
||||
{".error.parsing.", ": error parsing "},
|
||||
{"COLON", ": "},
|
||||
{".error.adding.Permission.", ": error adding Permission "},
|
||||
{"SPACE", " "},
|
||||
{".error.adding.Entry.", ": error adding Entry "},
|
||||
{"LPARAM", "("},
|
||||
{"RPARAM", ")"},
|
||||
{"attempt.to.add.a.Permission.to.a.readonly.PermissionCollection",
|
||||
"attempt to add a Permission to a readonly PermissionCollection"},
|
||||
|
||||
// com.sun.security.auth.PolicyParser
|
||||
{"expected keystore type", "expected keystore type"},
|
||||
{"can not specify Principal with a ",
|
||||
{"expected.keystore.type", "expected keystore type"},
|
||||
{"can.not.specify.Principal.with.a.",
|
||||
"can not specify Principal with a "},
|
||||
{"wildcard class without a wildcard name",
|
||||
{"wildcard.class.without.a.wildcard.name",
|
||||
"wildcard class without a wildcard name"},
|
||||
{"expected codeBase or SignedBy", "expected codeBase or SignedBy"},
|
||||
{"only Principal-based grant entries permitted",
|
||||
{"expected.codeBase.or.SignedBy", "expected codeBase or SignedBy"},
|
||||
{"only.Principal.based.grant.entries.permitted",
|
||||
"only Principal-based grant entries permitted"},
|
||||
{"expected permission entry", "expected permission entry"},
|
||||
{"number ", "number "},
|
||||
{"expected ", "expected "},
|
||||
{", read end of file", ", read end of file"},
|
||||
{"expected ';', read end of file", "expected ';', read end of file"},
|
||||
{"line ", "line "},
|
||||
{": expected '", ": expected '"},
|
||||
{"', found '", "', found '"},
|
||||
{"'", "'"},
|
||||
{"expected.permission.entry", "expected permission entry"},
|
||||
{"number.", "number "},
|
||||
{"expected.", "expected "},
|
||||
{".read.end.of.file", ", read end of file"},
|
||||
{"expected.read.end.of.file", "expected ';', read end of file"},
|
||||
{"line.", "line "},
|
||||
{".expected.", ": expected '"},
|
||||
{".found.", "', found '"},
|
||||
{"QUOTE", "'"},
|
||||
|
||||
// SolarisPrincipals
|
||||
{"SolarisNumericGroupPrincipal [Primary Group]: ",
|
||||
{"SolarisNumericGroupPrincipal.Primary.Group.",
|
||||
"SolarisNumericGroupPrincipal [Primary Group]: "},
|
||||
{"SolarisNumericGroupPrincipal [Supplementary Group]: ",
|
||||
{"SolarisNumericGroupPrincipal.Supplementary.Group.",
|
||||
"SolarisNumericGroupPrincipal [Supplementary Group]: "},
|
||||
{"SolarisNumericUserPrincipal: ",
|
||||
{"SolarisNumericUserPrincipal.",
|
||||
"SolarisNumericUserPrincipal: "},
|
||||
{"SolarisPrincipal: ", "SolarisPrincipal: "},
|
||||
{"provided null name", "provided null name"}
|
||||
{"SolarisPrincipal.", "SolarisPrincipal: "},
|
||||
{"provided.null.name", "provided null name"}
|
||||
|
||||
};
|
||||
|
||||
|
@ -35,434 +35,428 @@ public class Resources extends java.util.ListResourceBundle {
|
||||
private static final Object[][] contents = {
|
||||
|
||||
// shared (from jarsigner)
|
||||
{" ", " "},
|
||||
{" ", " "},
|
||||
{" ", " "},
|
||||
{", ", ", "},
|
||||
{"SPACE", " "},
|
||||
{"2SPACE", " "},
|
||||
{"6SPACE", " "},
|
||||
{"COMMA", ", "},
|
||||
// shared (from keytool)
|
||||
{"\n", "\n"},
|
||||
{"*******************************************",
|
||||
{"NEWLINE", "\n"},
|
||||
{"STAR",
|
||||
"*******************************************"},
|
||||
{"*******************************************\n\n",
|
||||
{"STARNN",
|
||||
"*******************************************\n\n"},
|
||||
|
||||
// keytool: Help part
|
||||
{" [OPTION]...", " [OPTION]..."},
|
||||
{"Options:", "Options:"},
|
||||
{"Use \"keytool -help\" for all available commands",
|
||||
{".OPTION.", " [OPTION]..."},
|
||||
{"Options.", "Options:"},
|
||||
{"Use.keytool.help.for.all.available.commands",
|
||||
"Use \"keytool -help\" for all available commands"},
|
||||
{"Key and Certificate Management Tool",
|
||||
{"Key.and.Certificate.Management.Tool",
|
||||
"Key and Certificate Management Tool"},
|
||||
{"Commands:", "Commands:"},
|
||||
{"Use \"keytool -command_name -help\" for usage of command_name",
|
||||
{"Commands.", "Commands:"},
|
||||
{"Use.keytool.command.name.help.for.usage.of.command.name",
|
||||
"Use \"keytool -command_name -help\" for usage of command_name"},
|
||||
// keytool: help: commands
|
||||
{"Generates a certificate request",
|
||||
{"Generates.a.certificate.request",
|
||||
"Generates a certificate request"}, //-certreq
|
||||
{"Changes an entry's alias",
|
||||
{"Changes.an.entry.s.alias",
|
||||
"Changes an entry's alias"}, //-changealias
|
||||
{"Deletes an entry",
|
||||
{"Deletes.an.entry",
|
||||
"Deletes an entry"}, //-delete
|
||||
{"Exports certificate",
|
||||
{"Exports.certificate",
|
||||
"Exports certificate"}, //-exportcert
|
||||
{"Generates a key pair",
|
||||
{"Generates.a.key.pair",
|
||||
"Generates a key pair"}, //-genkeypair
|
||||
{"Generates a secret key",
|
||||
{"Generates.a.secret.key",
|
||||
"Generates a secret key"}, //-genseckey
|
||||
{"Generates certificate from a certificate request",
|
||||
{"Generates.certificate.from.a.certificate.request",
|
||||
"Generates certificate from a certificate request"}, //-gencert
|
||||
{"Generates CRL", "Generates CRL"}, //-gencrl
|
||||
{"Imports entries from a JDK 1.1.x-style identity database",
|
||||
{"Generates.CRL", "Generates CRL"}, //-gencrl
|
||||
{"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
|
||||
"Imports entries from a JDK 1.1.x-style identity database"}, //-identitydb
|
||||
{"Imports a certificate or a certificate chain",
|
||||
{"Imports.a.certificate.or.a.certificate.chain",
|
||||
"Imports a certificate or a certificate chain"}, //-importcert
|
||||
{"Imports one or all entries from another keystore",
|
||||
{"Imports.one.or.all.entries.from.another.keystore",
|
||||
"Imports one or all entries from another keystore"}, //-importkeystore
|
||||
{"Clones a key entry",
|
||||
{"Clones.a.key.entry",
|
||||
"Clones a key entry"}, //-keyclone
|
||||
{"Changes the key password of an entry",
|
||||
{"Changes.the.key.password.of.an.entry",
|
||||
"Changes the key password of an entry"}, //-keypasswd
|
||||
{"Lists entries in a keystore",
|
||||
{"Lists.entries.in.a.keystore",
|
||||
"Lists entries in a keystore"}, //-list
|
||||
{"Prints the content of a certificate",
|
||||
{"Prints.the.content.of.a.certificate",
|
||||
"Prints the content of a certificate"}, //-printcert
|
||||
{"Prints the content of a certificate request",
|
||||
{"Prints.the.content.of.a.certificate.request",
|
||||
"Prints the content of a certificate request"}, //-printcertreq
|
||||
{"Prints the content of a CRL file",
|
||||
{"Prints.the.content.of.a.CRL.file",
|
||||
"Prints the content of a CRL file"}, //-printcrl
|
||||
{"Generates a self-signed certificate",
|
||||
{"Generates.a.self.signed.certificate",
|
||||
"Generates a self-signed certificate"}, //-selfcert
|
||||
{"Changes the store password of a keystore",
|
||||
{"Changes.the.store.password.of.a.keystore",
|
||||
"Changes the store password of a keystore"}, //-storepasswd
|
||||
// keytool: help: options
|
||||
{"alias name of the entry to process",
|
||||
{"alias.name.of.the.entry.to.process",
|
||||
"alias name of the entry to process"}, //-alias
|
||||
{"destination alias",
|
||||
{"destination.alias",
|
||||
"destination alias"}, //-destalias
|
||||
{"destination key password",
|
||||
{"destination.key.password",
|
||||
"destination key password"}, //-destkeypass
|
||||
{"destination keystore name",
|
||||
{"destination.keystore.name",
|
||||
"destination keystore name"}, //-destkeystore
|
||||
{"destination keystore password protected",
|
||||
{"destination.keystore.password.protected",
|
||||
"destination keystore password protected"}, //-destprotected
|
||||
{"destination keystore provider name",
|
||||
{"destination.keystore.provider.name",
|
||||
"destination keystore provider name"}, //-destprovidername
|
||||
{"destination keystore password",
|
||||
{"destination.keystore.password",
|
||||
"destination keystore password"}, //-deststorepass
|
||||
{"destination keystore type",
|
||||
{"destination.keystore.type",
|
||||
"destination keystore type"}, //-deststoretype
|
||||
{"distinguished name",
|
||||
{"distinguished.name",
|
||||
"distinguished name"}, //-dname
|
||||
{"X.509 extension",
|
||||
{"X.509.extension",
|
||||
"X.509 extension"}, //-ext
|
||||
{"output file name",
|
||||
{"output.file.name",
|
||||
"output file name"}, //-file and -outfile
|
||||
{"input file name",
|
||||
{"input.file.name",
|
||||
"input file name"}, //-file and -infile
|
||||
{"key algorithm name",
|
||||
{"key.algorithm.name",
|
||||
"key algorithm name"}, //-keyalg
|
||||
{"key password",
|
||||
{"key.password",
|
||||
"key password"}, //-keypass
|
||||
{"key bit size",
|
||||
{"key.bit.size",
|
||||
"key bit size"}, //-keysize
|
||||
{"keystore name",
|
||||
{"keystore.name",
|
||||
"keystore name"}, //-keystore
|
||||
{"new password",
|
||||
{"new.password",
|
||||
"new password"}, //-new
|
||||
{"do not prompt",
|
||||
{"do.not.prompt",
|
||||
"do not prompt"}, //-noprompt
|
||||
{"password through protected mechanism",
|
||||
{"password.through.protected.mechanism",
|
||||
"password through protected mechanism"}, //-protected
|
||||
{"provider argument",
|
||||
{"provider.argument",
|
||||
"provider argument"}, //-providerarg
|
||||
{"provider class name",
|
||||
{"provider.class.name",
|
||||
"provider class name"}, //-providerclass
|
||||
{"provider name",
|
||||
{"provider.name",
|
||||
"provider name"}, //-providername
|
||||
{"provider classpath",
|
||||
{"provider.classpath",
|
||||
"provider classpath"}, //-providerpath
|
||||
{"output in RFC style",
|
||||
{"output.in.RFC.style",
|
||||
"output in RFC style"}, //-rfc
|
||||
{"signature algorithm name",
|
||||
{"signature.algorithm.name",
|
||||
"signature algorithm name"}, //-sigalg
|
||||
{"source alias",
|
||||
{"source.alias",
|
||||
"source alias"}, //-srcalias
|
||||
{"source key password",
|
||||
{"source.key.password",
|
||||
"source key password"}, //-srckeypass
|
||||
{"source keystore name",
|
||||
{"source.keystore.name",
|
||||
"source keystore name"}, //-srckeystore
|
||||
{"source keystore password protected",
|
||||
{"source.keystore.password.protected",
|
||||
"source keystore password protected"}, //-srcprotected
|
||||
{"source keystore provider name",
|
||||
{"source.keystore.provider.name",
|
||||
"source keystore provider name"}, //-srcprovidername
|
||||
{"source keystore password",
|
||||
{"source.keystore.password",
|
||||
"source keystore password"}, //-srcstorepass
|
||||
{"source keystore type",
|
||||
{"source.keystore.type",
|
||||
"source keystore type"}, //-srcstoretype
|
||||
{"SSL server host and port",
|
||||
{"SSL.server.host.and.port",
|
||||
"SSL server host and port"}, //-sslserver
|
||||
{"signed jar file",
|
||||
{"signed.jar.file",
|
||||
"signed jar file"}, //=jarfile
|
||||
{"certificate validity start date/time",
|
||||
{"certificate.validity.start.date.time",
|
||||
"certificate validity start date/time"}, //-startdate
|
||||
{"keystore password",
|
||||
{"keystore.password",
|
||||
"keystore password"}, //-storepass
|
||||
{"keystore type",
|
||||
{"keystore.type",
|
||||
"keystore type"}, //-storetype
|
||||
{"trust certificates from cacerts",
|
||||
{"trust.certificates.from.cacerts",
|
||||
"trust certificates from cacerts"}, //-trustcacerts
|
||||
{"verbose output",
|
||||
{"verbose.output",
|
||||
"verbose output"}, //-v
|
||||
{"validity number of days",
|
||||
{"validity.number.of.days",
|
||||
"validity number of days"}, //-validity
|
||||
{"Serial ID of cert to revoke",
|
||||
{"Serial.ID.of.cert.to.revoke",
|
||||
"Serial ID of cert to revoke"}, //-id
|
||||
// keytool: Running part
|
||||
{"keytool error: ", "keytool error: "},
|
||||
{"Illegal option: ", "Illegal option: "},
|
||||
{"Illegal value: ", "Illegal value: "},
|
||||
{"Unknown password type: ", "Unknown password type: "},
|
||||
{"Cannot find environment variable: ",
|
||||
{"keytool.error.", "keytool error: "},
|
||||
{"Illegal.option.", "Illegal option: "},
|
||||
{"Illegal.value.", "Illegal value: "},
|
||||
{"Unknown.password.type.", "Unknown password type: "},
|
||||
{"Cannot.find.environment.variable.",
|
||||
"Cannot find environment variable: "},
|
||||
{"Cannot find file: ", "Cannot find file: "},
|
||||
{"Command option <flag> needs an argument.", "Command option {0} needs an argument."},
|
||||
{"Warning: Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified <command> value.",
|
||||
{"Cannot.find.file.", "Cannot find file: "},
|
||||
{"Command.option.flag.needs.an.argument.", "Command option {0} needs an argument."},
|
||||
{"Warning.Different.store.and.key.passwords.not.supported.for.PKCS12.KeyStores.Ignoring.user.specified.command.value.",
|
||||
"Warning: Different store and key passwords not supported for PKCS12 KeyStores. Ignoring user-specified {0} value."},
|
||||
{"-keystore must be NONE if -storetype is {0}",
|
||||
{".keystore.must.be.NONE.if.storetype.is.{0}",
|
||||
"-keystore must be NONE if -storetype is {0}"},
|
||||
{"Too many retries, program terminated",
|
||||
{"Too.many.retries.program.terminated",
|
||||
"Too many retries, program terminated"},
|
||||
{"-storepasswd and -keypasswd commands not supported if -storetype is {0}",
|
||||
{".storepasswd.and.keypasswd.commands.not.supported.if.storetype.is.{0}",
|
||||
"-storepasswd and -keypasswd commands not supported if -storetype is {0}"},
|
||||
{"-keypasswd commands not supported if -storetype is PKCS12",
|
||||
{".keypasswd.commands.not.supported.if.storetype.is.PKCS12",
|
||||
"-keypasswd commands not supported if -storetype is PKCS12"},
|
||||
{"-keypass and -new can not be specified if -storetype is {0}",
|
||||
{".keypass.and.new.can.not.be.specified.if.storetype.is.{0}",
|
||||
"-keypass and -new can not be specified if -storetype is {0}"},
|
||||
{"if -protected is specified, then -storepass, -keypass, and -new must not be specified",
|
||||
{"if.protected.is.specified.then.storepass.keypass.and.new.must.not.be.specified",
|
||||
"if -protected is specified, then -storepass, -keypass, and -new must not be specified"},
|
||||
{"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified",
|
||||
{"if.srcprotected.is.specified.then.srcstorepass.and.srckeypass.must.not.be.specified",
|
||||
"if -srcprotected is specified, then -srcstorepass and -srckeypass must not be specified"},
|
||||
{"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified",
|
||||
{"if.keystore.is.not.password.protected.then.storepass.keypass.and.new.must.not.be.specified",
|
||||
"if keystore is not password protected, then -storepass, -keypass, and -new must not be specified"},
|
||||
{"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified",
|
||||
{"if.source.keystore.is.not.password.protected.then.srcstorepass.and.srckeypass.must.not.be.specified",
|
||||
"if source keystore is not password protected, then -srcstorepass and -srckeypass must not be specified"},
|
||||
{"Illegal startdate value", "Illegal startdate value"},
|
||||
{"Validity must be greater than zero",
|
||||
{"Illegal.startdate.value", "Illegal startdate value"},
|
||||
{"Validity.must.be.greater.than.zero",
|
||||
"Validity must be greater than zero"},
|
||||
{"provName not a provider", "{0} not a provider"},
|
||||
{"Usage error: no command provided", "Usage error: no command provided"},
|
||||
{"Source keystore file exists, but is empty: ", "Source keystore file exists, but is empty: "},
|
||||
{"Please specify -srckeystore", "Please specify -srckeystore"},
|
||||
{"Must not specify both -v and -rfc with 'list' command",
|
||||
{"provName.not.a.provider", "{0} not a provider"},
|
||||
{"Usage.error.no.command.provided", "Usage error: no command provided"},
|
||||
{"Source.keystore.file.exists.but.is.empty.", "Source keystore file exists, but is empty: "},
|
||||
{"Please.specify.srckeystore", "Please specify -srckeystore"},
|
||||
{"Must.not.specify.both.v.and.rfc.with.list.command",
|
||||
"Must not specify both -v and -rfc with 'list' command"},
|
||||
{"Key password must be at least 6 characters",
|
||||
{"Key.password.must.be.at.least.6.characters",
|
||||
"Key password must be at least 6 characters"},
|
||||
{"New password must be at least 6 characters",
|
||||
{"New.password.must.be.at.least.6.characters",
|
||||
"New password must be at least 6 characters"},
|
||||
{"Keystore file exists, but is empty: ",
|
||||
{"Keystore.file.exists.but.is.empty.",
|
||||
"Keystore file exists, but is empty: "},
|
||||
{"Keystore file does not exist: ",
|
||||
{"Keystore.file.does.not.exist.",
|
||||
"Keystore file does not exist: "},
|
||||
{"Must specify destination alias", "Must specify destination alias"},
|
||||
{"Must specify alias", "Must specify alias"},
|
||||
{"Keystore password must be at least 6 characters",
|
||||
{"Must.specify.destination.alias", "Must specify destination alias"},
|
||||
{"Must.specify.alias", "Must specify alias"},
|
||||
{"Keystore.password.must.be.at.least.6.characters",
|
||||
"Keystore password must be at least 6 characters"},
|
||||
{"Enter keystore password: ", "Enter keystore password: "},
|
||||
{"Enter source keystore password: ", "Enter source keystore password: "},
|
||||
{"Enter destination keystore password: ", "Enter destination keystore password: "},
|
||||
{"Keystore password is too short - must be at least 6 characters",
|
||||
{"Enter.keystore.password.", "Enter keystore password: "},
|
||||
{"Enter.source.keystore.password.", "Enter source keystore password: "},
|
||||
{"Enter.destination.keystore.password.", "Enter destination keystore password: "},
|
||||
{"Keystore.password.is.too.short.must.be.at.least.6.characters",
|
||||
"Keystore password is too short - must be at least 6 characters"},
|
||||
{"Unknown Entry Type", "Unknown Entry Type"},
|
||||
{"Too many failures. Alias not changed", "Too many failures. Alias not changed"},
|
||||
{"Entry for alias <alias> successfully imported.",
|
||||
{"Unknown.Entry.Type", "Unknown Entry Type"},
|
||||
{"Too.many.failures.Alias.not.changed", "Too many failures. Alias not changed"},
|
||||
{"Entry.for.alias.alias.successfully.imported.",
|
||||
"Entry for alias {0} successfully imported."},
|
||||
{"Entry for alias <alias> not imported.", "Entry for alias {0} not imported."},
|
||||
{"Problem importing entry for alias <alias>: <exception>.\nEntry for alias <alias> not imported.",
|
||||
{"Entry.for.alias.alias.not.imported.", "Entry for alias {0} not imported."},
|
||||
{"Problem.importing.entry.for.alias.alias.exception.Entry.for.alias.alias.not.imported.",
|
||||
"Problem importing entry for alias {0}: {1}.\nEntry for alias {0} not imported."},
|
||||
{"Import command completed: <ok> entries successfully imported, <fail> entries failed or cancelled",
|
||||
{"Import.command.completed.ok.entries.successfully.imported.fail.entries.failed.or.cancelled",
|
||||
"Import command completed: {0} entries successfully imported, {1} entries failed or cancelled"},
|
||||
{"Warning: Overwriting existing alias <alias> in destination keystore",
|
||||
{"Warning.Overwriting.existing.alias.alias.in.destination.keystore",
|
||||
"Warning: Overwriting existing alias {0} in destination keystore"},
|
||||
{"Existing entry alias <alias> exists, overwrite? [no]: ",
|
||||
{"Existing.entry.alias.alias.exists.overwrite.no.",
|
||||
"Existing entry alias {0} exists, overwrite? [no]: "},
|
||||
{"Too many failures - try later", "Too many failures - try later"},
|
||||
{"Certification request stored in file <filename>",
|
||||
{"Too.many.failures.try.later", "Too many failures - try later"},
|
||||
{"Certification.request.stored.in.file.filename.",
|
||||
"Certification request stored in file <{0}>"},
|
||||
{"Submit this to your CA", "Submit this to your CA"},
|
||||
{"if alias not specified, destalias, srckeypass, and destkeypass must not be specified",
|
||||
{"Submit.this.to.your.CA", "Submit this to your CA"},
|
||||
{"if.alias.not.specified.destalias.srckeypass.and.destkeypass.must.not.be.specified",
|
||||
"if alias not specified, destalias, srckeypass, and destkeypass must not be specified"},
|
||||
{"Certificate stored in file <filename>",
|
||||
{"Certificate.stored.in.file.filename.",
|
||||
"Certificate stored in file <{0}>"},
|
||||
{"Certificate reply was installed in keystore",
|
||||
{"Certificate.reply.was.installed.in.keystore",
|
||||
"Certificate reply was installed in keystore"},
|
||||
{"Certificate reply was not installed in keystore",
|
||||
{"Certificate.reply.was.not.installed.in.keystore",
|
||||
"Certificate reply was not installed in keystore"},
|
||||
{"Certificate was added to keystore",
|
||||
{"Certificate.was.added.to.keystore",
|
||||
"Certificate was added to keystore"},
|
||||
{"Certificate was not added to keystore",
|
||||
{"Certificate.was.not.added.to.keystore",
|
||||
"Certificate was not added to keystore"},
|
||||
{"[Storing ksfname]", "[Storing {0}]"},
|
||||
{"alias has no public key (certificate)",
|
||||
{".Storing.ksfname.", "[Storing {0}]"},
|
||||
{"alias.has.no.public.key.certificate.",
|
||||
"{0} has no public key (certificate)"},
|
||||
{"Cannot derive signature algorithm",
|
||||
{"Cannot.derive.signature.algorithm",
|
||||
"Cannot derive signature algorithm"},
|
||||
{"Alias <alias> does not exist",
|
||||
{"Alias.alias.does.not.exist",
|
||||
"Alias <{0}> does not exist"},
|
||||
{"Alias <alias> has no certificate",
|
||||
{"Alias.alias.has.no.certificate",
|
||||
"Alias <{0}> has no certificate"},
|
||||
{"Key pair not generated, alias <alias> already exists",
|
||||
{"Key.pair.not.generated.alias.alias.already.exists",
|
||||
"Key pair not generated, alias <{0}> already exists"},
|
||||
{"Generating keysize bit keyAlgName key pair and self-signed certificate (sigAlgName) with a validity of validality days\n\tfor: x500Name",
|
||||
{"Generating.keysize.bit.keyAlgName.key.pair.and.self.signed.certificate.sigAlgName.with.a.validity.of.validality.days.for",
|
||||
"Generating {0} bit {1} key pair and self-signed certificate ({2}) with a validity of {3} days\n\tfor: {4}"},
|
||||
{"Enter key password for <alias>", "Enter key password for <{0}>"},
|
||||
{"\t(RETURN if same as keystore password): ",
|
||||
{"Enter.key.password.for.alias.", "Enter key password for <{0}>"},
|
||||
{".RETURN.if.same.as.keystore.password.",
|
||||
"\t(RETURN if same as keystore password): "},
|
||||
{"Key password is too short - must be at least 6 characters",
|
||||
{"Key.password.is.too.short.must.be.at.least.6.characters",
|
||||
"Key password is too short - must be at least 6 characters"},
|
||||
{"Too many failures - key not added to keystore",
|
||||
{"Too.many.failures.key.not.added.to.keystore",
|
||||
"Too many failures - key not added to keystore"},
|
||||
{"Destination alias <dest> already exists",
|
||||
{"Destination.alias.dest.already.exists",
|
||||
"Destination alias <{0}> already exists"},
|
||||
{"Password is too short - must be at least 6 characters",
|
||||
{"Password.is.too.short.must.be.at.least.6.characters",
|
||||
"Password is too short - must be at least 6 characters"},
|
||||
{"Too many failures. Key entry not cloned",
|
||||
{"Too.many.failures.Key.entry.not.cloned",
|
||||
"Too many failures. Key entry not cloned"},
|
||||
{"key password for <alias>", "key password for <{0}>"},
|
||||
{"Keystore entry for <id.getName()> already exists",
|
||||
{"key.password.for.alias.", "key password for <{0}>"},
|
||||
{"Keystore.entry.for.id.getName.already.exists",
|
||||
"Keystore entry for <{0}> already exists"},
|
||||
{"Creating keystore entry for <id.getName()> ...",
|
||||
{"Creating.keystore.entry.for.id.getName.",
|
||||
"Creating keystore entry for <{0}> ..."},
|
||||
{"No entries from identity database added",
|
||||
{"No.entries.from.identity.database.added",
|
||||
"No entries from identity database added"},
|
||||
{"Alias name: alias", "Alias name: {0}"},
|
||||
{"Creation date: keyStore.getCreationDate(alias)",
|
||||
{"Alias.name.alias", "Alias name: {0}"},
|
||||
{"Creation.date.keyStore.getCreationDate.alias.",
|
||||
"Creation date: {0,date}"},
|
||||
{"alias, keyStore.getCreationDate(alias), ",
|
||||
{"alias.keyStore.getCreationDate.alias.",
|
||||
"{0}, {1,date}, "},
|
||||
{"alias, ", "{0}, "},
|
||||
{"Entry type: <type>", "Entry type: {0}"},
|
||||
{"Certificate chain length: ", "Certificate chain length: "},
|
||||
{"Certificate[(i + 1)]:", "Certificate[{0,number,integer}]:"},
|
||||
{"Certificate fingerprint (SHA1): ", "Certificate fingerprint (SHA1): "},
|
||||
{"Entry type: trustedCertEntry\n", "Entry type: trustedCertEntry\n"},
|
||||
{"trustedCertEntry,", "trustedCertEntry,"},
|
||||
{"Keystore type: ", "Keystore type: "},
|
||||
{"Keystore provider: ", "Keystore provider: "},
|
||||
{"Your keystore contains keyStore.size() entry",
|
||||
{"alias.", "{0}, "},
|
||||
{"Entry.type.type.", "Entry type: {0}"},
|
||||
{"Certificate.chain.length.", "Certificate chain length: "},
|
||||
{"Certificate.i.1.", "Certificate[{0,number,integer}]:"},
|
||||
{"Certificate.fingerprint.SHA1.", "Certificate fingerprint (SHA1): "},
|
||||
{"Entry.type.trustedCertEntry.", "Entry type: trustedCertEntry\n"},
|
||||
{"trustedCertEntry.", "trustedCertEntry,"},
|
||||
{"Keystore.type.", "Keystore type: "},
|
||||
{"Keystore.provider.", "Keystore provider: "},
|
||||
{"Your.keystore.contains.keyStore.size.entry",
|
||||
"Your keystore contains {0,number,integer} entry"},
|
||||
{"Your keystore contains keyStore.size() entries",
|
||||
{"Your.keystore.contains.keyStore.size.entries",
|
||||
"Your keystore contains {0,number,integer} entries"},
|
||||
{"Failed to parse input", "Failed to parse input"},
|
||||
{"Empty input", "Empty input"},
|
||||
{"Not X.509 certificate", "Not X.509 certificate"},
|
||||
{"alias has no public key", "{0} has no public key"},
|
||||
{"alias has no X.509 certificate", "{0} has no X.509 certificate"},
|
||||
{"New certificate (self-signed):", "New certificate (self-signed):"},
|
||||
{"Reply has no certificates", "Reply has no certificates"},
|
||||
{"Certificate not imported, alias <alias> already exists",
|
||||
{"Failed.to.parse.input", "Failed to parse input"},
|
||||
{"Empty.input", "Empty input"},
|
||||
{"Not.X.509.certificate", "Not X.509 certificate"},
|
||||
{"alias.has.no.public.key", "{0} has no public key"},
|
||||
{"alias.has.no.X.509.certificate", "{0} has no X.509 certificate"},
|
||||
{"New.certificate.self.signed.", "New certificate (self-signed):"},
|
||||
{"Reply.has.no.certificates", "Reply has no certificates"},
|
||||
{"Certificate.not.imported.alias.alias.already.exists",
|
||||
"Certificate not imported, alias <{0}> already exists"},
|
||||
{"Input not an X.509 certificate", "Input not an X.509 certificate"},
|
||||
{"Certificate already exists in keystore under alias <trustalias>",
|
||||
{"Input.not.an.X.509.certificate", "Input not an X.509 certificate"},
|
||||
{"Certificate.already.exists.in.keystore.under.alias.trustalias.",
|
||||
"Certificate already exists in keystore under alias <{0}>"},
|
||||
{"Do you still want to add it? [no]: ",
|
||||
{"Do.you.still.want.to.add.it.no.",
|
||||
"Do you still want to add it? [no]: "},
|
||||
{"Certificate already exists in system-wide CA keystore under alias <trustalias>",
|
||||
{"Certificate.already.exists.in.system.wide.CA.keystore.under.alias.trustalias.",
|
||||
"Certificate already exists in system-wide CA keystore under alias <{0}>"},
|
||||
{"Do you still want to add it to your own keystore? [no]: ",
|
||||
{"Do.you.still.want.to.add.it.to.your.own.keystore.no.",
|
||||
"Do you still want to add it to your own keystore? [no]: "},
|
||||
{"Trust this certificate? [no]: ", "Trust this certificate? [no]: "},
|
||||
{"Trust.this.certificate.no.", "Trust this certificate? [no]: "},
|
||||
{"YES", "YES"},
|
||||
{"New prompt: ", "New {0}: "},
|
||||
{"Passwords must differ", "Passwords must differ"},
|
||||
{"Re-enter new prompt: ", "Re-enter new {0}: "},
|
||||
{"Re-enter new password: ", "Re-enter new password: "},
|
||||
{"They don't match. Try again", "They don't match. Try again"},
|
||||
{"Enter prompt alias name: ", "Enter {0} alias name: "},
|
||||
{"Enter new alias name\t(RETURN to cancel import for this entry): ",
|
||||
{"New.prompt.", "New {0}: "},
|
||||
{"Passwords.must.differ", "Passwords must differ"},
|
||||
{"Re.enter.new.prompt.", "Re-enter new {0}: "},
|
||||
{"Re.enter.new.password.", "Re-enter new password: "},
|
||||
{"They.don.t.match.Try.again", "They don't match. Try again"},
|
||||
{"Enter.prompt.alias.name.", "Enter {0} alias name: "},
|
||||
{"Enter.new.alias.name.RETURN.to.cancel.import.for.this.entry.",
|
||||
"Enter new alias name\t(RETURN to cancel import for this entry): "},
|
||||
{"Enter alias name: ", "Enter alias name: "},
|
||||
{"\t(RETURN if same as for <otherAlias>)",
|
||||
{"Enter.alias.name.", "Enter alias name: "},
|
||||
{".RETURN.if.same.as.for.otherAlias.",
|
||||
"\t(RETURN if same as for <{0}>)"},
|
||||
{"*PATTERN* printX509Cert",
|
||||
{".PATTERN.printX509Cert",
|
||||
"Owner: {0}\nIssuer: {1}\nSerial number: {2}\nValid from: {3} until: {4}\nCertificate fingerprints:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Signature algorithm name: {8}\n\t Version: {9}"},
|
||||
{"What is your first and last name?",
|
||||
{"What.is.your.first.and.last.name.",
|
||||
"What is your first and last name?"},
|
||||
{"What is the name of your organizational unit?",
|
||||
{"What.is.the.name.of.your.organizational.unit.",
|
||||
"What is the name of your organizational unit?"},
|
||||
{"What is the name of your organization?",
|
||||
{"What.is.the.name.of.your.organization.",
|
||||
"What is the name of your organization?"},
|
||||
{"What is the name of your City or Locality?",
|
||||
{"What.is.the.name.of.your.City.or.Locality.",
|
||||
"What is the name of your City or Locality?"},
|
||||
{"What is the name of your State or Province?",
|
||||
{"What.is.the.name.of.your.State.or.Province.",
|
||||
"What is the name of your State or Province?"},
|
||||
{"What is the two-letter country code for this unit?",
|
||||
{"What.is.the.two.letter.country.code.for.this.unit.",
|
||||
"What is the two-letter country code for this unit?"},
|
||||
{"Is <name> correct?", "Is {0} correct?"},
|
||||
{"Is.name.correct.", "Is {0} correct?"},
|
||||
{"no", "no"},
|
||||
{"yes", "yes"},
|
||||
{"y", "y"},
|
||||
{" [defaultValue]: ", " [{0}]: "},
|
||||
{"Alias <alias> has no key",
|
||||
{".defaultValue.", " [{0}]: "},
|
||||
{"Alias.alias.has.no.key",
|
||||
"Alias <{0}> has no key"},
|
||||
{"Alias <alias> references an entry type that is not a private key entry. The -keyclone command only supports cloning of private key entries",
|
||||
{"Alias.alias.references.an.entry.type.that.is.not.a.private.key.entry.The.keyclone.command.only.supports.cloning.of.private.key",
|
||||
"Alias <{0}> references an entry type that is not a private key entry. The -keyclone command only supports cloning of private key entries"},
|
||||
|
||||
{"***************** WARNING WARNING WARNING *****************",
|
||||
{".WARNING.WARNING.WARNING.",
|
||||
"***************** WARNING WARNING WARNING *****************"},
|
||||
{"Signer #%d:", "Signer #%d:"},
|
||||
{"Timestamp:", "Timestamp:"},
|
||||
{"Signature:", "Signature:"},
|
||||
{"CRLs:", "CRLs:"},
|
||||
{"Certificate owner: ", "Certificate owner: "},
|
||||
{"Not a signed jar file", "Not a signed jar file"},
|
||||
{"No certificate from the SSL server",
|
||||
{"Signer.d.", "Signer #%d:"},
|
||||
{"Timestamp.", "Timestamp:"},
|
||||
{"Signature.", "Signature:"},
|
||||
{"CRLs.", "CRLs:"},
|
||||
{"Certificate.owner.", "Certificate owner: "},
|
||||
{"Not.a.signed.jar.file", "Not a signed jar file"},
|
||||
{"No.certificate.from.the.SSL.server",
|
||||
"No certificate from the SSL server"},
|
||||
|
||||
// Translators of the following 5 pairs, ATTENTION:
|
||||
// the next 5 string pairs are meant to be combined into 2 paragraphs,
|
||||
// 1+3+4 and 2+3+5. make sure your translation also does.
|
||||
{"* The integrity of the information stored in your keystore *",
|
||||
{".The.integrity.of.the.information.stored.in.your.keystore.",
|
||||
"* The integrity of the information stored in your keystore *"},
|
||||
{"* The integrity of the information stored in the srckeystore*",
|
||||
{".The.integrity.of.the.information.stored.in.the.srckeystore.",
|
||||
"* The integrity of the information stored in the srckeystore*"},
|
||||
{"* has NOT been verified! In order to verify its integrity, *",
|
||||
{".has.NOT.been.verified.In.order.to.verify.its.integrity.",
|
||||
"* has NOT been verified! In order to verify its integrity, *"},
|
||||
{"* you must provide your keystore password. *",
|
||||
{".you.must.provide.your.keystore.password.",
|
||||
"* you must provide your keystore password. *"},
|
||||
{"* you must provide the srckeystore password. *",
|
||||
{".you.must.provide.the.srckeystore.password.",
|
||||
"* you must provide the srckeystore password. *"},
|
||||
|
||||
|
||||
{"Certificate reply does not contain public key for <alias>",
|
||||
{"Certificate.reply.does.not.contain.public.key.for.alias.",
|
||||
"Certificate reply does not contain public key for <{0}>"},
|
||||
{"Incomplete certificate chain in reply",
|
||||
{"Incomplete.certificate.chain.in.reply",
|
||||
"Incomplete certificate chain in reply"},
|
||||
{"Certificate chain in reply does not verify: ",
|
||||
{"Certificate.chain.in.reply.does.not.verify.",
|
||||
"Certificate chain in reply does not verify: "},
|
||||
{"Top-level certificate in reply:\n",
|
||||
{"Top.level.certificate.in.reply.",
|
||||
"Top-level certificate in reply:\n"},
|
||||
{"... is not trusted. ", "... is not trusted. "},
|
||||
{"Install reply anyway? [no]: ", "Install reply anyway? [no]: "},
|
||||
{".is.not.trusted.", "... is not trusted. "},
|
||||
{"Install.reply.anyway.no.", "Install reply anyway? [no]: "},
|
||||
{"NO", "NO"},
|
||||
{"Public keys in reply and keystore don't match",
|
||||
{"Public.keys.in.reply.and.keystore.don.t.match",
|
||||
"Public keys in reply and keystore don't match"},
|
||||
{"Certificate reply and certificate in keystore are identical",
|
||||
{"Certificate.reply.and.certificate.in.keystore.are.identical",
|
||||
"Certificate reply and certificate in keystore are identical"},
|
||||
{"Failed to establish chain from reply",
|
||||
{"Failed.to.establish.chain.from.reply",
|
||||
"Failed to establish chain from reply"},
|
||||
{"n", "n"},
|
||||
{"Wrong answer, try again", "Wrong answer, try again"},
|
||||
{"Secret key not generated, alias <alias> already exists",
|
||||
{"Wrong.answer.try.again", "Wrong answer, try again"},
|
||||
{"Secret.key.not.generated.alias.alias.already.exists",
|
||||
"Secret Key not generated, alias <{0}> already exists"},
|
||||
{"Please provide -keysize for secret key generation",
|
||||
{"Please.provide.keysize.for.secret.key.generation",
|
||||
"Please provide -keysize for secret key generation"},
|
||||
|
||||
{"Extensions: ", "Extensions: "},
|
||||
{"(Empty value)", "(Empty value)"},
|
||||
{"Extension Request:", "Extension Request:"},
|
||||
{"PKCS #10 Certificate Request (Version 1.0)\n" +
|
||||
"Subject: %s\nPublic Key: %s format %s key\n",
|
||||
{"Extensions.", "Extensions: "},
|
||||
{".Empty.value.", "(Empty value)"},
|
||||
{"Extension.Request.", "Extension Request:"},
|
||||
{"PKCS.10.Certificate.Request.Version.1.0.Subject.s.Public.Key.s.format.s.key.",
|
||||
"PKCS #10 Certificate Request (Version 1.0)\n" +
|
||||
"Subject: %s\nPublic Key: %s format %s key\n"},
|
||||
{"Unknown keyUsage type: ", "Unknown keyUsage type: "},
|
||||
{"Unknown extendedkeyUsage type: ", "Unknown extendedkeyUsage type: "},
|
||||
{"Unknown AccessDescription type: ", "Unknown AccessDescription type: "},
|
||||
{"Unrecognized GeneralName type: ", "Unrecognized GeneralName type: "},
|
||||
{"This extension cannot be marked as critical. ",
|
||||
{"Unknown.keyUsage.type.", "Unknown keyUsage type: "},
|
||||
{"Unknown.extendedkeyUsage.type.", "Unknown extendedkeyUsage type: "},
|
||||
{"Unknown.AccessDescription.type.", "Unknown AccessDescription type: "},
|
||||
{"Unrecognized.GeneralName.type.", "Unrecognized GeneralName type: "},
|
||||
{"This.extension.cannot.be.marked.as.critical.",
|
||||
"This extension cannot be marked as critical. "},
|
||||
{"Odd number of hex digits found: ", "Odd number of hex digits found: "},
|
||||
{"Unknown extension type: ", "Unknown extension type: "},
|
||||
{"command {0} is ambiguous:", "command {0} is ambiguous:"},
|
||||
{"Odd.number.of.hex.digits.found.", "Odd number of hex digits found: "},
|
||||
{"Unknown.extension.type.", "Unknown extension type: "},
|
||||
{"command.{0}.is.ambiguous.", "command {0} is ambiguous:"},
|
||||
|
||||
// policytool
|
||||
{"Warning: A public key for alias 'signers[i]' does not exist. Make sure a KeyStore is properly configured.",
|
||||
{"Warning.A.public.key.for.alias.signers.i.does.not.exist.Make.sure.a.KeyStore.is.properly.configured.",
|
||||
"Warning: A public key for alias {0} does not exist. Make sure a KeyStore is properly configured."},
|
||||
{"Warning: Class not found: class", "Warning: Class not found: {0}"},
|
||||
{"Warning: Invalid argument(s) for constructor: arg",
|
||||
{"Warning.Class.not.found.class", "Warning: Class not found: {0}"},
|
||||
{"Warning.Invalid.argument.s.for.constructor.arg",
|
||||
"Warning: Invalid argument(s) for constructor: {0}"},
|
||||
{"Illegal Principal Type: type", "Illegal Principal Type: {0}"},
|
||||
{"Illegal option: option", "Illegal option: {0}"},
|
||||
{"Usage: policytool [options]", "Usage: policytool [options]"},
|
||||
{" [-file <file>] policy file location",
|
||||
{"Illegal.Principal.Type.type", "Illegal Principal Type: {0}"},
|
||||
{"Illegal.option.option", "Illegal option: {0}"},
|
||||
{"Usage.policytool.options.", "Usage: policytool [options]"},
|
||||
{".file.file.policy.file.location",
|
||||
" [-file <file>] policy file location"},
|
||||
{"New", "New"},
|
||||
{"Open", "Open"},
|
||||
{"Save", "Save"},
|
||||
{"Save As", "Save As"},
|
||||
{"View Warning Log", "View Warning Log"},
|
||||
{"Save.As", "Save As"},
|
||||
{"View.Warning.Log", "View Warning Log"},
|
||||
{"Exit", "Exit"},
|
||||
{"Add Policy Entry", "Add Policy Entry"},
|
||||
{"Edit Policy Entry", "Edit Policy Entry"},
|
||||
{"Remove Policy Entry", "Remove Policy Entry"},
|
||||
{"Add.Policy.Entry", "Add Policy Entry"},
|
||||
{"Edit.Policy.Entry", "Edit Policy Entry"},
|
||||
{"Remove.Policy.Entry", "Remove Policy Entry"},
|
||||
{"Edit", "Edit"},
|
||||
{"Retain", "Retain"},
|
||||
|
||||
{"Warning: File name may include escaped backslash characters. " +
|
||||
"It is not necessary to escape backslash characters " +
|
||||
"(the tool escapes characters as necessary when writing " +
|
||||
"the policy contents to the persistent store).\n\n" +
|
||||
"Click on Retain to retain the entered name, or click on " +
|
||||
"Edit to edit the name.",
|
||||
{"Warning.File.name.may.include.escaped.backslash.characters.It.is.not.necessary.to.escape.backslash.characters.the.tool.escapes",
|
||||
"Warning: File name may include escaped backslash characters. " +
|
||||
"It is not necessary to escape backslash characters " +
|
||||
"(the tool escapes characters as necessary when writing " +
|
||||
@ -470,203 +464,203 @@ public class Resources extends java.util.ListResourceBundle {
|
||||
"Click on Retain to retain the entered name, or click on " +
|
||||
"Edit to edit the name."},
|
||||
|
||||
{"Add Public Key Alias", "Add Public Key Alias"},
|
||||
{"Remove Public Key Alias", "Remove Public Key Alias"},
|
||||
{"Add.Public.Key.Alias", "Add Public Key Alias"},
|
||||
{"Remove.Public.Key.Alias", "Remove Public Key Alias"},
|
||||
{"File", "File"},
|
||||
{"KeyStore", "KeyStore"},
|
||||
{"Policy File:", "Policy File:"},
|
||||
{"Could not open policy file: policyFile: e.toString()",
|
||||
{"Policy.File.", "Policy File:"},
|
||||
{"Could.not.open.policy.file.policyFile.e.toString.",
|
||||
"Could not open policy file: {0}: {1}"},
|
||||
{"Policy Tool", "Policy Tool"},
|
||||
{"Errors have occurred while opening the policy configuration. View the Warning Log for more information.",
|
||||
{"Policy.Tool", "Policy Tool"},
|
||||
{"Errors.have.occurred.while.opening.the.policy.configuration.View.the.Warning.Log.for.more.information.",
|
||||
"Errors have occurred while opening the policy configuration. View the Warning Log for more information."},
|
||||
{"Error", "Error"},
|
||||
{"OK", "OK"},
|
||||
{"Status", "Status"},
|
||||
{"Warning", "Warning"},
|
||||
{"Permission: ",
|
||||
{"Permission.",
|
||||
"Permission: "},
|
||||
{"Principal Type:", "Principal Type:"},
|
||||
{"Principal Name:", "Principal Name:"},
|
||||
{"Target Name: ",
|
||||
{"Principal.Type.", "Principal Type:"},
|
||||
{"Principal.Name.", "Principal Name:"},
|
||||
{"Target.Name.",
|
||||
"Target Name: "},
|
||||
{"Actions: ",
|
||||
{"Actions.",
|
||||
"Actions: "},
|
||||
{"OK to overwrite existing file filename?",
|
||||
{"OK.to.overwrite.existing.file.filename.",
|
||||
"OK to overwrite existing file {0}?"},
|
||||
{"Cancel", "Cancel"},
|
||||
{"CodeBase:", "CodeBase:"},
|
||||
{"SignedBy:", "SignedBy:"},
|
||||
{"Add Principal", "Add Principal"},
|
||||
{"Edit Principal", "Edit Principal"},
|
||||
{"Remove Principal", "Remove Principal"},
|
||||
{"Principals:", "Principals:"},
|
||||
{" Add Permission", " Add Permission"},
|
||||
{" Edit Permission", " Edit Permission"},
|
||||
{"Remove Permission", "Remove Permission"},
|
||||
{"CodeBase.", "CodeBase:"},
|
||||
{"SignedBy.", "SignedBy:"},
|
||||
{"Add.Principal", "Add Principal"},
|
||||
{"Edit.Principal", "Edit Principal"},
|
||||
{"Remove.Principal", "Remove Principal"},
|
||||
{"Principals.", "Principals:"},
|
||||
{".Add.Permission", " Add Permission"},
|
||||
{".Edit.Permission", " Edit Permission"},
|
||||
{"Remove.Permission", "Remove Permission"},
|
||||
{"Done", "Done"},
|
||||
{"KeyStore URL:", "KeyStore URL:"},
|
||||
{"KeyStore Type:", "KeyStore Type:"},
|
||||
{"KeyStore Provider:", "KeyStore Provider:"},
|
||||
{"KeyStore Password URL:", "KeyStore Password URL:"},
|
||||
{"KeyStore.URL.", "KeyStore URL:"},
|
||||
{"KeyStore.Type.", "KeyStore Type:"},
|
||||
{"KeyStore.Provider.", "KeyStore Provider:"},
|
||||
{"KeyStore.Password.URL.", "KeyStore Password URL:"},
|
||||
{"Principals", "Principals"},
|
||||
{" Edit Principal:", " Edit Principal:"},
|
||||
{" Add New Principal:", " Add New Principal:"},
|
||||
{".Edit.Principal.", " Edit Principal:"},
|
||||
{".Add.New.Principal.", " Add New Principal:"},
|
||||
{"Permissions", "Permissions"},
|
||||
{" Edit Permission:", " Edit Permission:"},
|
||||
{" Add New Permission:", " Add New Permission:"},
|
||||
{"Signed By:", "Signed By:"},
|
||||
{"Cannot Specify Principal with a Wildcard Class without a Wildcard Name",
|
||||
{".Edit.Permission.", " Edit Permission:"},
|
||||
{".Add.New.Permission.", " Add New Permission:"},
|
||||
{"Signed.By.", "Signed By:"},
|
||||
{"Cannot.Specify.Principal.with.a.Wildcard.Class.without.a.Wildcard.Name",
|
||||
"Cannot Specify Principal with a Wildcard Class without a Wildcard Name"},
|
||||
{"Cannot Specify Principal without a Name",
|
||||
{"Cannot.Specify.Principal.without.a.Name",
|
||||
"Cannot Specify Principal without a Name"},
|
||||
{"Permission and Target Name must have a value",
|
||||
{"Permission.and.Target.Name.must.have.a.value",
|
||||
"Permission and Target Name must have a value"},
|
||||
{"Remove this Policy Entry?", "Remove this Policy Entry?"},
|
||||
{"Overwrite File", "Overwrite File"},
|
||||
{"Policy successfully written to filename",
|
||||
{"Remove.this.Policy.Entry.", "Remove this Policy Entry?"},
|
||||
{"Overwrite.File", "Overwrite File"},
|
||||
{"Policy.successfully.written.to.filename",
|
||||
"Policy successfully written to {0}"},
|
||||
{"null filename", "null filename"},
|
||||
{"Save changes?", "Save changes?"},
|
||||
{"null.filename", "null filename"},
|
||||
{"Save.changes.", "Save changes?"},
|
||||
{"Yes", "Yes"},
|
||||
{"No", "No"},
|
||||
{"Policy Entry", "Policy Entry"},
|
||||
{"Save Changes", "Save Changes"},
|
||||
{"No Policy Entry selected", "No Policy Entry selected"},
|
||||
{"Unable to open KeyStore: ex.toString()",
|
||||
{"Policy.Entry", "Policy Entry"},
|
||||
{"Save.Changes", "Save Changes"},
|
||||
{"No.Policy.Entry.selected", "No Policy Entry selected"},
|
||||
{"Unable.to.open.KeyStore.ex.toString.",
|
||||
"Unable to open KeyStore: {0}"},
|
||||
{"No principal selected", "No principal selected"},
|
||||
{"No permission selected", "No permission selected"},
|
||||
{"No.principal.selected", "No principal selected"},
|
||||
{"No.permission.selected", "No permission selected"},
|
||||
{"name", "name"},
|
||||
{"configuration type", "configuration type"},
|
||||
{"environment variable name", "environment variable name"},
|
||||
{"library name", "library name"},
|
||||
{"package name", "package name"},
|
||||
{"policy type", "policy type"},
|
||||
{"property name", "property name"},
|
||||
{"Principal List", "Principal List"},
|
||||
{"Permission List", "Permission List"},
|
||||
{"Code Base", "Code Base"},
|
||||
{"KeyStore U R L:", "KeyStore U R L:"},
|
||||
{"KeyStore Password U R L:", "KeyStore Password U R L:"},
|
||||
{"configuration.type", "configuration type"},
|
||||
{"environment.variable.name", "environment variable name"},
|
||||
{"library.name", "library name"},
|
||||
{"package.name", "package name"},
|
||||
{"policy.type", "policy type"},
|
||||
{"property.name", "property name"},
|
||||
{"Principal.List", "Principal List"},
|
||||
{"Permission.List", "Permission List"},
|
||||
{"Code.Base", "Code Base"},
|
||||
{"KeyStore.U.R.L.", "KeyStore U R L:"},
|
||||
{"KeyStore.Password.U.R.L.", "KeyStore Password U R L:"},
|
||||
|
||||
|
||||
// javax.security.auth.PrivateCredentialPermission
|
||||
{"invalid null input(s)", "invalid null input(s)"},
|
||||
{"actions can only be 'read'", "actions can only be 'read'"},
|
||||
{"permission name [name] syntax invalid: ",
|
||||
{"invalid.null.input.s.", "invalid null input(s)"},
|
||||
{"actions.can.only.be.read.", "actions can only be 'read'"},
|
||||
{"permission.name.name.syntax.invalid.",
|
||||
"permission name [{0}] syntax invalid: "},
|
||||
{"Credential Class not followed by a Principal Class and Name",
|
||||
{"Credential.Class.not.followed.by.a.Principal.Class.and.Name",
|
||||
"Credential Class not followed by a Principal Class and Name"},
|
||||
{"Principal Class not followed by a Principal Name",
|
||||
{"Principal.Class.not.followed.by.a.Principal.Name",
|
||||
"Principal Class not followed by a Principal Name"},
|
||||
{"Principal Name must be surrounded by quotes",
|
||||
{"Principal.Name.must.be.surrounded.by.quotes",
|
||||
"Principal Name must be surrounded by quotes"},
|
||||
{"Principal Name missing end quote",
|
||||
{"Principal.Name.missing.end.quote",
|
||||
"Principal Name missing end quote"},
|
||||
{"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value",
|
||||
{"PrivateCredentialPermission.Principal.Class.can.not.be.a.wildcard.value.if.Principal.Name.is.not.a.wildcard.value",
|
||||
"PrivateCredentialPermission Principal Class can not be a wildcard (*) value if Principal Name is not a wildcard (*) value"},
|
||||
{"CredOwner:\n\tPrincipal Class = class\n\tPrincipal Name = name",
|
||||
{"CredOwner.Principal.Class.class.Principal.Name.name",
|
||||
"CredOwner:\n\tPrincipal Class = {0}\n\tPrincipal Name = {1}"},
|
||||
|
||||
// javax.security.auth.x500
|
||||
{"provided null name", "provided null name"},
|
||||
{"provided null keyword map", "provided null keyword map"},
|
||||
{"provided null OID map", "provided null OID map"},
|
||||
{"provided.null.name", "provided null name"},
|
||||
{"provided.null.keyword.map", "provided null keyword map"},
|
||||
{"provided.null.OID.map", "provided null OID map"},
|
||||
|
||||
// javax.security.auth.Subject
|
||||
{"invalid null AccessControlContext provided",
|
||||
{"invalid.null.AccessControlContext.provided",
|
||||
"invalid null AccessControlContext provided"},
|
||||
{"invalid null action provided", "invalid null action provided"},
|
||||
{"invalid null Class provided", "invalid null Class provided"},
|
||||
{"Subject:\n", "Subject:\n"},
|
||||
{"\tPrincipal: ", "\tPrincipal: "},
|
||||
{"\tPublic Credential: ", "\tPublic Credential: "},
|
||||
{"\tPrivate Credentials inaccessible\n",
|
||||
{"invalid.null.action.provided", "invalid null action provided"},
|
||||
{"invalid.null.Class.provided", "invalid null Class provided"},
|
||||
{"Subject.", "Subject:\n"},
|
||||
{".Principal.", "\tPrincipal: "},
|
||||
{".Public.Credential.", "\tPublic Credential: "},
|
||||
{".Private.Credentials.inaccessible.",
|
||||
"\tPrivate Credentials inaccessible\n"},
|
||||
{"\tPrivate Credential: ", "\tPrivate Credential: "},
|
||||
{"\tPrivate Credential inaccessible\n",
|
||||
{".Private.Credential.", "\tPrivate Credential: "},
|
||||
{".Private.Credential.inaccessible.",
|
||||
"\tPrivate Credential inaccessible\n"},
|
||||
{"Subject is read-only", "Subject is read-only"},
|
||||
{"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set",
|
||||
{"Subject.is.read.only", "Subject is read-only"},
|
||||
{"attempting.to.add.an.object.which.is.not.an.instance.of.java.security.Principal.to.a.Subject.s.Principal.Set",
|
||||
"attempting to add an object which is not an instance of java.security.Principal to a Subject's Principal Set"},
|
||||
{"attempting to add an object which is not an instance of class",
|
||||
{"attempting.to.add.an.object.which.is.not.an.instance.of.class",
|
||||
"attempting to add an object which is not an instance of {0}"},
|
||||
|
||||
// javax.security.auth.login.AppConfigurationEntry
|
||||
{"LoginModuleControlFlag: ", "LoginModuleControlFlag: "},
|
||||
{"LoginModuleControlFlag.", "LoginModuleControlFlag: "},
|
||||
|
||||
// javax.security.auth.login.LoginContext
|
||||
{"Invalid null input: name", "Invalid null input: name"},
|
||||
{"No LoginModules configured for name",
|
||||
{"Invalid.null.input.name", "Invalid null input: name"},
|
||||
{"No.LoginModules.configured.for.name",
|
||||
"No LoginModules configured for {0}"},
|
||||
{"invalid null Subject provided", "invalid null Subject provided"},
|
||||
{"invalid null CallbackHandler provided",
|
||||
{"invalid.null.Subject.provided", "invalid null Subject provided"},
|
||||
{"invalid.null.CallbackHandler.provided",
|
||||
"invalid null CallbackHandler provided"},
|
||||
{"null subject - logout called before login",
|
||||
{"null.subject.logout.called.before.login",
|
||||
"null subject - logout called before login"},
|
||||
{"unable to instantiate LoginModule, module, because it does not provide a no-argument constructor",
|
||||
{"unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor",
|
||||
"unable to instantiate LoginModule, {0}, because it does not provide a no-argument constructor"},
|
||||
{"unable to instantiate LoginModule",
|
||||
{"unable.to.instantiate.LoginModule",
|
||||
"unable to instantiate LoginModule"},
|
||||
{"unable to instantiate LoginModule: ",
|
||||
{"unable.to.instantiate.LoginModule.",
|
||||
"unable to instantiate LoginModule: "},
|
||||
{"unable to find LoginModule class: ",
|
||||
{"unable.to.find.LoginModule.class.",
|
||||
"unable to find LoginModule class: "},
|
||||
{"unable to access LoginModule: ",
|
||||
{"unable.to.access.LoginModule.",
|
||||
"unable to access LoginModule: "},
|
||||
{"Login Failure: all modules ignored",
|
||||
{"Login.Failure.all.modules.ignored",
|
||||
"Login Failure: all modules ignored"},
|
||||
|
||||
// sun.security.provider.PolicyFile
|
||||
|
||||
{"java.security.policy: error parsing policy:\n\tmessage",
|
||||
{"java.security.policy.error.parsing.policy.message",
|
||||
"java.security.policy: error parsing {0}:\n\t{1}"},
|
||||
{"java.security.policy: error adding Permission, perm:\n\tmessage",
|
||||
{"java.security.policy.error.adding.Permission.perm.message",
|
||||
"java.security.policy: error adding Permission, {0}:\n\t{1}"},
|
||||
{"java.security.policy: error adding Entry:\n\tmessage",
|
||||
{"java.security.policy.error.adding.Entry.message",
|
||||
"java.security.policy: error adding Entry:\n\t{0}"},
|
||||
{"alias name not provided (pe.name)", "alias name not provided ({0})"},
|
||||
{"unable to perform substitution on alias, suffix",
|
||||
{"alias.name.not.provided.pe.name.", "alias name not provided ({0})"},
|
||||
{"unable.to.perform.substitution.on.alias.suffix",
|
||||
"unable to perform substitution on alias, {0}"},
|
||||
{"substitution value, prefix, unsupported",
|
||||
{"substitution.value.prefix.unsupported",
|
||||
"substitution value, {0}, unsupported"},
|
||||
{"(", "("},
|
||||
{")", ")"},
|
||||
{"type can't be null","type can't be null"},
|
||||
{"LPARAM", "("},
|
||||
{"RPARAM", ")"},
|
||||
{"type.can.t.be.null","type can't be null"},
|
||||
|
||||
// sun.security.provider.PolicyParser
|
||||
{"keystorePasswordURL can not be specified without also specifying keystore",
|
||||
{"keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore",
|
||||
"keystorePasswordURL can not be specified without also specifying keystore"},
|
||||
{"expected keystore type", "expected keystore type"},
|
||||
{"expected keystore provider", "expected keystore provider"},
|
||||
{"multiple Codebase expressions",
|
||||
{"expected.keystore.type", "expected keystore type"},
|
||||
{"expected.keystore.provider", "expected keystore provider"},
|
||||
{"multiple.Codebase.expressions",
|
||||
"multiple Codebase expressions"},
|
||||
{"multiple SignedBy expressions","multiple SignedBy expressions"},
|
||||
{"SignedBy has empty alias","SignedBy has empty alias"},
|
||||
{"can not specify Principal with a wildcard class without a wildcard name",
|
||||
{"multiple.SignedBy.expressions","multiple SignedBy expressions"},
|
||||
{"SignedBy.has.empty.alias","SignedBy has empty alias"},
|
||||
{"can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name",
|
||||
"can not specify Principal with a wildcard class without a wildcard name"},
|
||||
{"expected codeBase or SignedBy or Principal",
|
||||
{"expected.codeBase.or.SignedBy.or.Principal",
|
||||
"expected codeBase or SignedBy or Principal"},
|
||||
{"expected permission entry", "expected permission entry"},
|
||||
{"number ", "number "},
|
||||
{"expected [expect], read [end of file]",
|
||||
{"expected.permission.entry", "expected permission entry"},
|
||||
{"number.", "number "},
|
||||
{"expected.expect.read.end.of.file.",
|
||||
"expected [{0}], read [end of file]"},
|
||||
{"expected [;], read [end of file]",
|
||||
{"expected.read.end.of.file.",
|
||||
"expected [;], read [end of file]"},
|
||||
{"line number: msg", "line {0}: {1}"},
|
||||
{"line number: expected [expect], found [actual]",
|
||||
{"line.number.msg", "line {0}: {1}"},
|
||||
{"line.number.expected.expect.found.actual.",
|
||||
"line {0}: expected [{1}], found [{2}]"},
|
||||
{"null principalClass or principalName",
|
||||
{"null.principalClass.or.principalName",
|
||||
"null principalClass or principalName"},
|
||||
|
||||
// sun.security.pkcs11.SunPKCS11
|
||||
{"PKCS11 Token [providerName] Password: ",
|
||||
{"PKCS11.Token.providerName.Password.",
|
||||
"PKCS11 Token [{0}] Password: "},
|
||||
|
||||
/* --- DEPRECATED --- */
|
||||
// javax.security.auth.Policy
|
||||
{"unable to instantiate Subject-based policy",
|
||||
{"unable.to.instantiate.Subject.based.policy",
|
||||
"unable to instantiate Subject-based policy"}
|
||||
};
|
||||
|
||||
|
74
jdk/test/sun/security/util/Resources/NewNamesFormat.java
Normal file
74
jdk/test/sun/security/util/Resources/NewNamesFormat.java
Normal file
@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 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 6987827
|
||||
* @summary security/util/Resources.java needs improvement
|
||||
*/
|
||||
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* This test makes sure that the keys in resources files are using the new
|
||||
* format and there is no duplication.
|
||||
*/
|
||||
public class NewNamesFormat {
|
||||
public static void main(String[] args) throws Exception {
|
||||
checkRes("sun.security.util.Resources");
|
||||
checkRes("sun.security.util.AuthResources");
|
||||
checkRes("sun.security.tools.JarSignerResources");
|
||||
}
|
||||
|
||||
private static void checkRes(String resName) throws Exception {
|
||||
System.out.println("Checking " + resName + "...");
|
||||
Class clazz = Class.forName(resName);
|
||||
Method m = clazz.getMethod("getContents");
|
||||
Object[][] contents = (Object[][])m.invoke(clazz.newInstance());
|
||||
Set<String> keys = new HashSet<String>();
|
||||
for (Object[] pair: contents) {
|
||||
String key = (String)pair[0];
|
||||
if (keys.contains(key)) {
|
||||
System.out.println("Found dup: " + key);
|
||||
throw new Exception();
|
||||
}
|
||||
checkKey(key);
|
||||
keys.add(key);
|
||||
}
|
||||
}
|
||||
|
||||
private static void checkKey(String key) throws Exception {
|
||||
for (char c: key.toCharArray()) {
|
||||
if (Character.isLetter(c) || Character.isDigit(c) ||
|
||||
c == '{' || c == '}' || c == '.') {
|
||||
// OK
|
||||
} else {
|
||||
System.out.println("Illegal char [" + c + "] in key: " + key);
|
||||
throw new Exception();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
439
jdk/test/sun/security/util/Resources/NewResourcesNames.java
Normal file
439
jdk/test/sun/security/util/Resources/NewResourcesNames.java
Normal file
@ -0,0 +1,439 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 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.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.ListResourceBundle;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Prepares new key names for Resources.java.
|
||||
* 6987827: security/util/Resources.java needs improvement
|
||||
*
|
||||
* Run inside jdk/src/share/classes:
|
||||
*
|
||||
* java NewResourcesNames $(
|
||||
* for a in $(find com/sun/security sun/security javax/security -type f); do
|
||||
* egrep -q '(ResourcesMgr.getString|rb.getString)' $a && echo $a
|
||||
* done)
|
||||
*
|
||||
* Before running this tool, run the following two commands to make sure there
|
||||
* are only these 2 types of calls into the resources:
|
||||
* for a in `find com/sun/security sun/security javax/security -type f`; do
|
||||
* cat $a | perl -ne 'print if /\bResourcesMgr\b/'; done |
|
||||
* grep -v ResourcesMgr.getString
|
||||
* for a in `find com/sun/security sun/security -type f`; do
|
||||
* cat $a | perl -ne 'print if /\brb\b/'; done |
|
||||
* grep -v rb.getString
|
||||
*/
|
||||
class NewResourcesNames {
|
||||
|
||||
// Max length of normalized names
|
||||
static int MAXLEN = 127;
|
||||
|
||||
static String[] resources = {
|
||||
"sun/security/tools/JarSignerResources.java",
|
||||
"sun/security/util/Resources.java",
|
||||
"sun/security/util/AuthResources.java",
|
||||
};
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
// Load all names inside resources files
|
||||
Map<String,String> allnames = loadResources();
|
||||
|
||||
// Modify the callers. There are two patterns:
|
||||
// 1. ResourcesMgr.getString("
|
||||
// used by most JAAS codes
|
||||
// 2. rb.getString("
|
||||
// used by tools
|
||||
Set<String> allfound = new HashSet<String>();
|
||||
for (String arg: args) {
|
||||
allfound.addAll(rewriteFile(arg, "ResourcesMgr.getString(\""));
|
||||
allfound.addAll(rewriteFile(arg, "rb.getString(\""));
|
||||
}
|
||||
|
||||
// Special case 1: KeyTool's enum definition of commands and options
|
||||
allfound.addAll(keyToolEnums());
|
||||
|
||||
// Special case 2: PolicyFile called this 4 times
|
||||
allfound.addAll(rewriteFile("sun/security/provider/PolicyFile.java",
|
||||
"ResourcesMgr.getString(POLICY+\""));
|
||||
|
||||
// During the calls above, you can read sth like:
|
||||
//
|
||||
// Working on com/sun/security/auth/PolicyParser.java
|
||||
// GOOD match is 17
|
||||
//
|
||||
// This means a " exists right after getString(. Sometimes you see
|
||||
//
|
||||
// Working on sun/security/tools/KeyTool.java
|
||||
// BAD!! pmatch != match: 212 != 209
|
||||
// Working on sun/security/provider/PolicyFile.java
|
||||
// BAD!! pmatch != match: 14 != 10
|
||||
//
|
||||
// which is mismatch. There are only two such special cases list above.
|
||||
// For KeyTool, there are 3 calls for showing help. For PolicyTool, 3
|
||||
// for name prefixed with POLICY. They are covered in the two special
|
||||
// cases above.
|
||||
|
||||
// Names used but not defined. This is mostly error, except for
|
||||
// special case 2 above. So it's OK to see 3 entries red here
|
||||
if (!allnames.keySet().containsAll(allfound)) {
|
||||
err("FATAL: Undefined names");
|
||||
for (String name: allfound) {
|
||||
if (!allnames.keySet().contains(name)) {
|
||||
err(" " + name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Names defined but not used. Mostly this is old entries not removed.
|
||||
// When soemone remove a line of code, he dares not remove the entry
|
||||
// in case it's also used somewhere else.
|
||||
if (!allfound.containsAll(allnames.keySet())) {
|
||||
System.err.println("WARNING: Unused names");
|
||||
for (String name: allnames.keySet()) {
|
||||
if (!allfound.contains(name)) {
|
||||
System.err.println(allnames.get(name));
|
||||
System.err.println(" " + normalize(name));
|
||||
System.err.println(" [" + name + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Loads the three resources files. Saves names into a Map.
|
||||
*/
|
||||
private static Map<String,String> loadResources() throws Exception {
|
||||
|
||||
// Name vs Resource
|
||||
Map<String,String> allnames = new HashMap<String,String>();
|
||||
|
||||
for (String f: resources) {
|
||||
String clazz =
|
||||
f.replace('/', '.').substring(0, f.length()-5);
|
||||
|
||||
Set<String> expected = loadClass(clazz);
|
||||
Set<String> found = rewriteFile(f, "{\"");
|
||||
|
||||
// This is to check that word parsing is identical to Java thinks
|
||||
if (!expected.equals(found)) {
|
||||
throw new Exception("Expected and found do not match");
|
||||
}
|
||||
|
||||
for (String name: found) {
|
||||
allnames.put(name, f);
|
||||
}
|
||||
}
|
||||
return allnames;
|
||||
}
|
||||
|
||||
/**
|
||||
* Special case treat for enums description in KeyTool
|
||||
*/
|
||||
private static Set<String> keyToolEnums() throws Exception {
|
||||
|
||||
Set<String> names = new HashSet<String>();
|
||||
|
||||
String file = "sun/security/tools/KeyTool.java";
|
||||
System.err.println("Working on " + file);
|
||||
File origFile = new File(file);
|
||||
File tmpFile = new File(file + ".tmp");
|
||||
origFile.renameTo(tmpFile);
|
||||
tmpFile.deleteOnExit();
|
||||
|
||||
BufferedReader br = new BufferedReader(
|
||||
new InputStreamReader(new FileInputStream(tmpFile)));
|
||||
PrintWriter out = new PrintWriter(new FileOutputStream(origFile));
|
||||
|
||||
int stage = 0; // 1. commands, 2. options, 3. finished
|
||||
int match = 0;
|
||||
|
||||
while (true) {
|
||||
String s = br.readLine();
|
||||
if (s == null) {
|
||||
break;
|
||||
}
|
||||
if (s.indexOf("enum Command") >= 0) stage = 1;
|
||||
else if (s.indexOf("enum Option") >= 0) stage = 2;
|
||||
else if (s.indexOf("private static final String JKS") >= 0) stage = 3;
|
||||
|
||||
if (stage == 1 || stage == 2) {
|
||||
if (s.indexOf("(\"") >= 0) {
|
||||
match++;
|
||||
int p1, p2;
|
||||
if (stage == 1) {
|
||||
p1 = s.indexOf("\"");
|
||||
p2 = s.indexOf("\"", p1+1);
|
||||
} else {
|
||||
p2 = s.lastIndexOf("\"");
|
||||
p1 = s.lastIndexOf("\"", p2-1);
|
||||
}
|
||||
String name = s.substring(p1+1, p2);
|
||||
names.add(name);
|
||||
out.println(s.substring(0, p1+1) +
|
||||
normalize(name) +
|
||||
s.substring(p2));
|
||||
} else {
|
||||
out.println(s);
|
||||
}
|
||||
} else {
|
||||
out.println(s);
|
||||
}
|
||||
}
|
||||
br.close();
|
||||
out.close();
|
||||
System.err.println(" GOOD match is " + match);
|
||||
return names;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads a resources using JRE and returns the names
|
||||
*/
|
||||
private static Set<String> loadClass(String clazz) throws Exception {
|
||||
ListResourceBundle lrb =
|
||||
(ListResourceBundle)Class.forName(clazz).newInstance();
|
||||
Set<String> keys = lrb.keySet();
|
||||
Map<String,String> newold = new HashMap<String,String>();
|
||||
boolean dup = false;
|
||||
// Check if normalize() creates dup entries. This is crucial.
|
||||
for (String k: keys) {
|
||||
String key = normalize(k);
|
||||
if (newold.containsKey(key)) {
|
||||
err("Dup found for " + key + ":");
|
||||
err("["+newold.get(key)+"]");
|
||||
err("["+k+"]");
|
||||
dup = true;
|
||||
}
|
||||
newold.put(key, k);
|
||||
}
|
||||
if (dup) throw new Exception();
|
||||
return keys;
|
||||
}
|
||||
|
||||
/**
|
||||
* Rewrites a file using a pattern. The name string should be right after
|
||||
* the pattern. Note: pattern ignores whitespaces. Returns names found.
|
||||
*/
|
||||
private static Set<String> rewriteFile(String file, String pattern)
|
||||
throws Exception {
|
||||
|
||||
System.err.println("Working on " + file);
|
||||
Set<String> names = new HashSet<String>();
|
||||
|
||||
int plen = pattern.length();
|
||||
int match = 0;
|
||||
|
||||
// The bare XXX.getString is also matched. Sometimes getString is
|
||||
// called but does not use literal strings. This is harder to solve.
|
||||
|
||||
int pmatch = 0;
|
||||
int pheadlen = plen - 2;
|
||||
String phead = pattern.substring(0, plen-2);
|
||||
|
||||
// The non-whitespace chars read since, used to check for pattern
|
||||
StringBuilder history = new StringBuilder();
|
||||
int hlen = 0;
|
||||
|
||||
File origFile = new File(file);
|
||||
File tmpFile = new File(file + ".tmp");
|
||||
origFile.renameTo(tmpFile);
|
||||
tmpFile.deleteOnExit();
|
||||
|
||||
FileInputStream fis = new FileInputStream(tmpFile);
|
||||
FileOutputStream fos = new FileOutputStream(origFile);
|
||||
|
||||
while (true) {
|
||||
int ch = fis.read();
|
||||
if (ch < 0) break;
|
||||
if (!Character.isWhitespace(ch)) {
|
||||
history.append((char)ch);
|
||||
hlen++;
|
||||
if (pheadlen > 0 && hlen >= pheadlen &&
|
||||
history.substring(hlen-pheadlen, hlen).equals(phead)) {
|
||||
pmatch++;
|
||||
}
|
||||
}
|
||||
|
||||
if (hlen >= plen &&
|
||||
history.substring(hlen-plen, hlen).equals(pattern)) {
|
||||
match++;
|
||||
history = new StringBuilder();
|
||||
hlen = 0;
|
||||
|
||||
fos.write(ch);
|
||||
|
||||
// Save a name
|
||||
StringBuilder sb = new StringBuilder();
|
||||
// Save things after the second ". Maybe it's an end, maybe
|
||||
// it's just literal string concatenation.
|
||||
StringBuilder tail = new StringBuilder();
|
||||
|
||||
boolean in = true; // inside name string
|
||||
while (true) {
|
||||
int n = fis.read();
|
||||
if (in) {
|
||||
if (n == '\\') {
|
||||
int second = fis.read();
|
||||
switch (second) {
|
||||
case 'n': sb.append('\n'); break;
|
||||
case 'r': sb.append('\r'); break;
|
||||
case 't': sb.append('\t'); break;
|
||||
case '"': sb.append('"'); break;
|
||||
default: throw new Exception(String.format(
|
||||
"I don't know this escape: %s%c",
|
||||
sb.toString(), second));
|
||||
}
|
||||
} else if (n == '"') {
|
||||
in = false;
|
||||
// Maybe string concat? say bytes until clear
|
||||
tail = new StringBuilder();
|
||||
tail.append('"');
|
||||
} else {
|
||||
sb.append((char)n);
|
||||
}
|
||||
} else {
|
||||
tail.append((char)n);
|
||||
if (n == '"') { // string concat, in again
|
||||
in = true;
|
||||
} else if (n == ',' || n == ')') { // real end
|
||||
break;
|
||||
} else if (Character.isWhitespace(n) || n == '+') {
|
||||
// string concat
|
||||
} else {
|
||||
throw new Exception("Not a correct concat");
|
||||
}
|
||||
}
|
||||
}
|
||||
String s = sb.toString();
|
||||
names.add(s);
|
||||
fos.write(normalize(s).getBytes());
|
||||
fos.write(tail.toString().getBytes());
|
||||
} else {
|
||||
fos.write(ch);
|
||||
}
|
||||
}
|
||||
|
||||
// Check pheadlen > 0. Don't want to mess with rewrite for resources
|
||||
if (pheadlen > 0 && pmatch != match) {
|
||||
err(" BAD!! pmatch != match: " + pmatch + " != " + match);
|
||||
} else {
|
||||
System.err.println(" GOOD match is " + match);
|
||||
}
|
||||
|
||||
fis.close();
|
||||
fos.close();
|
||||
return names;
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalize a string. Rules:
|
||||
*
|
||||
* 1. If all spacebar return "nSPACE", n is count
|
||||
* 2. If consisting at least one alphanumeric:
|
||||
* a. All alphanumeric remain
|
||||
* b. All others in a row goes to a single ".", even if at head or tail
|
||||
* 3. Otherwise:
|
||||
* a. "****\n\n" to "STARNN", special case
|
||||
* b. the English name if first char in *,.\n():'"
|
||||
*
|
||||
* Current observations show there's no dup, Hurray! Otherwise, add more
|
||||
* special cases.
|
||||
*/
|
||||
private static String normalize(String s) throws Exception {
|
||||
boolean needDot = false;
|
||||
|
||||
// All spacebar case
|
||||
int n = 0;
|
||||
for (char c: s.toCharArray()) {
|
||||
if (c == ' ') n++;
|
||||
else n = -10000;
|
||||
}
|
||||
if (n == 1) return "SPACE";
|
||||
else if (n > 1) return "" + n + "SPACE";
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int dotpos = -1;
|
||||
for (int i=0; i<s.length(); i++) {
|
||||
char c = s.charAt(i);
|
||||
if (Character.isLetter(c) || Character.isDigit(c) ||
|
||||
c == '{' || c == '}') {
|
||||
if (needDot) {
|
||||
// Rememeber the last dot, we want shorter form nice
|
||||
if (sb.length() <= MAXLEN) dotpos = sb.length();
|
||||
// "." only added when an alphanumeric is seen. This makes
|
||||
// sure sb is empty when there's no alphanumerics at all
|
||||
sb.append(".");
|
||||
}
|
||||
sb.append(c);
|
||||
needDot = false;
|
||||
} else {
|
||||
needDot = true;
|
||||
}
|
||||
}
|
||||
|
||||
// No alphanemeric?
|
||||
if (sb.length() == 0) {
|
||||
if (s.contains("*") && s.contains("\n")) {
|
||||
return "STARNN";
|
||||
}
|
||||
for (char c: s.toCharArray()) {
|
||||
switch (c) {
|
||||
case '*': return "STAR";
|
||||
case ',': return "COMMA";
|
||||
case '.': return "PERIOD";
|
||||
case '\n': return "NEWLINE";
|
||||
case '(': return "LPARAM";
|
||||
case ')': return "RPARAM";
|
||||
case ':': return "COLON";
|
||||
case '\'': case '"': return "QUOTE";
|
||||
}
|
||||
}
|
||||
throw new Exception("Unnamed char: [" + s + "]");
|
||||
}
|
||||
|
||||
// tail "." only added when there are alphanumerics
|
||||
if (needDot) sb.append('.');
|
||||
String res = sb.toString();
|
||||
if (res.length() > MAXLEN) {
|
||||
if (dotpos < 0) throw new Exception("No dot all over? " + s);
|
||||
return res.substring(0, dotpos);
|
||||
} else {
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
private static void err(String string) {
|
||||
System.out.println("\u001b[1;37;41m" + string + "\u001b[m");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user