hierynomus / hierynomus/sshj

EdDSAPublicKeySpec NPE

Open
#478 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.7k
Forks
620
Avg merge
3d 23h
Merged PRs (30d)
11

Description

Using the latest SSHJ/master, I ran into the following while connecting to an Ubuntu 18.04 box:

```
net.schmizz.sshj.transport.TransportException: null
at net.schmizz.sshj.transport.TransportException$1.chain(TransportException.java:33)
at net.schmizz.sshj.transport.TransportException$1.chain(TransportException.java:27)
at net.schmizz.concurrent.Promise.deliverError(Promise.java:95)
at net.schmizz.concurrent.Event.deliverError(Event.java:74)
at net.schmizz.concurrent.ErrorDeliveryUtil.alertEvents(ErrorDeliveryUtil.java:34)
at net.schmizz.sshj.transport.KeyExchanger.notifyError(KeyExchanger.java:392)
at net.schmizz.sshj.transport.TransportImpl.die(TransportImpl.java:600)
at net.schmizz.sshj.transport.Reader.run(Reader.java:65)
Caused by: net.schmizz.sshj.common.SSHException: null
at net.schmizz.sshj.common.SSHException$1.chain(SSHException.java:36)
at net.schmizz.sshj.common.SSHException$1.chain(SSHException.java:29)
at net.schmizz.sshj.transport.TransportImpl.die(TransportImpl.java:595)
at net.schmizz.sshj.transport.Reader.run(Reader.java:65)
Caused by: java.lang.NullPointerException: null
at net.i2p.crypto.eddsa.spec.EdDSAPublicKeySpec.(EdDSAPublicKeySpec.java:31)
at net.schmizz.sshj.common.KeyType$6.readPubKeyFromBuffer(KeyType.java:187)
at net.schmizz.sshj.common.Buffer.readPublicKey(Buffer.java:468)
at net.schmizz.sshj.transport.kex.AbstractDHG.next(AbstractDHG.java:66)
at net.schmizz.sshj.transport.KeyExchanger.handle(KeyExchanger.java:364)
at net.schmizz.sshj.transport.TransportImpl.handle(TransportImpl.java:503)
at net.schmizz.sshj.transport.Decoder.decodeMte(Decoder.java:159)
at net.schmizz.sshj.transport.Decoder.decode(Decoder.java:79)
at net.schmizz.sshj.transport.Decoder.received(Decoder.java:231)
at net.schmizz.sshj.transport.Reader.run(Reader.java:59)
```

I'm guessing this means that EsDSAParameterSpec.getCurve().getField() is returning null. Obviously I only get this error when I've added an EdDSASignatureFactory in the configuration.

I don't get this error form my fork, which is relatively stale (from April 2017), even when I do have the EdDSASignatureFactory added to the config.

Any ideas, before I start digging in?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.