aboutsummaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ipxe/crypto.h4
-rw-r--r--src/include/ipxe/tls.h7
2 files changed, 10 insertions, 1 deletions
diff --git a/src/include/ipxe/crypto.h b/src/include/ipxe/crypto.h
index dcc73f3ef..4bd543ae2 100644
--- a/src/include/ipxe/crypto.h
+++ b/src/include/ipxe/crypto.h
@@ -184,7 +184,9 @@ struct pubkey_algorithm {
struct elliptic_curve {
/** Curve name */
const char *name;
- /** Key size */
+ /** Point (and public key) size */
+ size_t pointsize;
+ /** Scalar (and private key) size */
size_t keysize;
/** Multiply scalar by curve point
*
diff --git a/src/include/ipxe/tls.h b/src/include/ipxe/tls.h
index 08d58689e..bf9807230 100644
--- a/src/include/ipxe/tls.h
+++ b/src/include/ipxe/tls.h
@@ -218,12 +218,19 @@ struct tls_cipher_suite {
/** TLS named curved type */
#define TLS_NAMED_CURVE_TYPE 3
+/** TLS uncompressed curve point format */
+#define TLS_POINT_FORMAT_UNCOMPRESSED 4
+
/** A TLS named curve */
struct tls_named_curve {
/** Elliptic curve */
struct elliptic_curve *curve;
/** Numeric code (in network-endian order) */
uint16_t code;
+ /** Curve point format byte (if any) */
+ uint8_t format;
+ /** Pre-master secret length */
+ uint8_t pre_master_secret_len;
};
/** TLS named curve table */