I believe your JSS doc calls for a Sun public key: It shows public void initVerify(java.security.PublicKey publicKey)... Incorrect doc?
-- P "Jamie Nicolson" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > OK. The public key is obtained from Sun's classes. It is not an NSS key. > > For now, the way to create an NSS/PKCS #11 public key is to call > PK11PubKey.fromRaw(). I believe you can call getEncoded() on the key you > got from the Sun class, and pass that as the raw key to fromRaw(). > > Patrick wrote: > > > The public key is gotten from the certificate stored in certFile (in > > base64 encoding). So the logic looks something like: > > > > > > > > Signature sig = > > nssToken.getSignatureContext(SignatureAlgorithm.RSASignatureWithSHA1Digest); > > > > InputStream inStream = new FileInputStream(certFile); > > java.security.cert.CertificateFactory cf = > > java.security.cert.CertificateFactory.getInstance("X.509"); > > java.security.PublicKey pubKey = > > ((java.security.cert.X509Certificate)cf.generateCertificate(inStream)).getPu blicKey(); > > > > sig.initVerify(pubKey); > > > > > > > > -- P > > > > "Jamie Nicolson" <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]> > wrote in message > > [EMAIL PROTECTED]">news:[EMAIL PROTECTED] ... > > > > Patrick wrote: > > > >>Yes it is. The private key is my NSS internal key token (NSS cert db). > >> > >>-- P > >> > > OK, the private key is on an NSS token. But where did the public > > key come from? > > > >> > >> > >>"Jamie Nicolson" <[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]> wrote in message > >>[EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > >> > >>>Well, is it a PKCS #11 public key? JSS can only work with keys that it > >>>possesses. You can't give it a public key you created with the JDK. > >>> > >>>Patrick wrote: > >>> > >>>>I get this error when doing a sig.initVerify(pubKey), using JSS' > >>>> > >>Signature: > >> > >>>>java.security.InvalidKeyException: publicKey is not a PKCS #11 public key > >>>> > >>>>at > >>>> > >>>org.mozilla.jss.pkcs11.PK11Signature.engineInitVerify(PK11Signature.java: 17 > >>> > >>2 > >> > >>>>) > >>>> > >>>>at org.mozilla.jss.crypto.Signature.initVerify(Signature.java:95) > >>>> > >>>>when I use Sun's java.security.Signature, I don't get that error... > >>>> > >>>>-- P > >>>> > >>>> > >>>> > >>> > >> > >> > > > > > >
