-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Conn securing error: Malformed public key.
#135
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
Comments
Closed
We've been fighting this one since the change in the handshake stuff. The error is being thrown from crypto/spipe/handshake |
I can look into this. Right now i'm finishing up the bootstrap cmd |
jbenet
added a commit
that referenced
this issue
Oct 5, 2014
This commit fixed the notoriously annoying "Malformed Public Key" problem. The issue was that sometimes the byte representation of the points (x,y in big.Int) generated would be one less byte than expected. This is simply because (* big.Int) Write uses the least amount of bytes needed for the int. I instead changed the marshalling/unmarshalling to do exactly what stdlib crypto/tls does: use `ellipctic.Marshal` which marshals according to the ANSI X9.62 standard. http://golang.org/pkg/crypto/elliptic/#Marshal http://golang.org/src/pkg/crypto/tls/key_agreement.go#L214 ```Go // crypto/tls ka.privateKey, x, y, err = elliptic.GenerateKey(ka.curve, config.rand()) ecdhePublic := elliptic.Marshal(ka.curve, x, y) // ipfs/crypto priv, x, y, err := elliptic.GenerateKey(curve, rand.Reader) pubKey := elliptic.Marshal(curve, x, y) ``` ((Warning: we're using `rand.Reader` directly, which we shouldn't do, as it can be seeded. We should use a configured source, as crypto/tls. Flagged in #143)) This makes me think we should re-use a lot of their datastructures and functions directly (e.g. ecdheKeyAgreement) Fixed: #135 cc @Bren2010 @whyrusleeping
fixed in 5136c78 |
laurentsenta
pushed a commit
to laurentsenta/kubo
that referenced
this issue
Feb 25, 2022
laurentsenta
pushed a commit
to laurentsenta/kubo
that referenced
this issue
Feb 25, 2022
laurentsenta
pushed a commit
to laurentsenta/kubo
that referenced
this issue
Mar 4, 2022
laurentsenta
pushed a commit
to laurentsenta/kubo
that referenced
this issue
Mar 4, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Sometimes tests fail with:
The text was updated successfully, but these errors were encountered: