Apple Security Provider.

Michael Hall mik3hall at gmail.com
Tue May 1 17:34:17 PDT 2012


>>> 
>>> 
>> 
>> I believe we did port over the KeyChain provider, but not the entirely of the Apple provider (since it was based on deprecated API).

It is there...

KeyStore
       implementors:
          CaseExactJKS
          JCEKS
          KeychainStore
          PKCS12
          JKS

But doesn't appear to work the same? As shown in my prior. The original implementation didn't require a load call to initialize it, but now....

import java.security.*;
import java.util.Enumeration;

public class KeyStoreTester {

	public static void main(String[] args) {
		try {
			KeyStore ks = KeyStore.getInstance("KeychainStore");
			System.out.println(ks.getProvider());
			Enumeration<String> e = ks.aliases();
			while (e.hasMoreElements())
				System.out.println(e.nextElement());
		}
		catch (Exception ex) { ex.printStackTrace(); }	
	}
	
}

/usr/libexec/java_home -v 1.7 --exec java KeyStoreTester
Apple version 1.1
java.security.KeyStoreException: Uninitialized keystore
	at java.security.KeyStore.aliases(KeyStore.java:1002)
	at KeyStoreTester.main(KeyStoreTester.java:10)


It seems to need you to? I can probably figure out what file to use for the load. Is that actually supposed to be required now?



More information about the macosx-port-dev mailing list