RFR: JDK-6782021: It is not possible to read local computer certificates with the SunMSCAPI provider

Bernd duke at openjdk.java.net
Wed Apr 27 02:24:43 UTC 2022


On Tue, 12 Apr 2022 19:03:40 GMT, Mat Carter <duke at openjdk.java.net> wrote:

> On Windows you can now access the local machine keystores using the strings "Windows-MY-LOCALMACHINE" and "Windows-ROOT-LOCALMACHINE"; note the application requires admin privileges.
> 
> "Windows-MY" and "Windows-ROOT" remain unchanged, however given these original keystore strings mapped to the current user, I added "Windows-MY-CURRENTUSER" and "Windows-ROOT-CURRENTUSER" so that a developer can explicitly specify the current user location. These two new strings simply map to the original two strings, i.e. no duplication of code paths etc
> 
> No new tests added, keystore functionality and API remains unchanged, the local machine keystore types would require the tests to run in admin mode
> 
> Tested on windows, passes tier1 and tier2 tests

src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp line 419:

> 417:             __leave;
> 418:         }
> 419:         if ((pszCertStoreLocation = env->GetStringUTFChars(jCertStoreLocation, NULL))

Would it be easier to use a int argument here, it’s a internal api with only two enumerated Types. That safes the jstring conversion and the Strcmp.

-------------

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



More information about the security-dev mailing list