summaryrefslogtreecommitdiffstats
path: root/crypto/asn1/asn1.h
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2006-03-20 17:56:05 +0000
committerDr. Stephen Henson <steve@openssl.org>2006-03-20 17:56:05 +0000
commit6f81892e6ba0bf0840d12e27f695817230dd42c1 (patch)
treec3d333fb4e22dbaa99408d60cbe4c0406ae0d4c8 /crypto/asn1/asn1.h
parent448be743350791d32764fac38f5d3c8ffda481b2 (diff)
Transfer parameter handling and key comparison to algorithm methods.
Diffstat (limited to 'crypto/asn1/asn1.h')
-rw-r--r--crypto/asn1/asn1.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/crypto/asn1/asn1.h b/crypto/asn1/asn1.h
index 32653eb1f0..f0756b10cd 100644
--- a/crypto/asn1/asn1.h
+++ b/crypto/asn1/asn1.h
@@ -291,13 +291,29 @@ struct evp_pkey_asn1_method_st
int pkey_id;
int pkey_base_id;
unsigned long pkey_flags;
+
int (*pub_decode)(EVP_PKEY *pk, X509_PUBKEY *pub);
- int (*pub_encode)(X509_PUBKEY *pub, EVP_PKEY *pk);
- int (*pub_print)(BIO *out, EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx);
+ int (*pub_encode)(X509_PUBKEY *pub, const EVP_PKEY *pk);
+ int (*pub_cmp)(const EVP_PKEY *a, const EVP_PKEY *b);
+ int (*pub_print)(BIO *out, const EVP_PKEY *pkey, int indent,
+ ASN1_PCTX *pctx);
+
int (*priv_decode)(EVP_PKEY *pk, PKCS8_PRIV_KEY_INFO *p8inf);
- int (*priv_encode)(PKCS8_PRIV_KEY_INFO *p8, EVP_PKEY *pk);
+ int (*priv_encode)(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pk);
int (*priv_print)(BIO *out, EVP_PKEY *pkey, int indent,
ASN1_PCTX *pctx);
+
+ int (*pkey_size)(const EVP_PKEY *pk);
+ int (*pkey_bits)(const EVP_PKEY *pk);
+
+ int (*param_decode)(const EVP_PKEY *pk, X509_PUBKEY *pub);
+ int (*param_encode)(X509_PUBKEY *pub, const EVP_PKEY *pk);
+ int (*param_missing)(const EVP_PKEY *pk);
+ int (*param_copy)(EVP_PKEY *to, const EVP_PKEY *from);
+ int (*param_cmp)(const EVP_PKEY *a, const EVP_PKEY *b);
+ int (*param_print)(BIO *out, const EVP_PKEY *pkey, int indent,
+ ASN1_PCTX *pctx);
+
void (*pkey_free)(EVP_PKEY *pkey);
void (*pkey_ctrl)(EVP_PKEY *pkey, int op, long arg1, void *arg2);
} /* EVP_PKEY_ASN1_METHOD */;