RFR: 8180571: Refactor sun/security/pkcs11 shell tests to plain java tests and fix failures

Fernando Guallini fguallini at openjdk.java.net
Tue May 18 13:37:58 UTC 2021

Refactor the following shell tests to Java:
- security/pkcs11/KeyStore/Basic.sh
- security/pkcs11/KeyStore/ClientAuth.sh
- security/pkcs11/KeyStore/SecretKeysBasic.sh
- security/pkcs11/Provider/ConfigQuotedString.sh
- security/pkcs11/Provider/Login.sh
- security/pkcs11/Config/ReadConfInUTF16Env.sh

Currently, most of the shell tests in the list may be ignored during execution time in most platforms since they are incorrectly filtered out by the OS name they are run on. For example, ClientAuth.sh is only run if the OS name is equal to ‘Linux’, but OS name may also include the architecture such as ‘Linux x86_64’. Those platform constraints are removed in this PR.

Additionally, further changes are introduced in the following test:

- ClientAuth: it was failing intermittently because the server side was binding to the wildcard address. The issue is fixed by binding to loopback address instead. Also, Thread.sleep is replaced with CountdownLatch to facilitate synchronization between client and server. Finally, a new ‘user1’ certificate was generated since the current one has expired.

- Basic: Remove redundant X509Certificate casting 

- SecretKeysBasic: it was already in the problem list since it reproduces the open bug JDK-8209398 and fails. Test is refactored to java and still reproduces the issue.

All the mentioned tests were run many times in multiple platforms to ensure stability


Commit messages:
 - removed tab in comment
 - Merge branch 'master' into 8180571
 - fixed summary in ClientAuth
 - refactor tests
 - refactored shell tests to java

Changes: https://git.openjdk.java.net/jdk/pull/4092/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4092&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8180571
  Stats: 1075 lines in 18 files changed: 195 ins; 819 del; 61 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4092.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4092/head:pull/4092

PR: https://git.openjdk.java.net/jdk/pull/4092

More information about the security-dev mailing list