RFR: 8349533: Refactor validator tests shell files to java [v2]
Weijun Wang
weijun at openjdk.org
Fri Feb 21 18:58:56 UTC 2025
On Fri, 21 Feb 2025 16:57:32 GMT, Mikhail Yankelevich <duke at openjdk.org> wrote:
>> Changed shell files to be java tests:
>> * ./validator/certreplace.sh
>> * ./validator/samedn.sh
>
> Mikhail Yankelevich has updated the pull request incrementally with one additional commit since the last revision:
>
> keyStore is not used to delete, cleanup of the calls, minor refactoring
test/jdk/sun/security/validator/CertReplace.java line 28:
> 26: */
> 27:
> 28: import java.io.FileInputStream;
Remove the "This test is called by certreplace.sh" line above.
test/jdk/sun/security/validator/CertReplace.java line 64:
> 62: *
> 63: * @run main/othervm CertReplace samedn.jks samedn1.certs
> 64: * @run main/othervm CertReplace samedn.jks samedn2.certs
Must these tests run in `othervm`? They haven't changed any static VM properties.
test/jdk/sun/security/validator/CertReplace.java line 82:
> 80: final String intAliase = "int";
> 81: final String userAlias = "user";
> 82: final String caAlias = "ca";
Do you really believe creating these variables help the program looking better? There are so many string concatenations in the keytool commands. If it were me, I would remove every variable for a string literal except for `ktBaseParameters`.
On the other hand, it's OK to put `"changeit".toCharArray()` into a variable.
test/jdk/sun/security/validator/CertReplace.java line 120:
> 118: new FileInputStream(intCertFileName)
> 119: )
> 120: };
Use `CertUtils.getCertFromStream`. Also, it's better to close the file. Maybe Windows dislikes open files.
test/jdk/sun/security/validator/CertReplace.java line 147:
> 145: "-selfcert -alias " + caAlias);
> 146: keyStore.deleteEntry(intAliase);
> 147: keyStore.deleteEntry(userAlias);
Call `keyStore.store` to actually remove the 2 entries inside the keystore file. But this needs to be done before the `-selfcert` call, otherwise, the old cert would overwrite the new one.
test/jdk/sun/security/validator/CertReplace.java line 197:
> 195:
> 196: // 3. Remove user for cacerts
> 197: keyStore.deleteEntry(userAlias);
Call `keyStore.store` to write to the keystore.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23727#discussion_r1965994249
PR Review Comment: https://git.openjdk.org/jdk/pull/23727#discussion_r1966022164
PR Review Comment: https://git.openjdk.org/jdk/pull/23727#discussion_r1965999262
PR Review Comment: https://git.openjdk.org/jdk/pull/23727#discussion_r1966008483
PR Review Comment: https://git.openjdk.org/jdk/pull/23727#discussion_r1966005851
PR Review Comment: https://git.openjdk.org/jdk/pull/23727#discussion_r1966016971
More information about the security-dev
mailing list