[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

java security sign a file return: java.security.InvalidKeyException: No installed provider supports this key: sun.security.rsa.RSAPrivateCrtKeyImpl



 
    
$ /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/java.exe Hancock -s edgedemo.keystore edgedemo edgedemo README 1
Exception in thread "main" java.security.InvalidKeyException: No installed provider supports this key: sun.security.rsa.RSAPrivateCrtKeyImpl
        at java.security.Signature$Delegate.chooseProvider(Signature.java:1059)
        at java.security.Signature$Delegate.engineInitSign(Signature.java:1100)
        at java.security.Signature.initSign(Signature.java:485)
        at Hancock.main(Hancock.java:32)

$ rm -f edgedemo.keystore

$ /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/keytool.exe -import -keystore edgedemo.keystore -storepass edgedemo -alias edgedemo -file edgedemo.pem -keyalg RSA -sigalg SHA1WithRSA
Owner: CN=EIS demo certificate (no passphrase on private key), OU=ITSB EDGE, O=Australian Securities & Investments Commission, L=Sydney, ST=NSW, C=AU
Issuer: EMAILADDRESS=edge@xxxxxxxxxxx, CN=EDGE Test Certificate CA, OU=ITSB EDGE, O=Australian Securities & Investments Commission, L=Sydney, ST=NSW, C=AU
Serial number: 2
Valid from: Fri Oct 02 08:09:34 EST 1998 until: Sat Oct 02 08:09:34 EST 1999
Certificate fingerprints:
         MD5:  9F:C5:D6:4A:1E:26:2C:DD:A6:97:77:E2:FD:B3:1C:23
         SHA1: 27:9C:15:24:B8:FF:9A:A0:25:3D:79:06:F5:50:05:6C:D8:B0:7E:B2
Trust this certificate? [no]:  yes
Certificate was added to keystore

OR:

$ /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/keytool.exe -import -keystore edgedemo.keystore -storepass edgedemo -alias edgedemo -file edgedemo.pem -keyalg RSA -sigalg MD5WithRSA


$ /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/keytool.exe -list -alias edgedemo -keystore edgedemo.keystore -storepass edgedemo -v
Alias name: edgedemo
Creation date: Jun 2, 2006
Entry type: trustedCertEntry

Owner: CN=EIS demo certificate (no passphrase on private key), OU=ITSB EDGE, O=Australian Securities & Investments Commission, L=Sydney, ST=NSW, C=AU
Issuer: EMAILADDRESS=edge@xxxxxxxxxxx, CN=EDGE Test Certificate CA, OU=ITSB EDGE, O=Australian Securities & Investments Commission, L=Sydney, ST=NSW, C=AU
Serial number: 2
Valid from: Fri Oct 02 08:09:34 EST 1998 until: Sat Oct 02 08:09:34 EST 1999
Certificate fingerprints:
         MD5:  9F:C5:D6:4A:1E:26:2C:DD:A6:97:77:E2:FD:B3:1C:23
         SHA1: 27:9C:15:24:B8:FF:9A:A0:25:3D:79:06:F5:50:05:6C:D8:B0:7E:B2

$ /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/keytool.exe -list -alias edgedemo -keystore edgedemo.keystore -storepass edgedemo -rfc
Alias name: edgedemo
Creation date: Jun 2, 2006
Entry type: trustedCertEntry

-----BEGIN CERTIFICATE-----
MIIDVzCCAsCgAwIBAgIBAjANBgkqhkiG9w0BAQQFADCBvTELMAkGA1UEBhMCQVUxDDAKBgNVBAgT
A05TVzEPMA0GA1UEBxMGU3lkbmV5MTcwNQYDVQQKFi5BdXN0cmFsaWFuIFNlY3VyaXRpZXMgJiBJ
bnZlc3RtZW50cyBDb21taXNzaW9uMRIwEAYDVQQLEwlJVFNCIEVER0UxITAfBgNVBAMTGEVER0Ug
VGVzdCBDZXJ0aWZpY2F0ZSBDQTEfMB0GCSqGSIb3DQEJARYQZWRnZUB6ZXRhLm9yZy5hdTAeFw05
ODEwMDEyMjA5MzRaFw05OTEwMDEyMjA5MzRaMIG3MQswCQYDVQQGEwJBVTEMMAoGA1UECBMDTlNX
MQ8wDQYDVQQHEwZTeWRuZXkxNzA1BgNVBAoWLkF1c3RyYWxpYW4gU2VjdXJpdGllcyAmIEludmVz
dG1lbnRzIENvbW1pc3Npb24xEjAQBgNVBAsTCUlUU0IgRURHRTE8MDoGA1UEAxMzRUlTIGRlbW8g
Y2VydGlmaWNhdGUgKG5vIHBhc3NwaHJhc2Ugb24gcHJpdmF0ZSBrZXkpMIGfMA0GCSqGSIb3DQEB
AQUAA4GNADCBiQKBgQC9XoetNUtQ+8kB7ZfTL7gjU0ldItXBkruHcZiTXGcXrEDUIiqj0OoqrtzB
OZDzSj7wwahcICphG7pcnf+fpIpXsO379iII7C7742oppdMqsirVNqPZ3Q87xr87DGa/eVheFwNs
yNnA9Cxoug6UTnt5QuCbewUSjOCbovnzA5E+nwIDAQABo2swaTAyBglghkgBhvhCAQQEJRYjaHR0
cDovL3d3dy5jcnlwdHNvZnQuY29tL2NhLWNybC5wZW0wIAYJYIZIAYb4QgENBBMWEVRoaXMgaXMg
YSBjb21tZW50MBEGCWCGSAGG+EIBAQQEAwIAQDANBgkqhkiG9w0BAQQFAAOBgQBgOO1bzF2sksP4
BKk4JHKBWNXKQkX2nqx7kVgOiPtnUxEvg/tBtvhFgkfkcc1c4odIsDnTSxDY8fGaz5ePhOY9l0H7
sV2+xRsXdB48sGMWLAGh52UZUsOvF0gfLChrYUmviSK5ls4vqSNaVjcJ/Cj6Xqyl1wWvlSCuIqC2
eoGPmg==
-----END CERTIFICATE-----

Because edgedemo ceritificate already expired:

$ /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/java.exe Hancock -s edgedemo.keystore edgedemo edgedemo README REAME.signed
Exception in thread "main" java.security.InvalidKeyException: Key must not be null
        at sun.security.rsa.RSAKeyFactory.engineTranslateKey(RSAKeyFactory.java:140)
        at sun.security.rsa.RSAKeyFactory.toRSAKey(RSAKeyFactory.java:79)
        at sun.security.rsa.RSASignature.engineInitSign(RSASignature.java:90)
        at sun.security.rsa.RSASignature.engineInitSign(RSASignature.java:84)
        at java.security.Signature$Delegate.init(Signature.java:1076)
        at java.security.Signature$Delegate.chooseProvider(Signature.java:1036)
        at java.security.Signature$Delegate.engineInitSign(Signature.java:1100)
        at java.security.Signature.initSign(Signature.java:485)
        at Hancock.main(Hancock.java:32)

Using production certificate works!

$ /cygdrive/c/Program\ Files/Java/jdk1.5.0_07/bin/java.exe Hancock -s edgedemo.keystore edgedemo incorp README README.signed
 
in Hancock.java file, there is a line:

Signature signature = Signature.getInstance ("SHA1WithRSA");

That causes the problem "java.security.InvalidKeyException: No installed provider supports this key: sun.security.rsa.RSAPrivateCrtKeyImpl"


Reference
=========

Java Technology Forums - Is there ANY way to get a signed certificate for a cert created by JSSE? - <http://forum.java.sun.com/thread.jspa?threadID=674895&messageID=3943113>

-keyalg algorithm-name

   Used with -genkey to specify what type of cryptographic keys to generate. In the default Java implementation shipped from Sun, the only supported algorithm is "DSA"; this is the default if this option is omitted.

-sigalg algorithm-name

   Specifies a digital signature algorithm that signs a certificate. If omitted, the default for this option depends on the type of underlying public key. If it is a DSA key, the default algorithm is "SHA1withDSA". If the key is an RSA key, the default signature algorithm is "MD5withRSA".




-- 
Terrence Miao                       
Independent IT Consultant                              ...   __o         
Intelligent Business Solutions & Services Pty. Ltd.  ...    -\<,  
URL: http://www.terrencemiao.com/                     ... (_)/(_) ..

Google