summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2019-11-02 13:38:05 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2019-11-02 13:38:05 +0000
commitc2a6f1f96d12af95fc3d17317ff16eabe9fcc753 (patch)
tree5528f7c2997258709664f8cfdd9c7d22c01d723a
parent64aebab6cd6a15d1962ec2f61022039d7bf876f3 (diff)
Enable CMS in LibreSSL.
ok bcook@ deraadt@ inoguchi@ job@ tb@
-rw-r--r--lib/libcrypto/Makefile7
-rw-r--r--lib/libcrypto/Symbols.list128
-rw-r--r--lib/libcrypto/opensslfeatures.h2
3 files changed, 135 insertions, 2 deletions
diff --git a/lib/libcrypto/Makefile b/lib/libcrypto/Makefile
index 04d51055b55..4ddb49c6800 100644
--- a/lib/libcrypto/Makefile
+++ b/lib/libcrypto/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.36 2019/09/09 16:49:03 jsing Exp $
+# $OpenBSD: Makefile,v 1.37 2019/11/02 13:38:04 jsing Exp $
LIB= crypto
LIBREBUILD=y
@@ -97,6 +97,11 @@ SRCS+= chacha.c
# cmac/
SRCS+= cmac.c cm_ameth.c cm_pmeth.c
+# cms/
+SRCS+= cms_asn1.c cms_att.c cms_cd.c cms_dd.c cms_enc.c cms_env.c cms_err.c
+SRCS+= cms_ess.c cms_io.c cms_kari.c cms_lcl.h cms_lib.c cms_pwri.c cms_sd.c
+SRCS+= cms_smime.c
+
# comp/
SRCS+= comp_lib.c comp_err.c c_rle.c c_zlib.c
diff --git a/lib/libcrypto/Symbols.list b/lib/libcrypto/Symbols.list
index 4ec01fe9c82..ac7f6034825 100644
--- a/lib/libcrypto/Symbols.list
+++ b/lib/libcrypto/Symbols.list
@@ -306,6 +306,7 @@ BIO_meth_set_write
BIO_method_name
BIO_method_type
BIO_new
+BIO_new_CMS
BIO_new_NDEF
BIO_new_PKCS7
BIO_new_accept
@@ -558,6 +559,118 @@ CMAC_Final
CMAC_Init
CMAC_Update
CMAC_resume
+CMS_ContentInfo_free
+CMS_ContentInfo_it
+CMS_ContentInfo_new
+CMS_ContentInfo_print_ctx
+CMS_EncryptedData_decrypt
+CMS_EncryptedData_encrypt
+CMS_EncryptedData_set1_key
+CMS_EnvelopedData_create
+CMS_ReceiptRequest_create0
+CMS_ReceiptRequest_free
+CMS_ReceiptRequest_get0_values
+CMS_ReceiptRequest_it
+CMS_ReceiptRequest_new
+CMS_RecipientEncryptedKey_cert_cmp
+CMS_RecipientEncryptedKey_get0_id
+CMS_RecipientInfo_decrypt
+CMS_RecipientInfo_encrypt
+CMS_RecipientInfo_get0_pkey_ctx
+CMS_RecipientInfo_kari_decrypt
+CMS_RecipientInfo_kari_get0_alg
+CMS_RecipientInfo_kari_get0_ctx
+CMS_RecipientInfo_kari_get0_orig_id
+CMS_RecipientInfo_kari_get0_reks
+CMS_RecipientInfo_kari_orig_id_cmp
+CMS_RecipientInfo_kari_set0_pkey
+CMS_RecipientInfo_kekri_get0_id
+CMS_RecipientInfo_kekri_id_cmp
+CMS_RecipientInfo_ktri_cert_cmp
+CMS_RecipientInfo_ktri_get0_algs
+CMS_RecipientInfo_ktri_get0_signer_id
+CMS_RecipientInfo_set0_key
+CMS_RecipientInfo_set0_password
+CMS_RecipientInfo_set0_pkey
+CMS_RecipientInfo_type
+CMS_SharedInfo_encode
+CMS_SignedData_init
+CMS_SignerInfo_cert_cmp
+CMS_SignerInfo_get0_algs
+CMS_SignerInfo_get0_md_ctx
+CMS_SignerInfo_get0_pkey_ctx
+CMS_SignerInfo_get0_signature
+CMS_SignerInfo_get0_signer_id
+CMS_SignerInfo_set1_signer_cert
+CMS_SignerInfo_sign
+CMS_SignerInfo_verify
+CMS_SignerInfo_verify_content
+CMS_add0_CertificateChoices
+CMS_add0_RevocationInfoChoice
+CMS_add0_cert
+CMS_add0_crl
+CMS_add0_recipient_key
+CMS_add0_recipient_password
+CMS_add1_ReceiptRequest
+CMS_add1_cert
+CMS_add1_crl
+CMS_add1_recipient_cert
+CMS_add1_signer
+CMS_add_simple_smimecap
+CMS_add_smimecap
+CMS_add_standard_smimecap
+CMS_compress
+CMS_data
+CMS_dataFinal
+CMS_dataInit
+CMS_data_create
+CMS_decrypt
+CMS_decrypt_set1_key
+CMS_decrypt_set1_password
+CMS_decrypt_set1_pkey
+CMS_digest_create
+CMS_digest_verify
+CMS_encrypt
+CMS_final
+CMS_get0_RecipientInfos
+CMS_get0_SignerInfos
+CMS_get0_content
+CMS_get0_eContentType
+CMS_get0_signers
+CMS_get0_type
+CMS_get1_ReceiptRequest
+CMS_get1_certs
+CMS_get1_crls
+CMS_is_detached
+CMS_set1_eContentType
+CMS_set1_signers_certs
+CMS_set_detached
+CMS_sign
+CMS_sign_receipt
+CMS_signed_add1_attr
+CMS_signed_add1_attr_by_NID
+CMS_signed_add1_attr_by_OBJ
+CMS_signed_add1_attr_by_txt
+CMS_signed_delete_attr
+CMS_signed_get0_data_by_OBJ
+CMS_signed_get_attr
+CMS_signed_get_attr_by_NID
+CMS_signed_get_attr_by_OBJ
+CMS_signed_get_attr_count
+CMS_stream
+CMS_uncompress
+CMS_unsigned_add1_attr
+CMS_unsigned_add1_attr_by_NID
+CMS_unsigned_add1_attr_by_OBJ
+CMS_unsigned_add1_attr_by_txt
+CMS_unsigned_delete_attr
+CMS_unsigned_get0_data_by_OBJ
+CMS_unsigned_get_attr
+CMS_unsigned_get_attr_by_NID
+CMS_unsigned_get_attr_by_OBJ
+CMS_unsigned_get_attr_count
+CMS_verify
+CMS_verify_receipt
COMP_CTX_free
COMP_CTX_new
COMP_compress_block
@@ -1211,6 +1324,7 @@ ERR_load_ASN1_strings
ERR_load_BIO_strings
ERR_load_BN_strings
ERR_load_BUF_strings
+ERR_load_CMS_strings
ERR_load_COMP_strings
ERR_load_CONF_strings
ERR_load_CRYPTO_strings
@@ -1981,6 +2095,7 @@ PEM_do_header
PEM_get_EVP_CIPHER_INFO
PEM_proc_type
PEM_read
+PEM_read_CMS
PEM_read_DHparams
PEM_read_DSAPrivateKey
PEM_read_DSA_PUBKEY
@@ -2003,6 +2118,7 @@ PEM_read_X509_CERT_PAIR
PEM_read_X509_CRL
PEM_read_X509_REQ
PEM_read_bio
+PEM_read_bio_CMS
PEM_read_bio_DHparams
PEM_read_bio_DSAPrivateKey
PEM_read_bio_DSA_PUBKEY
@@ -2026,6 +2142,7 @@ PEM_read_bio_X509_CERT_PAIR
PEM_read_bio_X509_CRL
PEM_read_bio_X509_REQ
PEM_write
+PEM_write_CMS
PEM_write_DHparams
PEM_write_DSAPrivateKey
PEM_write_DSA_PUBKEY
@@ -2052,6 +2169,8 @@ PEM_write_X509_REQ
PEM_write_X509_REQ_NEW
PEM_write_bio
PEM_write_bio_ASN1_stream
+PEM_write_bio_CMS
+PEM_write_bio_CMS_stream
PEM_write_bio_DHparams
PEM_write_bio_DSAPrivateKey
PEM_write_bio_DSA_PUBKEY
@@ -2411,9 +2530,11 @@ SM4_encrypt
SM4_set_key
SMIME_crlf_copy
SMIME_read_ASN1
+SMIME_read_CMS
SMIME_read_PKCS7
SMIME_text
SMIME_write_ASN1
+SMIME_write_CMS
SMIME_write_PKCS7
SSLeay
SSLeay_version
@@ -3241,6 +3362,9 @@ d2i_AUTHORITY_KEYID
d2i_AutoPrivateKey
d2i_BASIC_CONSTRAINTS
d2i_CERTIFICATEPOLICIES
+d2i_CMS_ContentInfo
+d2i_CMS_ReceiptRequest
+d2i_CMS_bio
d2i_CRL_DIST_POINTS
d2i_DHparams
d2i_DHparams_bio
@@ -3447,6 +3571,10 @@ i2d_AUTHORITY_INFO_ACCESS
i2d_AUTHORITY_KEYID
i2d_BASIC_CONSTRAINTS
i2d_CERTIFICATEPOLICIES
+i2d_CMS_ContentInfo
+i2d_CMS_ReceiptRequest
+i2d_CMS_bio
+i2d_CMS_bio_stream
i2d_CRL_DIST_POINTS
i2d_DHparams
i2d_DHparams_bio
diff --git a/lib/libcrypto/opensslfeatures.h b/lib/libcrypto/opensslfeatures.h
index 688d478dfd4..ad412834133 100644
--- a/lib/libcrypto/opensslfeatures.h
+++ b/lib/libcrypto/opensslfeatures.h
@@ -34,7 +34,7 @@
/* #define OPENSSL_NO_CAST */
/* #define OPENSSL_NO_CHACHA */
/* #define OPENSSL_NO_CMAC */
-#define OPENSSL_NO_CMS
+/* #define OPENSSL_NO_CMS */
#define OPENSSL_NO_COMP /* XXX */
/* #define OPENSSL_NO_CRYPTO_MDEBUG */
/* #define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE */