<div dir="ltr"><div>Hi,</div><div><br></div><div>I'm new to JSS and have a getting started question. I'm trying to run the KeyStoreTest<br></div><div><br></div><div><a href="https://github.com/dogtagpki/jss/blob/master/org/mozilla/jss/tests/KeyStoreTest.java">https://github.com/dogtagpki/jss/blob/master/org/mozilla/jss/tests/KeyStoreTest.java</a></div><div><br></div><div>I'm on Fedora 30 and had installed JSS via yum installed version 4.6.1-2.fc30. I have the below code copied from KeyStoreTest.</div><div><br></div><div>And when running I get a problem about loading KeyStore.getInstance("Mozilla-JSS"). The provider is loaded, as you can see when printing all providers. <br></div><div><br></div><div>So please advise, I'm stuck and can not figure out what is wrong.</div><div><br></div><div>Best Regards</div><div>Magnus K Karlsson<br></div><div><br></div><div>$ java -cp target/example-nssdb-1.0.0-SNAPSHOT.jar:/usr/lib64/jss/jss4.jar:/usr/share/java/slf4j/slf4j-api.jar:/usr/share/java/slf4j/slf4j-simple.jar se.magnuskkarlsson.example.nssdb.NSSJSSTool<br>[main] INFO org.mozilla.jss.CryptoManager - CryptoManager: loading JSS library<br>[main] INFO org.mozilla.jss.CryptoManager - CryptoManager: loaded JSS library from /usr/lib64/jss/libjss4.so<br>[main] INFO org.mozilla.jss.CryptoManager - CryptoManager: initializing NSS database at /home/magnuskkarlsson/NetBeansProjects/example-nssdb/nssdb_sql_softhsm<br>Enter password for Internal Key Storage Token<br><br>Mozilla-JSS version 4.6.1<br>SUN version 1.8<br>SunRsaSign version 1.8<br>SunEC version 1.8<br>SunJSSE version 1.8<br>SunJCE version 1.8<br>SunJGSS version 1.8<br>SunSASL version 1.8<br>XMLDSig version 1.8<br>SunPCSC version 1.8<br>Exception in thread "main" java.security.KeyStoreException: Mozilla-JSS not found<br>  at java.security.KeyStore.getInstance(KeyStore.java:851)<br>      at se.magnuskkarlsson.example.nssdb.NSSJSSTool.main(NSSJSSTool.java:43)<br>Caused by: java.security.NoSuchAlgorithmException: Mozilla-JSS KeyStore not available<br>        at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)<br>     at java.security.Security.getImpl(Security.java:730)<br>  at java.security.KeyStore.getInstance(KeyStore.java:848)<br>      ... 1 more<br></div><div><br></div><div>package se.magnuskkarlsson.example.nssdb;<br><br>import java.security.KeyStore;<br>import java.security.Provider;<br>import java.security.Security;<br>import java.util.Enumeration;<br>import org.mozilla.jss.CryptoManager;<br>import org.mozilla.jss.JSSProvider;<br>import org.mozilla.jss.crypto.CryptoToken;<br>import org.mozilla.jss.pkcs11.PK11Token;<br>import org.mozilla.jss.util.ConsolePasswordCallback;<br><br>// OLD project page: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/JSS">https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/JSS</a><br>// NEW project page: <a href="https://github.com/dogtagpki/jss">https://github.com/dogtagpki/jss</a><br>// <a href="https://github.com/dogtagpki/jss/blob/master/org/mozilla/jss/tests/KeyStoreTest.java">https://github.com/dogtagpki/jss/blob/master/org/mozilla/jss/tests/KeyStoreTest.java</a><br>public class NSSJSSTool {<br><br>    public static void main(String[] args) throws Exception {<br>        // System.setProperty("java.library.path", "/usr/lib64/jss");<br><br>        String dbdir = "/home/magnuskkarlsson/NetBeansProjects/example-nssdb/nssdb_sql_softhsm";<br><br>        CryptoManager.initialize(dbdir);<br>        CryptoManager cm = CryptoManager.getInstance();<br><br>        // login to the token<br>        CryptoToken token = cm.getInternalKeyStorageToken();<br>        //CryptoToken token = cm.getTokenByName("Builtin Object Token");<br>        try {<br>            token.login(new ConsolePasswordCallback());<br>        } catch (PK11Token.NotInitializedException e) {<br>            e.printStackTrace();<br>        }<br>        cm.setThreadToken(token);<br><br>        for (Provider provider : Security.getProviders()) {<br>            System.out.println(provider);<br>        }<br><br>        // Provider provider = new JSSProvider();<br>        // Provider p = new sun.security.pkcs11.SunPKCS11(configName);<br>        // Security.addProvider(p);<br>        KeyStore ks = KeyStore.getInstance("Mozilla-JSS");<br>        ks.load(null, null);<br><br>        dumpAliases(ks);<br>    }<br><br>    public static void dumpAliases(KeyStore ks) throws Exception {<br>        Enumeration<String> aliases = ks.aliases();<br><br>        System.out.println("Aliases:");<br>        while (aliases.hasMoreElements()) {<br>            String alias = aliases.nextElement();<br>            System.out.println("\"" + alias + "\"");<br>        }<br>        System.out.println();<br>    }<br>}</div><div><div><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Med vänliga hälsningar<br>Magnus K Karlsson<br><br>Mobile: +46 (0)70 218 00 84<br>Email: <a href="mailto:magnus.r.karlsson@gmail.com" target="_blank">magnus.r.karlsson@gmail.com</a><br>Blog: <a href="http://magnus-k-karlsson.blogspot.com" target="_blank">magnus-k-karlsson.blogspot.com</a></div></div></div></div>