Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenSSH public key not working #36

Closed
petergillardmoss opened this issue Sep 30, 2011 · 8 comments
Closed

OpenSSH public key not working #36

petergillardmoss opened this issue Sep 30, 2011 · 8 comments

Comments

@petergillardmoss
Copy link

This works on my dev box but not on our server.

java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)

Here's the output:

   [junit] Disabling high-strength ciphers: cipher strengths apparently limited by JCE policy
    [junit] Client identity string: SSH-2.0-SSHJ_0_6_0
    [junit] Server identity string: SSH-2.0-OpenSSH_4.3
    [junit] Setting <<kex done>> to `null`
    [junit] Sending SSH_MSG_KEXINIT
    [junit] Setting <<kexinit sent>> to `SOME`
    [junit] Awaiting <<kex done>>
    [junit] Received SSH_MSG_KEXINIT
    [junit] Negotiated algorithms: [ kex=diffie-hellman-group1-sha1; sig=ssh-rsa; c2sCipher=aes128-ctr; s2cCipher=aes128-ctr; c2sMAC=hmac-sha1; s2cMAC=hmac-sha1; c2sComp=none; s2cComp=none ]
    [junit] Sending SSH_MSG_KEXDH_INIT
    [junit] Received kex followup data
    [junit] Received SSH_MSG_KEXDH_REPLY
    [junit] Trying to verify host key with net.schmizz.sshj.transport.verification.OpenSSHKnownHosts@5e9de959
    [junit] Sending SSH_MSG_NEWKEYS
    [junit] Received SSH_MSG_NEWKEYS
    [junit] Setting <<kexinit sent>> to `null`
    [junit] Setting <<kex done>> to `SOME`
    [junit] Key exchange took 0.107 seconds
    [junit] Attempting to load key from: /var/go/.ssh/id_rsa
    [junit] Could not load keys due to: {}
    [junit] net.schmizz.sshj.common.SSHException: No provider available for OpenSSH key file
    [junit]     at net.schmizz.sshj.SSHClient.loadKeys(SSHClient.java:482)
    [junit]     at net.schmizz.sshj.SSHClient.loadKeys(SSHClient.java:438)
    [junit]     at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:348)
    [junit]     at net.schmizz.sshj.SSHClient.authPublickey(SSHClient.java:282)
    [junit]     at com.tws.util.SSH.exec(SSH.java:29)
    [junit]     at com.tws.cloud.ReverseProxyTest.cleanUpProxyRules(ReverseProxyTest.java:44)
    [junit]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [junit]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    [junit]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [junit]     at java.lang.reflect.Method.invoke(Method.java:597)
    [junit]     at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
    [junit]     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    [junit]     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
    [junit]     at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:37)
    [junit]     at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
    [junit]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:69)
    [junit]     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:48)
    [junit]     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
    [junit]     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
    [junit]     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
    [junit]     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
    [junit]     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
    [junit]     at org.junit.runners.ParentRunner.run(ParentRunner.java:292)
    [junit]     at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:420)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM(JUnitTask.java:1339)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:831)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1785)
    [junit]     at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:785)
    [junit]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [junit]     at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [junit]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [junit]     at java.lang.reflect.Method.invoke(Method.java:597)
    [junit]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    [junit]     at org.apache.tools.ant.Task.perform(Task.java:348)
    [junit]     at org.apache.tools.ant.Target.execute(Target.java:357)
    [junit]     at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [junit]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    [junit]     at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    [junit]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [junit]     at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    [junit]     at org.apache.tools.ant.Main.runBuild(Main.java:758)
    [junit]     at org.apache.tools.ant.Main.startAnt(Main.java:217)
    [junit]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    [junit]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
@shikhar
Copy link
Contributor

shikhar commented Sep 30, 2011

You need the BouncyCastle jar in classpath.

@shikhar shikhar closed this as completed Sep 30, 2011
@petergillardmoss
Copy link
Author

I think you may have closed this issue prematurely, could you please re-open?

I do have BouncyCastle jar in classpath.

I am using bcprov-jdk16-146.jar. Perhaps I have the wrong jar? However this is the one checked in and working with success on my dev box just not the build server. I tried extracting ALL bouncycastle providers but this didn't help either.

I have output more debug info to prove loading of bouncycastle:

class net.schmizz.sshj.common.SSHRuntimeException loaded from ant loader (parentFirst)
Finding class net.schmizz.sshj.common.SecurityUtils$BouncyCastleRegistration
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/sshj-0.6.0.jar net/schmizz/sshj/common/SecurityUtils$BouncyCastleRegistration.class
Class net.schmizz.sshj.common.SecurityUtils$BouncyCastleRegistration loaded from ant loader (parentFirst)
Class java.security.Provider loaded from parent loader (parentFirst)
Finding class org.bouncycastle.jce.provider.BouncyCastleProvider
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/BouncyCastleProvider.class
Finding class org.bouncycastle.jce.interfaces.ConfigurableProvider
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/interfaces/ConfigurableProvider.class
Class org.bouncycastle.jce.interfaces.ConfigurableProvider loaded from ant loader (parentFirst)
Class org.bouncycastle.jce.provider.BouncyCastleProvider loaded from ant loader (parentFirst)
Class java.security.Security loaded from parent loader (parentFirst)
Finding class org.bouncycastle.asn1.DERObjectIdentifier
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/DERObjectIdentifier.class
Finding class org.bouncycastle.asn1.ASN1Object
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/ASN1Object.class
Finding class org.bouncycastle.asn1.DERObject
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/DERObject.class
Finding class org.bouncycastle.asn1.DERTags
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/DERTags.class
Class org.bouncycastle.asn1.DERTags loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.ASN1Encodable
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/ASN1Encodable.class
Finding class org.bouncycastle.asn1.DEREncodable
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/DEREncodable.class
Class org.bouncycastle.asn1.DEREncodable loaded from ant loader (parentFirst)
Class org.bouncycastle.asn1.ASN1Encodable loaded from ant loader (parentFirst)
Class org.bouncycastle.asn1.DERObject loaded from ant loader (parentFirst)
Class org.bouncycastle.asn1.ASN1Object loaded from ant loader (parentFirst)
Class org.bouncycastle.asn1.DERObjectIdentifier loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.ASN1ObjectIdentifier
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/ASN1ObjectIdentifier.class
Class org.bouncycastle.asn1.ASN1ObjectIdentifier loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.BouncyCastleProvider$1
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/BouncyCastleProvider$1.class
Class org.bouncycastle.jce.provider.BouncyCastleProvider$1 loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.AES$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/AES$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.AES$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.nist.NISTObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/nist/NISTObjectIdentifiers.class
Class org.bouncycastle.asn1.nist.NISTObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.ARC4$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/ARC4$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.ARC4$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Blowfish$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Blowfish$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Blowfish$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Camellia$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Camellia$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Camellia$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.ntt.NTTObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/ntt/NTTObjectIdentifiers.class
Class org.bouncycastle.asn1.ntt.NTTObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.CAST5$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/CAST5$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.CAST5$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.CAST6$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/CAST6$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.CAST6$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.DESede$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/DESede$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.DESede$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/pkcs/PKCSObjectIdentifiers.class
Class org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.oiw.OIWObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/oiw/OIWObjectIdentifiers.class
Class org.bouncycastle.asn1.oiw.OIWObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Grainv1$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Grainv1$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Grainv1$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Grain128$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Grain128$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Grain128$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.HC128$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/HC128$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.HC128$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.HC256$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/HC256$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.HC256$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.IDEA$Mappings
Finding class org.bouncycastle.jce.provider.symmetric.Noekeon$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Noekeon$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Noekeon$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.RC5$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/RC5$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.RC5$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.RC6$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/RC6$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.RC6$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Rijndael$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Rijndael$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Rijndael$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Salsa20$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Salsa20$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Salsa20$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.SEED$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/SEED$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.SEED$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.kisa.KISAObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/kisa/KISAObjectIdentifiers.class
Class org.bouncycastle.asn1.kisa.KISAObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Serpent$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Serpent$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Serpent$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Skipjack$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Skipjack$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Skipjack$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.TEA$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/TEA$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.TEA$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.Twofish$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/Twofish$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.Twofish$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.VMPC$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/VMPC$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.VMPC$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.VMPCKSA3$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/VMPCKSA3$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.VMPCKSA3$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.symmetric.XTEA$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/symmetric/XTEA$Mappings.class
Class org.bouncycastle.jce.provider.symmetric.XTEA$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.jce.provider.asymmetric.EC$Mappings
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/asymmetric/EC$Mappings.class
Class org.bouncycastle.jce.provider.asymmetric.EC$Mappings loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.x9.X9ObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/x9/X9ObjectIdentifiers.class
Class org.bouncycastle.asn1.x9.X9ObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/cryptopro/CryptoProObjectIdentifiers.class
Class org.bouncycastle.asn1.cryptopro.CryptoProObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/teletrust/TeleTrusTObjectIdentifiers.class
Class org.bouncycastle.asn1.teletrust.TeleTrusTObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.eac.EACObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/eac/EACObjectIdentifiers.class
Class org.bouncycastle.asn1.eac.EACObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.bc.BCObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/bc/BCObjectIdentifiers.class
Class org.bouncycastle.asn1.bc.BCObjectIdentifiers loaded from ant loader (parentFirst)
Finding class org.bouncycastle.asn1.iana.IANAObjectIdentifiers
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/asn1/iana/IANAObjectIdentifiers.class
Class org.bouncycastle.asn1.iana.IANAObjectIdentifiers loaded from ant loader (parentFirst)
Class java.security.MessageDigest loaded from parent loader (parentFirst)
Finding class org.bouncycastle.jce.provider.JDKMessageDigest$MD5
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/JDKMessageDigest$MD5.class
Finding class org.bouncycastle.jce.provider.JDKMessageDigest
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/jce/provider/JDKMessageDigest.class
Class org.bouncycastle.jce.provider.JDKMessageDigest loaded from ant loader (parentFirst)
Class org.bouncycastle.jce.provider.JDKMessageDigest$MD5 loaded from ant loader (parentFirst)
Finding class org.bouncycastle.crypto.Digest
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/crypto/Digest.class
Class org.bouncycastle.crypto.Digest loaded from ant loader (parentFirst)
Finding class org.bouncycastle.crypto.digests.MD5Digest
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/crypto/digests/MD5Digest.class
Finding class org.bouncycastle.crypto.digests.GeneralDigest
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/crypto/digests/GeneralDigest.class
Finding class org.bouncycastle.crypto.ExtendedDigest
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/bcprov-jdk16-146.jar org/bouncycastle/crypto/ExtendedDigest.class
Class org.bouncycastle.crypto.ExtendedDigest loaded from ant loader (parentFirst)
Class org.bouncycastle.crypto.digests.GeneralDigest loaded from ant loader (parentFirst)
Class org.bouncycastle.crypto.digests.MD5Digest loaded from ant loader (parentFirst)
Class javax.crypto.KeyAgreement loaded from parent loader (parentFirst)
Finding class net.schmizz.sshj.common.Factory$Named
Loaded from /var/lib/go-agent/pipelines/SourceCode/tools/prod/sshj-0.6.0.jar net/schmizz/sshj/common/Factory$Named.class

@petergillardmoss
Copy link
Author

I switched to Ganymed SSH-2 for Java and that worked without any problems so I suggest there is a bug either in bouncycastle or in sshj

@shikhar shikhar reopened this Oct 3, 2011
@shikhar
Copy link
Contributor

shikhar commented Oct 4, 2011

Actually I don't think Ganymed depends on BouncyCastle so that's a moot point

@petergillardmoss
Copy link
Author

Yes I understand that. But Ganymed proves that there is nothing wrong with my ssh key and therefore your sshj+BouncyCastle should work but it doesn't.

@hierynomus
Copy link
Owner

It works in Overthere with SSHJ 0.6.0. What is the private key format you're using. In our unit tests we use a key like:
-----BEGIN PRIVATE RSA KEY----- mumbojumbo -----END PRIVATE RSA KEY-----

See: https://github.com/xebialabs/overthere/blob/master/overthere/src/test/java/com/xebialabs/overthere/OverthereOnUnixItest.java

@hierynomus
Copy link
Owner

Hey Peter,

I think this looks like about the same issue as you are having. I'm looking into that.
https://gist.github.com/1321719#comments

@shikhar
Copy link
Contributor

shikhar commented Nov 10, 2011

Hmm, I still think this is related to bouncy castle detection... the exception message is 'No provider available for OpenSSH key file'

So KeyProviderUtil.detectKeyFileFormat() detected an OpenSSH-format[1] key file, but there is no FileKeyProvider for that kind of key registered with the 'Config' object. With the DefaultConfig implementation this only happens if SecurityUtils.isBouncyCastleRegistered() == false.

For Krishnan, the error is: 'No provider available for Unknown key file', so the key file format cannot be detected by the detectKeyFileFormat() method.

[1] OpenSSH format = PKCS8 encoded private key file, with an unencrypted publickey inside a '.pub' file by the same name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants