DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=40826>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=40826 ------- Additional Comments From [EMAIL PROTECTED] 2006-11-02 09:44 ------- (In reply to comment #11) > > Each time i sign, i add the provider (Security.addProvider(p)) and create a > > new > > PrivateKey object. Im not reusing nothing.. is it correct ? or i must have > > to > > remove and add the provider each time? from what i know...when we use the > > addProvider, it add the provider in the available slot, but we can add in a > > specific slot, just using addProviderAt(p, 2) for instance. > > Ahh, here's what I think is happening: > > The first time you call Security.addProvider(p), your provider is added > correctly, you create a new PrivateKey object using that same provider and > the xml signing operation works ok. > > The next time you create a new provider and call Security.addProvider(p), > I bet the provider is not added because it is already installed (from the APIs > standpoint, it is the same provider even though it is a new instance). Check > the return value of addProvider to see if it returns -1. > > *But* (and this is a major but), you then use the new provider instance to > create a PrivateKey object. There's the problem. When you use this PrivateKey > to sign, the xml signature cannot find the provider that you used to create it > (since it is not installed, it only finds the old provider but that won't > work with the new PrivateKey) and therefore the signing operation fails > because > it cannot find a provider that the key can be used with. > > Workarounds: > > Either, 1) explicitly remove the provider before you reinstall it each > time, or 2) only create and install the provider once and always use > this provider to create the PrivateKeys. > > Please confirm if this is the case. Exactly! the addProvider is returning -1 at the second time! (the first returned a high position: 7). however i am not having problems anymore because im using like this: Security.addProvider(p); KeyStore.getInstance("PKCS11"); If i use KeyStore.getInstance("PKCS11", p), then i get the exception the second time! Sean Mullan, Thank you very much for your clarifications! i am doing this as a part of my monograph project (Information Systems course). I will put your name in the gratfulness area! :)) -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.