mirror of
https://github.com/ipxe/ipxe
synced 2025-12-06 17:30:26 +03:00
[crypto] Remove obsolete maximum output length method
Now that public-key algorithms use ASN.1 builders to dynamically allocate the output data, there is no further need for callers to be able to determine the maximum output length. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -93,10 +93,6 @@ struct cipher_algorithm cipher_null = {
|
|||||||
.auth = cipher_null_auth,
|
.auth = cipher_null_auth,
|
||||||
};
|
};
|
||||||
|
|
||||||
size_t pubkey_null_max_len ( const struct asn1_cursor *key __unused ) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int pubkey_null_encrypt ( const struct asn1_cursor *key __unused,
|
int pubkey_null_encrypt ( const struct asn1_cursor *key __unused,
|
||||||
const struct asn1_cursor *plaintext __unused,
|
const struct asn1_cursor *plaintext __unused,
|
||||||
struct asn1_builder *ciphertext __unused ) {
|
struct asn1_builder *ciphertext __unused ) {
|
||||||
@@ -125,7 +121,6 @@ int pubkey_null_verify ( const struct asn1_cursor *key __unused,
|
|||||||
|
|
||||||
struct pubkey_algorithm pubkey_null = {
|
struct pubkey_algorithm pubkey_null = {
|
||||||
.name = "null",
|
.name = "null",
|
||||||
.max_len = pubkey_null_max_len,
|
|
||||||
.encrypt = pubkey_null_encrypt,
|
.encrypt = pubkey_null_encrypt,
|
||||||
.decrypt = pubkey_null_decrypt,
|
.decrypt = pubkey_null_decrypt,
|
||||||
.sign = pubkey_null_sign,
|
.sign = pubkey_null_sign,
|
||||||
|
|||||||
@@ -287,27 +287,6 @@ static int rsa_init ( struct rsa_context *context,
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Calculate RSA maximum output length
|
|
||||||
*
|
|
||||||
* @v key Key
|
|
||||||
* @ret max_len Maximum output length
|
|
||||||
*/
|
|
||||||
static size_t rsa_max_len ( const struct asn1_cursor *key ) {
|
|
||||||
struct asn1_cursor modulus;
|
|
||||||
struct asn1_cursor exponent;
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
/* Parse moduli and exponents */
|
|
||||||
if ( ( rc = rsa_parse_mod_exp ( &modulus, &exponent, key ) ) != 0 ) {
|
|
||||||
/* Return a zero maximum length on error */
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Output length can never exceed modulus length */
|
|
||||||
return modulus.len;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform RSA cipher operation
|
* Perform RSA cipher operation
|
||||||
*
|
*
|
||||||
@@ -706,7 +685,6 @@ static int rsa_match ( const struct asn1_cursor *private_key,
|
|||||||
/** RSA public-key algorithm */
|
/** RSA public-key algorithm */
|
||||||
struct pubkey_algorithm rsa_algorithm = {
|
struct pubkey_algorithm rsa_algorithm = {
|
||||||
.name = "rsa",
|
.name = "rsa",
|
||||||
.max_len = rsa_max_len,
|
|
||||||
.encrypt = rsa_encrypt,
|
.encrypt = rsa_encrypt,
|
||||||
.decrypt = rsa_decrypt,
|
.decrypt = rsa_decrypt,
|
||||||
.sign = rsa_sign,
|
.sign = rsa_sign,
|
||||||
|
|||||||
@@ -121,12 +121,6 @@ struct cipher_algorithm {
|
|||||||
struct pubkey_algorithm {
|
struct pubkey_algorithm {
|
||||||
/** Algorithm name */
|
/** Algorithm name */
|
||||||
const char *name;
|
const char *name;
|
||||||
/** Calculate maximum output length
|
|
||||||
*
|
|
||||||
* @v key Key
|
|
||||||
* @ret max_len Maximum output length
|
|
||||||
*/
|
|
||||||
size_t ( * max_len ) ( const struct asn1_cursor *key );
|
|
||||||
/** Encrypt
|
/** Encrypt
|
||||||
*
|
*
|
||||||
* @v key Key
|
* @v key Key
|
||||||
@@ -266,12 +260,6 @@ is_auth_cipher ( struct cipher_algorithm *cipher ) {
|
|||||||
return cipher->authsize;
|
return cipher->authsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline __attribute__ (( always_inline )) size_t
|
|
||||||
pubkey_max_len ( struct pubkey_algorithm *pubkey,
|
|
||||||
const struct asn1_cursor *key ) {
|
|
||||||
return pubkey->max_len ( key );
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline __attribute__ (( always_inline )) int
|
static inline __attribute__ (( always_inline )) int
|
||||||
pubkey_encrypt ( struct pubkey_algorithm *pubkey, const struct asn1_cursor *key,
|
pubkey_encrypt ( struct pubkey_algorithm *pubkey, const struct asn1_cursor *key,
|
||||||
const struct asn1_cursor *plaintext,
|
const struct asn1_cursor *plaintext,
|
||||||
@@ -325,7 +313,6 @@ extern void cipher_null_decrypt ( void *ctx, const void *src, void *dst,
|
|||||||
size_t len );
|
size_t len );
|
||||||
extern void cipher_null_auth ( void *ctx, void *auth );
|
extern void cipher_null_auth ( void *ctx, void *auth );
|
||||||
|
|
||||||
extern size_t pubkey_null_max_len ( const struct asn1_cursor *key );
|
|
||||||
extern int pubkey_null_encrypt ( const struct asn1_cursor *key,
|
extern int pubkey_null_encrypt ( const struct asn1_cursor *key,
|
||||||
const struct asn1_cursor *plaintext,
|
const struct asn1_cursor *plaintext,
|
||||||
struct asn1_builder *ciphertext );
|
struct asn1_builder *ciphertext );
|
||||||
|
|||||||
Reference in New Issue
Block a user