nebula
nebula copied to clipboard
Support NIST curve P256
This change adds support for NIST curve P256. When you use nebula-cert ca or nebula-cert keygen, you can specify -curve P256 to enable it. The curve to use is based on the curve defined in your CA certificate.
Internally, we use ECDSA P256 to sign certificates, and ECDH P256 to do Noise handshakes. P256 is not supported natively in Noise Protocol, so we define DHP256 in the noiseutil package to implement support for it.
You cannot have a mixed network of Curve25519 and P256 certificates, since the Noise protocol will only attempt to parse using the Curve defined in the host's certificate.