summaryrefslogtreecommitdiff
path: root/lib/libcrypto
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcrypto')
-rw-r--r--lib/libcrypto/x509/x509.h166
1 files changed, 133 insertions, 33 deletions
diff --git a/lib/libcrypto/x509/x509.h b/lib/libcrypto/x509/x509.h
index cf00ea5ebed..1c4c44b5889 100644
--- a/lib/libcrypto/x509/x509.h
+++ b/lib/libcrypto/x509/x509.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: x509.h,v 1.23 2015/04/12 15:15:51 doug Exp $ */
+/* $OpenBSD: x509.h,v 1.24 2016/09/04 16:49:24 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -776,11 +776,25 @@ const char * X509_get_default_private_dir(void );
X509_REQ * X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md);
X509 * X509_REQ_to_X509(X509_REQ *r, int days,EVP_PKEY *pkey);
-DECLARE_ASN1_FUNCTIONS(X509_ALGOR)
-DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS)
-DECLARE_ASN1_FUNCTIONS(X509_VAL)
-
-DECLARE_ASN1_FUNCTIONS(X509_PUBKEY)
+X509_ALGOR *X509_ALGOR_new(void);
+void X509_ALGOR_free(X509_ALGOR *a);
+X509_ALGOR *d2i_X509_ALGOR(X509_ALGOR **a, const unsigned char **in, long len);
+int i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **out);
+extern const ASN1_ITEM X509_ALGOR_it;
+X509_ALGORS *d2i_X509_ALGORS(X509_ALGORS **a, const unsigned char **in, long len);
+int i2d_X509_ALGORS(X509_ALGORS *a, unsigned char **out);
+extern const ASN1_ITEM X509_ALGORS_it;
+X509_VAL *X509_VAL_new(void);
+void X509_VAL_free(X509_VAL *a);
+X509_VAL *d2i_X509_VAL(X509_VAL **a, const unsigned char **in, long len);
+int i2d_X509_VAL(X509_VAL *a, unsigned char **out);
+extern const ASN1_ITEM X509_VAL_it;
+
+X509_PUBKEY *X509_PUBKEY_new(void);
+void X509_PUBKEY_free(X509_PUBKEY *a);
+X509_PUBKEY *d2i_X509_PUBKEY(X509_PUBKEY **a, const unsigned char **in, long len);
+int i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out);
+extern const ASN1_ITEM X509_PUBKEY_it;
int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey);
EVP_PKEY * X509_PUBKEY_get(X509_PUBKEY *key);
@@ -805,28 +819,74 @@ EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp,
long length);
#endif
-DECLARE_ASN1_FUNCTIONS(X509_SIG)
-DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO)
-DECLARE_ASN1_FUNCTIONS(X509_REQ)
-
-DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE)
+X509_SIG *X509_SIG_new(void);
+void X509_SIG_free(X509_SIG *a);
+X509_SIG *d2i_X509_SIG(X509_SIG **a, const unsigned char **in, long len);
+int i2d_X509_SIG(X509_SIG *a, unsigned char **out);
+extern const ASN1_ITEM X509_SIG_it;
+X509_REQ_INFO *X509_REQ_INFO_new(void);
+void X509_REQ_INFO_free(X509_REQ_INFO *a);
+X509_REQ_INFO *d2i_X509_REQ_INFO(X509_REQ_INFO **a, const unsigned char **in, long len);
+int i2d_X509_REQ_INFO(X509_REQ_INFO *a, unsigned char **out);
+extern const ASN1_ITEM X509_REQ_INFO_it;
+X509_REQ *X509_REQ_new(void);
+void X509_REQ_free(X509_REQ *a);
+X509_REQ *d2i_X509_REQ(X509_REQ **a, const unsigned char **in, long len);
+int i2d_X509_REQ(X509_REQ *a, unsigned char **out);
+extern const ASN1_ITEM X509_REQ_it;
+
+X509_ATTRIBUTE *X509_ATTRIBUTE_new(void);
+void X509_ATTRIBUTE_free(X509_ATTRIBUTE *a);
+X509_ATTRIBUTE *d2i_X509_ATTRIBUTE(X509_ATTRIBUTE **a, const unsigned char **in, long len);
+int i2d_X509_ATTRIBUTE(X509_ATTRIBUTE *a, unsigned char **out);
+extern const ASN1_ITEM X509_ATTRIBUTE_it;
X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value);
-DECLARE_ASN1_FUNCTIONS(X509_EXTENSION)
-DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS)
-
-DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY)
-
-DECLARE_ASN1_FUNCTIONS(X509_NAME)
+X509_EXTENSION *X509_EXTENSION_new(void);
+void X509_EXTENSION_free(X509_EXTENSION *a);
+X509_EXTENSION *d2i_X509_EXTENSION(X509_EXTENSION **a, const unsigned char **in, long len);
+int i2d_X509_EXTENSION(X509_EXTENSION *a, unsigned char **out);
+extern const ASN1_ITEM X509_EXTENSION_it;
+X509_EXTENSIONS *d2i_X509_EXTENSIONS(X509_EXTENSIONS **a, const unsigned char **in, long len);
+int i2d_X509_EXTENSIONS(X509_EXTENSIONS *a, unsigned char **out);
+extern const ASN1_ITEM X509_EXTENSIONS_it;
+
+X509_NAME_ENTRY *X509_NAME_ENTRY_new(void);
+void X509_NAME_ENTRY_free(X509_NAME_ENTRY *a);
+X509_NAME_ENTRY *d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **a, const unsigned char **in, long len);
+int i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *a, unsigned char **out);
+extern const ASN1_ITEM X509_NAME_ENTRY_it;
+
+X509_NAME *X509_NAME_new(void);
+void X509_NAME_free(X509_NAME *a);
+X509_NAME *d2i_X509_NAME(X509_NAME **a, const unsigned char **in, long len);
+int i2d_X509_NAME(X509_NAME *a, unsigned char **out);
+extern const ASN1_ITEM X509_NAME_it;
int X509_NAME_set(X509_NAME **xn, X509_NAME *name);
-DECLARE_ASN1_FUNCTIONS(X509_CINF)
-
-DECLARE_ASN1_FUNCTIONS(X509)
-DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX)
-
-DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR)
+X509_CINF *X509_CINF_new(void);
+void X509_CINF_free(X509_CINF *a);
+X509_CINF *d2i_X509_CINF(X509_CINF **a, const unsigned char **in, long len);
+int i2d_X509_CINF(X509_CINF *a, unsigned char **out);
+extern const ASN1_ITEM X509_CINF_it;
+
+X509 *X509_new(void);
+void X509_free(X509 *a);
+X509 *d2i_X509(X509 **a, const unsigned char **in, long len);
+int i2d_X509(X509 *a, unsigned char **out);
+extern const ASN1_ITEM X509_it;
+X509_CERT_AUX *X509_CERT_AUX_new(void);
+void X509_CERT_AUX_free(X509_CERT_AUX *a);
+X509_CERT_AUX *d2i_X509_CERT_AUX(X509_CERT_AUX **a, const unsigned char **in, long len);
+int i2d_X509_CERT_AUX(X509_CERT_AUX *a, unsigned char **out);
+extern const ASN1_ITEM X509_CERT_AUX_it;
+
+X509_CERT_PAIR *X509_CERT_PAIR_new(void);
+void X509_CERT_PAIR_free(X509_CERT_PAIR *a);
+X509_CERT_PAIR *d2i_X509_CERT_PAIR(X509_CERT_PAIR **a, const unsigned char **in, long len);
+int i2d_X509_CERT_PAIR(X509_CERT_PAIR *a, unsigned char **out);
+extern const ASN1_ITEM X509_CERT_PAIR_it;
int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
@@ -846,9 +906,21 @@ int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj);
void X509_trust_clear(X509 *x);
void X509_reject_clear(X509 *x);
-DECLARE_ASN1_FUNCTIONS(X509_REVOKED)
-DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO)
-DECLARE_ASN1_FUNCTIONS(X509_CRL)
+X509_REVOKED *X509_REVOKED_new(void);
+void X509_REVOKED_free(X509_REVOKED *a);
+X509_REVOKED *d2i_X509_REVOKED(X509_REVOKED **a, const unsigned char **in, long len);
+int i2d_X509_REVOKED(X509_REVOKED *a, unsigned char **out);
+extern const ASN1_ITEM X509_REVOKED_it;
+X509_CRL_INFO *X509_CRL_INFO_new(void);
+void X509_CRL_INFO_free(X509_CRL_INFO *a);
+X509_CRL_INFO *d2i_X509_CRL_INFO(X509_CRL_INFO **a, const unsigned char **in, long len);
+int i2d_X509_CRL_INFO(X509_CRL_INFO *a, unsigned char **out);
+extern const ASN1_ITEM X509_CRL_INFO_it;
+X509_CRL *X509_CRL_new(void);
+void X509_CRL_free(X509_CRL *a);
+X509_CRL *d2i_X509_CRL(X509_CRL **a, const unsigned char **in, long len);
+int i2d_X509_CRL(X509_CRL *a, unsigned char **out);
+extern const ASN1_ITEM X509_CRL_it;
int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
int X509_CRL_get0_by_serial(X509_CRL *crl,
@@ -858,9 +930,21 @@ int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x);
X509_PKEY * X509_PKEY_new(void );
void X509_PKEY_free(X509_PKEY *a);
-DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI)
-DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC)
-DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE)
+NETSCAPE_SPKI *NETSCAPE_SPKI_new(void);
+void NETSCAPE_SPKI_free(NETSCAPE_SPKI *a);
+NETSCAPE_SPKI *d2i_NETSCAPE_SPKI(NETSCAPE_SPKI **a, const unsigned char **in, long len);
+int i2d_NETSCAPE_SPKI(NETSCAPE_SPKI *a, unsigned char **out);
+extern const ASN1_ITEM NETSCAPE_SPKI_it;
+NETSCAPE_SPKAC *NETSCAPE_SPKAC_new(void);
+void NETSCAPE_SPKAC_free(NETSCAPE_SPKAC *a);
+NETSCAPE_SPKAC *d2i_NETSCAPE_SPKAC(NETSCAPE_SPKAC **a, const unsigned char **in, long len);
+int i2d_NETSCAPE_SPKAC(NETSCAPE_SPKAC *a, unsigned char **out);
+extern const ASN1_ITEM NETSCAPE_SPKAC_it;
+NETSCAPE_CERT_SEQUENCE *NETSCAPE_CERT_SEQUENCE_new(void);
+void NETSCAPE_CERT_SEQUENCE_free(NETSCAPE_CERT_SEQUENCE *a);
+NETSCAPE_CERT_SEQUENCE *d2i_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE **a, const unsigned char **in, long len);
+int i2d_NETSCAPE_CERT_SEQUENCE(NETSCAPE_CERT_SEQUENCE *a, unsigned char **out);
+extern const ASN1_ITEM NETSCAPE_CERT_SEQUENCE_it;
#ifndef OPENSSL_NO_EVP
X509_INFO * X509_INFO_new(void);
@@ -1127,9 +1211,21 @@ X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk,X509_NAME *name,
ASN1_INTEGER *serial);
X509 *X509_find_by_subject(STACK_OF(X509) *sk,X509_NAME *name);
-DECLARE_ASN1_FUNCTIONS(PBEPARAM)
-DECLARE_ASN1_FUNCTIONS(PBE2PARAM)
-DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM)
+PBEPARAM *PBEPARAM_new(void);
+void PBEPARAM_free(PBEPARAM *a);
+PBEPARAM *d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len);
+int i2d_PBEPARAM(PBEPARAM *a, unsigned char **out);
+extern const ASN1_ITEM PBEPARAM_it;
+PBE2PARAM *PBE2PARAM_new(void);
+void PBE2PARAM_free(PBE2PARAM *a);
+PBE2PARAM *d2i_PBE2PARAM(PBE2PARAM **a, const unsigned char **in, long len);
+int i2d_PBE2PARAM(PBE2PARAM *a, unsigned char **out);
+extern const ASN1_ITEM PBE2PARAM_it;
+PBKDF2PARAM *PBKDF2PARAM_new(void);
+void PBKDF2PARAM_free(PBKDF2PARAM *a);
+PBKDF2PARAM *d2i_PBKDF2PARAM(PBKDF2PARAM **a, const unsigned char **in, long len);
+int i2d_PBKDF2PARAM(PBKDF2PARAM *a, unsigned char **out);
+extern const ASN1_ITEM PBKDF2PARAM_it;
int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,
const unsigned char *salt, int saltlen);
@@ -1147,7 +1243,11 @@ X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen,
/* PKCS#8 utilities */
-DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO)
+PKCS8_PRIV_KEY_INFO *PKCS8_PRIV_KEY_INFO_new(void);
+void PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a);
+PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len);
+int i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out);
+extern const ASN1_ITEM PKCS8_PRIV_KEY_INFO_it;
EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8);
PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey);