Are you talking about PKCS11 bridge for a standard PKCS#11 module?. I was thinking in accesing smartcards configured in NSS database, so I don't have to deal with the location of the dll module. I'm sorry I'm a little confused
On Tue, Apr 16, 2013 at 11:42 AM, helpcrypto helpcrypto < helpcry...@gmail.com> wrote: > On Fri, Apr 12, 2013 at 7:33 PM, Jaime Hablutzel Egoavil < > hablutz...@gmail.com> wrote: > > > Thanks for your answer, but does the Keystore implementation support > > hardware tokens like smart card??, > > > > It does, if you have a pkcs#11 library for your card. > > > > https://developer.mozilla.org/en-US/docs/JSS > > > > Java provides a JCE provider called SunPKCS11, see Java PKCS#11 Reference > > > Guide< > > > http://download.java.net/jdk7/docs/technotes/guides/security/p11guide.html > > >, > > > SunPKCS11 can be configured to use NSS module as the crytographic > > provider. > > > If you are planning to just use JSS JCE provider as a bridge to NSS's > > FIPS > > > validated PKCS#11 module, then the SunPKCS11 JCE provider may do all > that > > > you need. Note that Java 1.5 claimed no FIPS compliance, and Java 1.6< > > > http://java.sun.com/javase/6/docs/technotes/guides/security/enhancements.html > > > > or > > > higher needs to be used. *A current limitation to the configured > > > SunPKCS11-NSS bridge configuration is if you add a PKCS#11 module to > the > > > NSS database such as for a smartcard, you won't be able to access that > > > smartcard through the SunPKCS11-NSS bridge. * If you use JSS, you can > > > easily get lists of modules and tokens that are configured in the NSS > DB > > > and freely access all of it. > > > > furthermore, check this: > > http://www.mozilla.org/projects/security/pki/jss/provider_notes.html > > > The following classes don't work very well: > > > > > > > > > - *KeyStore:* There are many serious problems mapping the JCA > keystore > > > interface onto NSS's model of PKCS #11 modules. The current > > implementation > > > is almost useless. Since these problems lie deep in the NSS design > and > > > implementation, there is no clear timeframe for fixing them. > > Meanwhile, the > > > org.mozilla.jss.crypto.CryptoStore class can be used for some of > this > > > functionality. > > > > Yes, we have smartcards and use them with Java. > A little example: http://stackoverflow.com/a/8429162 > > Nice day! > > > > On Fri, Apr 12, 2013 at 4:54 AM, helpcrypto helpcrypto < > > helpcry...@gmail.com > > > wrote: > > > > > On Thu, Apr 11, 2013 at 11:59 PM, Jaime Hablutzel Egoavil < > > > hablutz...@gmail.com> wrote: > > > > > > > Hi, I have a hardware token accesible via PKCS#11 which is storing > > > private > > > > keys and certificate like this : > > > > > > > > certificate A, CKA_ID: 1234 > > > > certificate B, CKA_ID: 1234 > > > > > > > > > > Hi Jaime. > > > In our case CKA_ID=hash(public key)...i think sha1. > > > This way its much more "friendly". > > > > > > > > Yes, that would be a wise choose for CKA_ID but as I told you our > provider > > is doing that and the PKCS#11 spec doesn't push him to do otherwise. > > > > > > > > > > > > > priv key for certificate A, CKA_ID: 1234 > > > > priv key for certificate B, CKA_ID: 1234 > > > > > > > > Well, then I get 'certificate A' and > > > > call org.mozilla.jss.CryptoManager#findPrivKeyByCert passing it as a > > > > parameter and I can get 'priv key for certificate B' instead of 'priv > > key > > > > for certificate A' because of the way findPrivKeyByCert is > implemented > > > > depending on 'PK11_MatchItem' method from NSS which in its > > documentation > > > > states: > > > > > > > > > > We move from jss to KeyStore and we are happier since then. > > > > > > > > > > > > > > /* > > > > * given a PKCS #11 object, match it's peer based on the KeyID. > > searchID > > > > * is typically a privateKey or a certificate while the peer is the > > > > opposite > > > > */ > > > > > > > > As long as now it could seem a problem with the hardware token > > > > manufacturer, repeating CKA_IDs for objects, but then if you see > > > > PKCS#11v2.20 spec, in *10.6.3 X.509 public key certificate objects*: > > > > > > > > *The CKA_ID attribute is intended as a means of distinguishing > multiple > > > > > publickey/ > > > > > **private-key pairs held by the same subject (whether stored in the > > > same > > > > > token or not). > > > > > **(Since the keys are distinguished by subject name as well as > > > > identifier, > > > > > it is possible that keys for different subjects may have the same > > > > CKA_IDvalue without introducing any ambiguity.) > > > > > ** > > > > > **It is intended in the interests of interoperability that the > > subject > > > > > name and key identifier > > > > > **for a certificate will be the same as those for the corresponding > > > > > public and private keys > > > > > **(though it is not required that all be stored in the same token). > > > > > However, Cryptoki does > > > > > **not enforce this association, or even the uniqueness of the key > > > > > identifier for a given > > > > > **subject; in particular, an application may leave the key > identifier > > > > > empty.* > > > > > > > > > > > > So NSS should not depend only on CKA_ID, but it should use > CKA_Subject > > > too, > > > > but if you see the last bold section these attributes are not 100% > > > > trustable. > > > > > > > > I see this as a implementation problem, maybe after finding a > 'matching > > > > item' NSS should check if it actually matches, and if it isn't it > > should > > > > resort to another strategy for finding the matching item. > > > > > > > > What do you think? > > > > > > > > > > Just an opinion, but forget JSS and use Java Provider and Java > Keystore;) > > > > > > entries = ks.aliases(); > > > while (entries.hasMoreElements()) { > > > alias = entries.nextElement(); > > > //Check if its a cert with a private key > > > if (ks.isKeyEntry(alias)) { > > > ... > > > -- > > > dev-tech-crypto mailing list > > > dev-tech-crypto@lists.mozilla.org > > > https://lists.mozilla.org/listinfo/dev-tech-crypto > > > > > > > > > > > -- > > Jaime Hablutzel - RPC 987608463 > > -- > > dev-tech-crypto mailing list > > dev-tech-crypto@lists.mozilla.org > > https://lists.mozilla.org/listinfo/dev-tech-crypto > > > -- > dev-tech-crypto mailing list > dev-tech-crypto@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-tech-crypto > -- Jaime Hablutzel - RPC 987608463 -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto