Update build for OpenSSL-1.0.0a.
authorPeter Avalos <pavalos@dragonflybsd.org>
Sun, 26 Sep 2010 22:38:45 +0000 (12:38 -1000)
committerPeter Avalos <pavalos@dragonflybsd.org>
Sun, 26 Sep 2010 22:38:45 +0000 (12:38 -1000)
-Add Camellia, CMS, GOST, MDC-2, modes, SEED, ts, and Whirlpool.  mdc2
is freely available since its patent expired in 2002.

-Remove md2 for CVE-2009-2409.

-See CHANGES for the enitire changeset.

365 files changed:
Makefile_upgrade.inc
crypto/openssl/crypto/cms/cms_env.c
crypto/openssl/crypto/cms/cms_sd.c
crypto/openssl/crypto/dh/dh_ameth.c
crypto/openssl/crypto/dh/dh_pmeth.c
crypto/openssl/crypto/dsa/dsa_ameth.c
crypto/openssl/crypto/dsa/dsa_pmeth.c
crypto/openssl/crypto/ec/ec_ameth.c
crypto/openssl/crypto/ec/ec_pmeth.c
crypto/openssl/crypto/engine/tb_asnmth.c
crypto/openssl/crypto/evp/evp_pkey.c
crypto/openssl/crypto/evp/p_lib.c
crypto/openssl/crypto/evp/pmeth_lib.c
crypto/openssl/crypto/hmac/hm_ameth.c
crypto/openssl/crypto/hmac/hm_pmeth.c
crypto/openssl/crypto/pem/pem_lib.c
crypto/openssl/crypto/pem/pem_pkey.c
crypto/openssl/crypto/pkcs7/pk7_lib.c
crypto/openssl/crypto/rsa/rsa_ameth.c
crypto/openssl/crypto/rsa/rsa_pmeth.c
lib/libfetch/common.h
libexec/dma/crypto.c
secure/lib/libcrypto/Makefile
secure/lib/libcrypto/Makefile.inc
secure/lib/libcrypto/Makefile.man
secure/lib/libcrypto/man/ASN1_OBJECT_new.3
secure/lib/libcrypto/man/ASN1_STRING_length.3
secure/lib/libcrypto/man/ASN1_STRING_new.3
secure/lib/libcrypto/man/ASN1_STRING_print_ex.3
secure/lib/libcrypto/man/ASN1_generate_nconf.3
secure/lib/libcrypto/man/BIO_ctrl.3
secure/lib/libcrypto/man/BIO_f_base64.3
secure/lib/libcrypto/man/BIO_f_buffer.3
secure/lib/libcrypto/man/BIO_f_cipher.3
secure/lib/libcrypto/man/BIO_f_md.3
secure/lib/libcrypto/man/BIO_f_null.3
secure/lib/libcrypto/man/BIO_f_ssl.3
secure/lib/libcrypto/man/BIO_find_type.3
secure/lib/libcrypto/man/BIO_new.3
secure/lib/libcrypto/man/BIO_new_CMS.3 [copied from secure/lib/libcrypto/man/ERR_print_errors.3 with 62% similarity]
secure/lib/libcrypto/man/BIO_push.3
secure/lib/libcrypto/man/BIO_read.3
secure/lib/libcrypto/man/BIO_s_accept.3
secure/lib/libcrypto/man/BIO_s_bio.3
secure/lib/libcrypto/man/BIO_s_connect.3
secure/lib/libcrypto/man/BIO_s_fd.3
secure/lib/libcrypto/man/BIO_s_file.3
secure/lib/libcrypto/man/BIO_s_mem.3
secure/lib/libcrypto/man/BIO_s_null.3
secure/lib/libcrypto/man/BIO_s_socket.3
secure/lib/libcrypto/man/BIO_set_callback.3
secure/lib/libcrypto/man/BIO_should_retry.3
secure/lib/libcrypto/man/BN_BLINDING_new.3
secure/lib/libcrypto/man/BN_CTX_new.3
secure/lib/libcrypto/man/BN_CTX_start.3
secure/lib/libcrypto/man/BN_add.3
secure/lib/libcrypto/man/BN_add_word.3
secure/lib/libcrypto/man/BN_bn2bin.3
secure/lib/libcrypto/man/BN_cmp.3
secure/lib/libcrypto/man/BN_copy.3
secure/lib/libcrypto/man/BN_generate_prime.3
secure/lib/libcrypto/man/BN_mod_inverse.3
secure/lib/libcrypto/man/BN_mod_mul_montgomery.3
secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3
secure/lib/libcrypto/man/BN_new.3
secure/lib/libcrypto/man/BN_num_bytes.3
secure/lib/libcrypto/man/BN_rand.3
secure/lib/libcrypto/man/BN_set_bit.3
secure/lib/libcrypto/man/BN_swap.3
secure/lib/libcrypto/man/BN_zero.3
secure/lib/libcrypto/man/CMS_add0_cert.3 [copied from secure/lib/libcrypto/man/ERR_print_errors.3 with 63% similarity]
secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 [copied from secure/lib/libcrypto/man/RAND_load_file.3 with 60% similarity]
secure/lib/libcrypto/man/CMS_compress.3 [copied from secure/lib/libcrypto/man/PKCS7_encrypt.3 with 59% similarity]
secure/lib/libcrypto/man/CMS_decrypt.3 [copied from secure/lib/libcrypto/man/PKCS7_decrypt.3 with 70% similarity]
secure/lib/libcrypto/man/CMS_encrypt.3 [copied from secure/lib/libcrypto/man/PKCS7_encrypt.3 with 57% similarity]
secure/lib/libcrypto/man/CMS_final.3 [copied from secure/lib/libcrypto/man/ASN1_STRING_new.3 with 76% similarity]
secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 [new file with mode: 0644]
secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 [copied from secure/lib/libcrypto/man/EVP_BytesToKey.3 with 57% similarity]
secure/lib/libcrypto/man/CMS_get0_type.3 [copied from secure/lib/libcrypto/man/ASN1_STRING_new.3 with 64% similarity]
secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 [copied from secure/lib/libcrypto/man/EVP_BytesToKey.3 with 56% similarity]
secure/lib/libcrypto/man/CMS_sign.3 [new file with mode: 0644]
secure/lib/libcrypto/man/CMS_sign_add1_signer.3 [new file with mode: 0644]
secure/lib/libcrypto/man/CMS_sign_receipt.3 [copied from secure/lib/libcrypto/man/EVP_PKEY_new.3 with 71% similarity]
secure/lib/libcrypto/man/CMS_uncompress.3 [copied from secure/lib/libcrypto/man/PKCS7_decrypt.3 with 71% similarity]
secure/lib/libcrypto/man/CMS_verify.3 [copied from secure/lib/libcrypto/man/PKCS7_verify.3 with 59% similarity]
secure/lib/libcrypto/man/CMS_verify_receipt.3 [copied from secure/lib/libcrypto/man/ASN1_OBJECT_new.3 with 73% similarity]
secure/lib/libcrypto/man/CONF_modules_free.3
secure/lib/libcrypto/man/CONF_modules_load_file.3
secure/lib/libcrypto/man/CRYPTO_set_ex_data.3
secure/lib/libcrypto/man/DH_generate_key.3
secure/lib/libcrypto/man/DH_generate_parameters.3
secure/lib/libcrypto/man/DH_get_ex_new_index.3
secure/lib/libcrypto/man/DH_new.3
secure/lib/libcrypto/man/DH_set_method.3
secure/lib/libcrypto/man/DH_size.3
secure/lib/libcrypto/man/DSA_SIG_new.3
secure/lib/libcrypto/man/DSA_do_sign.3
secure/lib/libcrypto/man/DSA_dup_DH.3
secure/lib/libcrypto/man/DSA_generate_key.3
secure/lib/libcrypto/man/DSA_generate_parameters.3
secure/lib/libcrypto/man/DSA_get_ex_new_index.3
secure/lib/libcrypto/man/DSA_new.3
secure/lib/libcrypto/man/DSA_set_method.3
secure/lib/libcrypto/man/DSA_sign.3
secure/lib/libcrypto/man/DSA_size.3
secure/lib/libcrypto/man/ERR_GET_LIB.3
secure/lib/libcrypto/man/ERR_clear_error.3
secure/lib/libcrypto/man/ERR_error_string.3
secure/lib/libcrypto/man/ERR_get_error.3
secure/lib/libcrypto/man/ERR_load_crypto_strings.3
secure/lib/libcrypto/man/ERR_load_strings.3
secure/lib/libcrypto/man/ERR_print_errors.3
secure/lib/libcrypto/man/ERR_put_error.3
secure/lib/libcrypto/man/ERR_remove_state.3
secure/lib/libcrypto/man/ERR_set_mark.3
secure/lib/libcrypto/man/EVP_BytesToKey.3
secure/lib/libcrypto/man/EVP_DigestInit.3
secure/lib/libcrypto/man/EVP_DigestSignInit.3 [copied from secure/lib/libcrypto/man/EVP_SignInit.3 with 59% similarity]
secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 [copied from secure/lib/libcrypto/man/EVP_VerifyInit.3 with 61% similarity]
secure/lib/libcrypto/man/EVP_EncryptInit.3
secure/lib/libcrypto/man/EVP_OpenInit.3
secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 [new file with mode: 0644]
secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 [copied from secure/lib/libcrypto/man/EVP_PKEY_new.3 with 68% similarity]
secure/lib/libcrypto/man/EVP_PKEY_cmp.3 [copied from secure/lib/libcrypto/man/EVP_PKEY_new.3 with 64% similarity]
secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 [copied from secure/lib/libcrypto/man/EVP_BytesToKey.3 with 57% similarity]
secure/lib/libcrypto/man/EVP_PKEY_derive.3 [copied from secure/lib/libcrypto/man/EVP_BytesToKey.3 with 57% similarity]
secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 [copied from secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 with 57% similarity]
secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 [copied from secure/lib/libcrypto/man/EVP_PKEY_new.3 with 76% similarity]
secure/lib/libcrypto/man/EVP_PKEY_keygen.3 [new file with mode: 0644]
secure/lib/libcrypto/man/EVP_PKEY_new.3
secure/lib/libcrypto/man/EVP_PKEY_print_private.3 [copied from secure/lib/libcrypto/man/EVP_PKEY_new.3 with 67% similarity]
secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3
secure/lib/libcrypto/man/EVP_PKEY_sign.3 [copied from secure/lib/libcrypto/man/DSA_do_sign.3 with 56% similarity]
secure/lib/libcrypto/man/EVP_PKEY_verify.3 [copied from secure/lib/libcrypto/man/EVP_OpenInit.3 with 57% similarity]
secure/lib/libcrypto/man/EVP_PKEY_verifyrecover.3 [copied from secure/lib/libcrypto/man/BN_num_bytes.3 with 52% similarity]
secure/lib/libcrypto/man/EVP_SealInit.3
secure/lib/libcrypto/man/EVP_SignInit.3
secure/lib/libcrypto/man/EVP_VerifyInit.3
secure/lib/libcrypto/man/OBJ_nid2obj.3
secure/lib/libcrypto/man/OPENSSL_Applink.3
secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3
secure/lib/libcrypto/man/OPENSSL_config.3
secure/lib/libcrypto/man/OPENSSL_ia32cap.3
secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3
secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3
secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 [copied from secure/lib/libcrypto/man/ERR_set_mark.3 with 77% similarity]
secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 [copied from secure/lib/libcrypto/man/X509_new.3 with 78% similarity]
secure/lib/libcrypto/man/PKCS12_create.3
secure/lib/libcrypto/man/PKCS12_parse.3
secure/lib/libcrypto/man/PKCS7_decrypt.3
secure/lib/libcrypto/man/PKCS7_encrypt.3
secure/lib/libcrypto/man/PKCS7_sign.3
secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 [copied from secure/lib/libcrypto/man/SMIME_write_PKCS7.3 with 52% similarity]
secure/lib/libcrypto/man/PKCS7_verify.3
secure/lib/libcrypto/man/RAND_add.3
secure/lib/libcrypto/man/RAND_bytes.3
secure/lib/libcrypto/man/RAND_cleanup.3
secure/lib/libcrypto/man/RAND_egd.3
secure/lib/libcrypto/man/RAND_load_file.3
secure/lib/libcrypto/man/RAND_set_rand_method.3
secure/lib/libcrypto/man/RSA_blinding_on.3
secure/lib/libcrypto/man/RSA_check_key.3
secure/lib/libcrypto/man/RSA_generate_key.3
secure/lib/libcrypto/man/RSA_get_ex_new_index.3
secure/lib/libcrypto/man/RSA_new.3
secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3
secure/lib/libcrypto/man/RSA_print.3
secure/lib/libcrypto/man/RSA_private_encrypt.3
secure/lib/libcrypto/man/RSA_public_encrypt.3
secure/lib/libcrypto/man/RSA_set_method.3
secure/lib/libcrypto/man/RSA_sign.3
secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3
secure/lib/libcrypto/man/RSA_size.3
secure/lib/libcrypto/man/SMIME_read_CMS.3 [copied from secure/lib/libcrypto/man/SMIME_read_PKCS7.3 with 67% similarity]
secure/lib/libcrypto/man/SMIME_read_PKCS7.3
secure/lib/libcrypto/man/SMIME_write_CMS.3 [copied from secure/lib/libcrypto/man/SMIME_write_PKCS7.3 with 65% similarity]
secure/lib/libcrypto/man/SMIME_write_PKCS7.3
secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3
secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3
secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3
secure/lib/libcrypto/man/X509_NAME_print_ex.3
secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 [new file with mode: 0644]
secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 [copied from secure/lib/libcrypto/man/DH_get_ex_new_index.3 with 75% similarity]
secure/lib/libcrypto/man/X509_STORE_CTX_new.3 [new file with mode: 0644]
secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 [new file with mode: 0644]
secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 [copied from secure/lib/libcrypto/man/EVP_PKEY_new.3 with 70% similarity]
secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 [new file with mode: 0644]
secure/lib/libcrypto/man/X509_new.3
secure/lib/libcrypto/man/X509_verify_cert.3 [copied from secure/lib/libcrypto/man/EVP_PKEY_new.3 with 70% similarity]
secure/lib/libcrypto/man/bio.3
secure/lib/libcrypto/man/blowfish.3
secure/lib/libcrypto/man/bn.3
secure/lib/libcrypto/man/bn_internal.3
secure/lib/libcrypto/man/buffer.3
secure/lib/libcrypto/man/crypto.3
secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3
secure/lib/libcrypto/man/d2i_DHparams.3
secure/lib/libcrypto/man/d2i_DSAPublicKey.3
secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3
secure/lib/libcrypto/man/d2i_RSAPublicKey.3
secure/lib/libcrypto/man/d2i_X509.3
secure/lib/libcrypto/man/d2i_X509_ALGOR.3
secure/lib/libcrypto/man/d2i_X509_CRL.3
secure/lib/libcrypto/man/d2i_X509_NAME.3
secure/lib/libcrypto/man/d2i_X509_REQ.3
secure/lib/libcrypto/man/d2i_X509_SIG.3
secure/lib/libcrypto/man/des.3
secure/lib/libcrypto/man/des_modes.7
secure/lib/libcrypto/man/dh.3
secure/lib/libcrypto/man/dsa.3
secure/lib/libcrypto/man/ecdsa.3
secure/lib/libcrypto/man/engine.3
secure/lib/libcrypto/man/err.3
secure/lib/libcrypto/man/evp.3
secure/lib/libcrypto/man/hmac.3
secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 [copied from secure/lib/libcrypto/man/DH_new.3 with 77% similarity]
secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 [copied from secure/lib/libcrypto/man/DSA_SIG_new.3 with 77% similarity]
secure/lib/libcrypto/man/lh_stats.3
secure/lib/libcrypto/man/lhash.3
secure/lib/libcrypto/man/md5.3
secure/lib/libcrypto/man/mdc2.3
secure/lib/libcrypto/man/pem.3
secure/lib/libcrypto/man/rand.3
secure/lib/libcrypto/man/rc4.3
secure/lib/libcrypto/man/ripemd.3
secure/lib/libcrypto/man/rsa.3
secure/lib/libcrypto/man/sha.3
secure/lib/libcrypto/man/threads.3
secure/lib/libcrypto/man/ui.3
secure/lib/libcrypto/man/ui_compat.3
secure/lib/libcrypto/man/x509.3
secure/lib/libcrypto/opensslconf-i386.h
secure/lib/libcrypto/opensslconf-x86_64.h
secure/lib/libssl/Makefile.man
secure/lib/libssl/man/SSL_CIPHER_get_name.3
secure/lib/libssl/man/SSL_COMP_add_compression_method.3
secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3
secure/lib/libssl/man/SSL_CTX_add_session.3
secure/lib/libssl/man/SSL_CTX_ctrl.3
secure/lib/libssl/man/SSL_CTX_flush_sessions.3
secure/lib/libssl/man/SSL_CTX_free.3
secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3
secure/lib/libssl/man/SSL_CTX_get_verify_mode.3
secure/lib/libssl/man/SSL_CTX_load_verify_locations.3
secure/lib/libssl/man/SSL_CTX_new.3
secure/lib/libssl/man/SSL_CTX_sess_number.3
secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3
secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3
secure/lib/libssl/man/SSL_CTX_sessions.3
secure/lib/libssl/man/SSL_CTX_set_cert_store.3
secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3
secure/lib/libssl/man/SSL_CTX_set_cipher_list.3
secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3
secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3
secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3
secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3
secure/lib/libssl/man/SSL_CTX_set_info_callback.3
secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3
secure/lib/libssl/man/SSL_CTX_set_mode.3
secure/lib/libssl/man/SSL_CTX_set_msg_callback.3
secure/lib/libssl/man/SSL_CTX_set_options.3
secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 [copied from secure/lib/libssl/man/SSL_get_current_cipher.3 with 65% similarity]
secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3
secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3
secure/lib/libssl/man/SSL_CTX_set_session_id_context.3
secure/lib/libssl/man/SSL_CTX_set_ssl_version.3
secure/lib/libssl/man/SSL_CTX_set_timeout.3
secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3
secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3
secure/lib/libssl/man/SSL_CTX_set_verify.3
secure/lib/libssl/man/SSL_CTX_use_certificate.3
secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 [copied from secure/lib/libssl/man/SSL_connect.3 with 55% similarity]
secure/lib/libssl/man/SSL_SESSION_free.3
secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3
secure/lib/libssl/man/SSL_SESSION_get_time.3
secure/lib/libssl/man/SSL_accept.3
secure/lib/libssl/man/SSL_alert_type_string.3
secure/lib/libssl/man/SSL_clear.3
secure/lib/libssl/man/SSL_connect.3
secure/lib/libssl/man/SSL_do_handshake.3
secure/lib/libssl/man/SSL_free.3
secure/lib/libssl/man/SSL_get_SSL_CTX.3
secure/lib/libssl/man/SSL_get_ciphers.3
secure/lib/libssl/man/SSL_get_client_CA_list.3
secure/lib/libssl/man/SSL_get_current_cipher.3
secure/lib/libssl/man/SSL_get_default_timeout.3
secure/lib/libssl/man/SSL_get_error.3
secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3
secure/lib/libssl/man/SSL_get_ex_new_index.3
secure/lib/libssl/man/SSL_get_fd.3
secure/lib/libssl/man/SSL_get_peer_cert_chain.3
secure/lib/libssl/man/SSL_get_peer_certificate.3
secure/lib/libssl/man/SSL_get_psk_identity.3 [copied from secure/lib/libssl/man/SSL_get_version.3 with 76% similarity]
secure/lib/libssl/man/SSL_get_rbio.3
secure/lib/libssl/man/SSL_get_session.3
secure/lib/libssl/man/SSL_get_verify_result.3
secure/lib/libssl/man/SSL_get_version.3
secure/lib/libssl/man/SSL_library_init.3
secure/lib/libssl/man/SSL_load_client_CA_file.3
secure/lib/libssl/man/SSL_new.3
secure/lib/libssl/man/SSL_pending.3
secure/lib/libssl/man/SSL_read.3
secure/lib/libssl/man/SSL_rstate_string.3
secure/lib/libssl/man/SSL_session_reused.3
secure/lib/libssl/man/SSL_set_bio.3
secure/lib/libssl/man/SSL_set_connect_state.3
secure/lib/libssl/man/SSL_set_fd.3
secure/lib/libssl/man/SSL_set_session.3
secure/lib/libssl/man/SSL_set_shutdown.3
secure/lib/libssl/man/SSL_set_verify_result.3
secure/lib/libssl/man/SSL_shutdown.3
secure/lib/libssl/man/SSL_state_string.3
secure/lib/libssl/man/SSL_want.3
secure/lib/libssl/man/SSL_write.3
secure/lib/libssl/man/d2i_SSL_SESSION.3
secure/lib/libssl/man/ssl.3
secure/usr.bin/openssl/Makefile
secure/usr.bin/openssl/Makefile.man
secure/usr.bin/openssl/man/CA.pl.1
secure/usr.bin/openssl/man/asn1parse.1
secure/usr.bin/openssl/man/ca.1
secure/usr.bin/openssl/man/ciphers.1
secure/usr.bin/openssl/man/cms.1 [copied from secure/usr.bin/openssl/man/smime.1 with 50% similarity]
secure/usr.bin/openssl/man/config.5
secure/usr.bin/openssl/man/crl.1
secure/usr.bin/openssl/man/crl2pkcs7.1
secure/usr.bin/openssl/man/dgst.1
secure/usr.bin/openssl/man/dhparam.1
secure/usr.bin/openssl/man/dsa.1
secure/usr.bin/openssl/man/dsaparam.1
secure/usr.bin/openssl/man/ec.1
secure/usr.bin/openssl/man/ecparam.1
secure/usr.bin/openssl/man/enc.1
secure/usr.bin/openssl/man/errstr.1
secure/usr.bin/openssl/man/gendsa.1
secure/usr.bin/openssl/man/genpkey.1 [new file with mode: 0644]
secure/usr.bin/openssl/man/genrsa.1
secure/usr.bin/openssl/man/nseq.1
secure/usr.bin/openssl/man/ocsp.1
secure/usr.bin/openssl/man/openssl.1
secure/usr.bin/openssl/man/passwd.1
secure/usr.bin/openssl/man/pkcs12.1
secure/usr.bin/openssl/man/pkcs7.1
secure/usr.bin/openssl/man/pkcs8.1
secure/usr.bin/openssl/man/pkey.1 [copied from secure/usr.bin/openssl/man/dsa.1 with 62% similarity]
secure/usr.bin/openssl/man/pkeyparam.1 [copied from secure/usr.bin/openssl/man/speed.1 with 70% similarity]
secure/usr.bin/openssl/man/pkeyutl.1 [new file with mode: 0644]
secure/usr.bin/openssl/man/rand.1
secure/usr.bin/openssl/man/req.1
secure/usr.bin/openssl/man/rsa.1
secure/usr.bin/openssl/man/rsautl.1
secure/usr.bin/openssl/man/s_client.1
secure/usr.bin/openssl/man/s_server.1
secure/usr.bin/openssl/man/s_time.1
secure/usr.bin/openssl/man/sess_id.1
secure/usr.bin/openssl/man/smime.1
secure/usr.bin/openssl/man/speed.1
secure/usr.bin/openssl/man/spkac.1
secure/usr.bin/openssl/man/ts.1 [new file with mode: 0644]
secure/usr.bin/openssl/man/tsget.1 [new file with mode: 0644]
secure/usr.bin/openssl/man/verify.1
secure/usr.bin/openssl/man/version.1
secure/usr.bin/openssl/man/x509.1
secure/usr.bin/openssl/man/x509v3_config.5
usr.sbin/sendmail/Makefile

index e269a0a..e02de5b 100644 (file)
@@ -1525,6 +1525,15 @@ TO_REMOVE+=/usr/share/man/cat9/mtx_notowner.9.gz
 TO_REMOVE+=/usr/share/man/cat9/mtx_owner.9.gz
 TO_REMOVE+=/usr/share/man/man9/mtx_notowner.9.gz
 TO_REMOVE+=/usr/share/man/man9/mtx_owner.9.gz
+TO_REMOVE+=/usr/include/openssl/fips_err.h
+TO_REMOVE+=/usr/include/openssl/krb5_asn.h
+TO_REMOVE+=/usr/include/openssl/md2.h
+TO_REMOVE+=/usr/include/openssl/pq_compat.h
+TO_REMOVE+=/usr/include/openssl/rc5.h
+TO_REMOVE+=/usr/include/openssl/store.h
+TO_REMOVE+=/usr/include/openssl/tmdiff.h
+TO_REMOVE+=/usr/share/openssl/man/cat3/CRYPTO_set_id_callback.3.gz
+TO_REMOVE+=/usr/share/openssl/man/man3/CRYPTO_set_id_callback.3.gz
 
 # XXX Remove when adjusted to the new 802.11 framework
 TO_REMOVE+=/boot/modules/if_acx.ko
index b3237d4..01963f3 100644 (file)
@@ -60,7 +60,7 @@
 #include <openssl/rand.h>
 #include <openssl/aes.h>
 #include "cms_lcl.h"
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 /* CMS EnvelopedData Utilities */
 
index e3192b9..dd2b759 100644 (file)
@@ -58,7 +58,7 @@
 #include <openssl/err.h>
 #include <openssl/cms.h>
 #include "cms_lcl.h"
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 /* CMS SignedData Utilities */
 
index 377caf9..d73d6eb 100644 (file)
@@ -61,7 +61,7 @@
 #include <openssl/asn1.h>
 #include <openssl/dh.h>
 #include <openssl/bn.h>
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 static void int_dh_free(EVP_PKEY *pkey)
        {
index 5ae72b7..943839a 100644 (file)
@@ -62,7 +62,7 @@
 #include <openssl/evp.h>
 #include <openssl/dh.h>
 #include <openssl/bn.h>
-#include "evp_locl.h"
+#include "../evp/evp_locl.h"
 
 /* DH pkey context structure */
 
index 6413aae..84c4e9a 100644 (file)
@@ -64,7 +64,7 @@
 #ifndef OPENSSL_NO_CMS
 #include <openssl/cms.h>
 #endif
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 static int dsa_pub_decode(EVP_PKEY *pkey, X509_PUBKEY *pubkey)
        {
index 4ce91e2..270d777 100644 (file)
@@ -61,7 +61,7 @@
 #include <openssl/x509.h>
 #include <openssl/evp.h>
 #include <openssl/bn.h>
-#include "evp_locl.h"
+#include "../evp/evp_locl.h"
 #include "dsa_locl.h"
 
 /* DSA pkey context structure */
index c00f7d7..3ad3f1a 100644 (file)
@@ -63,7 +63,7 @@
 #ifndef OPENSSL_NO_CMS
 #include <openssl/cms.h>
 #endif
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 static int eckey_param2type(int *pptype, void **ppval, EC_KEY *ec_key)
        {
index f433076..add8d8b 100644 (file)
@@ -62,7 +62,7 @@
 #include <openssl/ec.h>
 #include <openssl/ecdsa.h>
 #include <openssl/evp.h>
-#include "evp_locl.h"
+#include "../evp/evp_locl.h"
 
 /* EC pkey context structure */
 
index 7509033..1e9f229 100644 (file)
@@ -53,7 +53,7 @@
  */
 
 #include "eng_int.h"
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 #include <openssl/evp.h>
 
 /* If this symbol is defined then ENGINE_get_pkey_asn1_meth_engine(), the
index ceebf69..7466144 100644 (file)
@@ -61,7 +61,7 @@
 #include "cryptlib.h"
 #include <openssl/x509.h>
 #include <openssl/rand.h>
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 /* Extract a private key from a PKCS8 structure */
 
index 1916c61..51654b0 100644 (file)
@@ -78,7 +78,7 @@
 #include <openssl/engine.h>
 #endif
 
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 static void EVP_PKEY_free_it(EVP_PKEY *x);
 
index b2d8de3..19b4cc3 100644 (file)
@@ -64,7 +64,7 @@
 #ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
 #endif
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 #include "evp_locl.h"
 
 typedef int sk_cmp_fn_type(const char * const *a, const char * const *b);
index 6d8a891..cdf55c5 100644 (file)
@@ -58,7 +58,7 @@
 #include <stdio.h>
 #include "cryptlib.h"
 #include <openssl/evp.h>
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 #define HMAC_TEST_PRIVATE_KEY_FORMAT
 
index 985921c..ccbbba2 100644 (file)
@@ -61,7 +61,7 @@
 #include <openssl/x509v3.h>
 #include <openssl/evp.h>
 #include <openssl/hmac.h>
-#include "evp_locl.h"
+#include "../evp/evp_locl.h"
 
 /* HMAC pkey context structure */
 
index 42e4861..48226b5 100644 (file)
@@ -66,7 +66,7 @@
 #include <openssl/x509.h>
 #include <openssl/pem.h>
 #include <openssl/pkcs12.h>
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 #ifndef OPENSSL_NO_DES
 #include <openssl/des.h>
 #endif
index 8ecf249..4576c59 100644 (file)
@@ -68,7 +68,7 @@
 #ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
 #endif
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 int pem_check_suffix(const char *pem_str, const char *suffix);
 
index 3ca0952..ecee930 100644 (file)
@@ -60,7 +60,7 @@
 #include "cryptlib.h"
 #include <openssl/objects.h>
 #include <openssl/x509.h>
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg)
        {
index 8c32098..c46a9ed 100644 (file)
@@ -65,7 +65,7 @@
 #ifndef OPENSSL_NO_CMS
 #include <openssl/cms.h>
 #endif
-#include "asn1_locl.h"
+#include "../asn1/asn1_locl.h"
 
 static int rsa_pub_encode(X509_PUBKEY *pk, const EVP_PKEY *pkey)
        {
index c6892ec..66d57a8 100644 (file)
@@ -63,7 +63,7 @@
 #include <openssl/rsa.h>
 #include <openssl/bn.h>
 #include <openssl/evp.h>
-#include "evp_locl.h"
+#include "../evp/evp_locl.h"
 #include "rsa_locl.h"
 
 /* RSA pkey context structure */
index 21032a7..1ad418e 100644 (file)
@@ -57,7 +57,7 @@ struct fetchconn {
        SSL             *ssl;           /* SSL handle */
        SSL_CTX         *ssl_ctx;       /* SSL context */
        X509            *ssl_cert;      /* server certificate */
-       SSL_METHOD      *ssl_meth;      /* SSL method */
+       const SSL_METHOD *ssl_meth;     /* SSL method */
 #endif
        int              ref;           /* reference count */
 };
index 2cb31fd..13ab18d 100644 (file)
@@ -80,7 +80,7 @@ int
 smtp_init_crypto(int fd, int feature)
 {
        SSL_CTX *ctx = NULL;
-       SSL_METHOD *meth = NULL;
+       const SSL_METHOD *meth = NULL;
        X509 *cert;
        int error;
 
index 1754ff6..9317ca0 100644 (file)
@@ -13,11 +13,9 @@ NOLINT=              true
 .include "Makefile.inc"
 
 # base sources
-SRCS=  cpt_err.c cryptlib.c cversion.c dyn_lck.c ebcdic.c ex_data.c \
-       fips_err.c mem.c mem_clr.c \
-       mem_dbg.c o_dir.c o_init.c o_time.c tmdiff.c uid.c
-INCS=  ../e_os.h ../e_os2.h crypto.h ebcdic.h fips_err.h \
-       opensslv.h ossl_typ.h symhacks.h tmdiff.h
+SRCS=  cpt_err.c cryptlib.c cversion.c ebcdic.c ex_data.c \
+       mem.c mem_clr.c mem_dbg.c o_dir.c o_time.c uid.c
+INCS=  ../e_os.h ../e_os2.h crypto.h ebcdic.h opensslv.h ossl_typ.h symhacks.h
 
 # aes
 SRCS+= aes_cbc.c aes_cfb.c aes_core.c aes_ctr.c aes_ecb.c aes_ige.c \
@@ -26,18 +24,18 @@ INCS+=      aes.h aes_locl.h
 
 # asn1
 SRCS+= a_bitstr.c a_bool.c a_bytes.c a_d2i_fp.c a_digest.c \
-       a_dup.c a_enum.c a_gentm.c a_hdr.c a_i2d_fp.c a_int.c \
-       a_mbstr.c a_meth.c a_object.c a_octet.c a_print.c \
+       a_dup.c a_enum.c a_gentm.c a_i2d_fp.c a_int.c \
+       a_mbstr.c a_object.c a_octet.c a_print.c \
        a_set.c a_sign.c a_strex.c a_strnid.c a_time.c a_type.c \
-       a_utctm.c a_utf8.c a_verify.c asn1_err.c asn1_lib.c \
+       a_utctm.c a_utf8.c a_verify.c ameth_lib.c asn1_err.c asn1_lib.c \
        asn1_gen.c asn1_par.c asn_mime.c \
-       asn_moid.c asn_pack.c d2i_pr.c d2i_pu.c \
+       asn_moid.c asn_pack.c bio_asn1.c bio_ndef.c d2i_pr.c d2i_pu.c \
        evp_asn1.c f_enum.c f_int.c f_string.c i2d_pr.c i2d_pu.c \
        n_pkey.c nsseq.c p5_pbe.c p5_pbev2.c p8_pkey.c t_bitst.c \
        t_crl.c t_pkey.c t_req.c t_spki.c t_x509.c t_x509a.c \
-       tasn_dec.c tasn_enc.c tasn_fre.c tasn_new.c tasn_typ.c \
+       tasn_dec.c tasn_enc.c tasn_fre.c tasn_new.c tasn_prn.c tasn_typ.c \
        tasn_utl.c x_algor.c x_attrib.c x_bignum.c x_crl.c \
-       x_exten.c x_info.c x_long.c x_name.c x_pkey.c x_pubkey.c \
+       x_exten.c x_info.c x_long.c x_name.c x_nx509.c x_pkey.c x_pubkey.c \
        x_req.c x_sig.c x_spki.c x_val.c x_x509.c x_x509a.c
 INCS+= asn1.h asn1_mac.h asn1t.h
 
@@ -56,19 +54,18 @@ INCS+=      bio.h
 SRCS+= bn_add.c bn_asm.c bn_blind.c bn_const.c bn_ctx.c bn_depr.c \
        bn_div.c bn_err.c bn_exp.c \
        bn_exp2.c bn_gcd.c bn_gf2m.c bn_kron.c bn_lib.c bn_mod.c bn_mont.c \
-       bn_mpi.c bn_mul.c bn_nist.c bn_opt.c \
+       bn_mpi.c bn_mul.c bn_nist.c \
        bn_prime.c bn_print.c bn_rand.c bn_recp.c \
-       bn_shift.c bn_sqr.c bn_sqrt.c bn_word.c bn_x931p.c
+       bn_shift.c bn_sqr.c bn_sqrt.c bn_word.c
 INCS+= bn.h
 
 # buffer
-SRCS+= buf_err.c buf_str.c buffer.c
+SRCS+= buf_err.c buffer.c
 INCS+= buffer.h
 
 # camellia
-# still disabled in 0.9.8
-#SRCS+=        camellia.c cmll_misc.c cmll_ecb.c cmll_cbc.c cmll_ofb.c \
-#      cmll_cfb.c cmll_ctr.c 
+SRCS+= camellia.c cmll_cbc.c cmll_cfb.c \
+       cmll_ctr.c cmll_ecb.c cmll_misc.c cmll_ofb.c
 INCS+= camellia.h
 
 # cast
@@ -76,8 +73,9 @@ SRCS+=        c_cfb64.c c_ecb.c c_enc.c c_ofb64.c c_skey.c
 INCS+= cast.h
 
 # cms
-#SRCS+=        cms_att.c cms_att.c cms_cd.c cms_dd.c cms_enc.c cms_env.c cms_err.c \
-#      cms_ess.c cms_io.c cms_lib.c cms_sd.c cms_smime.c
+SRCS+= cms_asn1.c cms_att.c cms_cd.c cms_dd.c cms_enc.c cms_env.c cms_err.c \
+       cms_ess.c cms_io.c cms_lib.c cms_sd.c cms_smime.c
+INCS+= cms.h
 
 # comp
 SRCS+= c_rle.c c_zlib.c comp_err.c comp_lib.c
@@ -89,7 +87,7 @@ INCS+=        conf.h conf_api.h
 
 # des
 SRCS+= cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64ede.c cfb64enc.c cfb_enc.c \
-       des_enc.c des_lib.c des_old.c des_old2.c \
+       des_enc.c des_old.c des_old2.c \
        ecb3_enc.c ecb_enc.c ede_cbcm_enc.c \
        enc_read.c enc_writ.c fcrypt.c fcrypt_b.c ofb64ede.c ofb64enc.c \
        ofb_enc.c pcbc_enc.c qud_cksm.c rand_key.c read2pwd.c \
@@ -97,12 +95,14 @@ SRCS+=      cbc3_enc.c cbc_cksm.c cbc_enc.c cfb64ede.c cfb64enc.c cfb_enc.c \
 INCS+= des.h des_old.h
 
 # dh
-SRCS+= dh_asn1.c dh_check.c dh_depr.c dh_err.c dh_gen.c dh_key.c dh_lib.c
+SRCS+= dh_ameth.c dh_asn1.c dh_check.c dh_depr.c \
+       dh_err.c dh_gen.c dh_key.c dh_lib.c dh_pmeth.c dh_prn.c
 INCS+= dh.h
 
 # dsa
-SRCS+= dsa_asn1.c dsa_depr.c dsa_err.c dsa_gen.c dsa_key.c dsa_lib.c \
-       dsa_ossl.c dsa_sign.c dsa_utl.c dsa_vrf.c
+SRCS+= dsa_ameth.c dsa_asn1.c dsa_depr.c dsa_err.c \
+       dsa_gen.c dsa_key.c dsa_lib.c \
+       dsa_ossl.c dsa_pmeth.c dsa_prn.c dsa_sign.c dsa_vrf.c
 INCS+= dsa.h
 
 # dso
@@ -110,8 +110,10 @@ SRCS+=     dso_dl.c dso_dlfcn.c dso_err.c dso_lib.c dso_null.c dso_openssl.c
 INCS+= dso.h
 
 # ec
-SRCS+= ec_asn1.c ec_check.c ec_curve.c ec_cvt.c ec_err.c ec_key.c ec_lib.c \
-       ec_mult.c ec_print.c ec2_smpl.c ec2_mult.c ecp_mont.c ecp_nist.c \
+SRCS+= ec_ameth.c ec_asn1.c ec_check.c ec_curve.c \
+       ec_cvt.c ec_err.c ec_key.c ec_lib.c \
+       ec_mult.c ec_pmeth.c ec_print.c ec2_smpl.c ec2_mult.c \
+       eck_prn.c ecp_mont.c ecp_nist.c \
        ecp_smpl.c
 INCS+= ec.h
 
@@ -125,35 +127,42 @@ INCS+=    ecdsa.h
 
 # engine
 SRCS+= eng_all.c eng_cnf.c eng_cryptodev.c eng_ctrl.c eng_dyn.c eng_err.c \
-       eng_fat.c eng_init.c eng_lib.c eng_list.c eng_openssl.c eng_padlock.c \
-       eng_pkey.c eng_table.c tb_cipher.c tb_dh.c tb_ecdh.c tb_ecdsa.c \
-       tb_digest.c tb_dsa.c tb_rand.c tb_rsa.c tb_store.c
+       eng_fat.c eng_init.c eng_lib.c eng_list.c eng_openssl.c \
+       eng_pkey.c eng_table.c tb_asnmth.c tb_cipher.c tb_dh.c \
+       tb_digest.c tb_dsa.c tb_ecdh.c tb_ecdsa.c \
+       tb_pkmeth.c tb_rand.c tb_rsa.c tb_store.c
 INCS+= eng_int.h engine.h
 
 # engines
 CFLAGS+=-DOPENSSL_NO_DYNAMIC_ENGINE    # needs more hacking
-SRCS+= e_4758cca.c e_aep.c e_atalla.c e_chil.c e_cswift.c e_gmp.c \
-       e_nuron.c e_sureware.c e_ubsec.c
+SRCS+= e_4758cca.c e_aep.c e_atalla.c e_capi.c e_chil.c e_cswift.c e_gmp.c \
+       e_nuron.c e_padlock.c e_sureware.c e_ubsec.c
+
+# engines/ccgost
+SRCS+= e_gost_err.c gost2001.c gost2001_keyx.c gost89.c gost94_keyx.c \
+       gost_ameth.c gost_asn1.c gost_crypt.c gost_ctl.c gost_eng.c \
+       gost_keywrap.c gost_md.c gost_params.c gost_pmeth.c gost_sign.c \
+       gosthash.c
 
 # err
-SRCS+= err.c err_all.c err_bio.c err_def.c err_prn.c err_str.c
+SRCS+= err.c err_all.c err_prn.c
 INCS+= err.h
 
 # evp
 SRCS+= bio_b64.c bio_enc.c bio_md.c bio_ok.c c_all.c c_allc.c c_alld.c \
-       dig_eng.c \
        digest.c e_aes.c e_bf.c e_camellia.c e_cast.c e_des.c e_des3.c \
-       e_idea.c e_null.c e_rc2.c e_rc4.c e_rc5.c e_xcbc_d.c \
-       enc_min.c encode.c \
-       evp_acnf.c evp_cnf.c evp_enc.c evp_err.c evp_key.c evp_lib.c evp_pbe.c \
+       e_idea.c e_null.c e_rc2.c e_rc4.c e_rc5.c e_seed.c e_xcbc_d.c \
+       encode.c \
+       evp_acnf.c evp_enc.c evp_err.c evp_key.c evp_lib.c evp_pbe.c \
        evp_pkey.c m_dss.c m_dss1.c m_ecdsa.c m_md2.c m_md4.c m_md5.c \
-       m_mdc2.c m_null.c m_ripemd.c m_sha.c m_sha1.c names.c openbsd_hw.c \
+       m_mdc2.c m_null.c m_ripemd.c m_sha.c m_sha1.c \
+       m_sigver.c m_wp.c names.c openbsd_hw.c \
        p5_crpt.c p5_crpt2.c p_dec.c p_enc.c p_lib.c p_open.c p_seal.c \
-       p_sign.c p_verify.c
+       p_sign.c p_verify.c pmeth_fn.c pmeth_gn.c pmeth_lib.c
 INCS+= evp.h
 
 # hmac
-SRCS+= hmac.c
+SRCS+= hm_ameth.c hm_pmeth.c hmac.c
 INCS+= hmac.h
 
 # idea
@@ -172,8 +181,8 @@ SRCS+=      lh_stats.c lhash.c
 INCS+= lhash.h
 
 # md2
-SRCS+= md2_dgst.c md2_one.c
-INCS+= md2.h
+#SRCS+=        md2_dgst.c md2_one.c
+#INCS+=        md2.h
 
 # md4
 SRCS+= md4_dgst.c md4_one.c
@@ -184,12 +193,15 @@ SRCS+=    md5_dgst.c md5_one.c
 INCS+= md5.h
 
 # mdc2
-# ... is patented, so don't compile by default.
-#SRCS+=        mdc2_one.c mdc2dgst.c
+SRCS+= mdc2_one.c mdc2dgst.c
 INCS+= mdc2.h
 
+# modes
+SRCS+= cbc128.c cfb128.c ctr128.c cts128.c ofb128.c
+INCS+= modes.h
+
 # objects
-SRCS+= o_names.c obj_dat.c obj_err.c obj_lib.c
+SRCS+= o_names.c obj_dat.c obj_err.c obj_lib.c obj_xref.c
 INCS+= objects.h obj_mac.h
 
 # ocsp
@@ -199,7 +211,7 @@ INCS+=      ocsp.h
 
 # pem
 SRCS+= pem_all.c pem_err.c pem_info.c pem_lib.c pem_oth.c pem_pk8.c \
-       pem_pkey.c pem_seal.c pem_sign.c pem_x509.c pem_xaux.c
+       pem_pkey.c pem_seal.c pem_sign.c pem_x509.c pem_xaux.c pvkfmt.c
 INCS+= pem.h pem2.h
 
 # pkcs12
@@ -209,16 +221,16 @@ SRCS+=    p12_add.c p12_asn.c p12_attr.c p12_crpt.c p12_crt.c \
 INCS+= pkcs12.h
 
 # pkcs7
-SRCS+= example.c pk7_asn1.c pk7_attr.c pk7_dgst.c pk7_doit.c \
+SRCS+= bio_pk7.c example.c pk7_asn1.c pk7_attr.c pk7_dgst.c pk7_doit.c \
        pk7_lib.c pk7_mime.c pk7_smime.c pkcs7err.c
 INCS+= pkcs7.h
 
 # pqueue
 SRCS+= pqueue.c
-INCS+= pqueue.h pq_compat.h
+INCS+= pqueue.h
 
 # rand
-SRCS+= md_rand.c rand_egd.c rand_eng.c \
+SRCS+= md_rand.c rand_egd.c \
        rand_err.c rand_lib.c rand_nw.c rand_unix.c \
        randfile.c
 INCS+= rand.h
@@ -228,25 +240,30 @@ SRCS+=    rc2_cbc.c rc2_ecb.c rc2_skey.c rc2cfb64.c rc2ofb64.c
 INCS+= rc2.h
 
 # rc4
-SRCS+= rc4_enc.c rc4_fblk.c rc4_skey.c
+SRCS+= rc4_enc.c rc4_skey.c
 INCS+= rc4.h
 
 # rc5
 # .. is patented, so don't compile by default
 #SRCS+=        rc5_ecb.c rc5_enc.c rc5_skey.c rc5cfb64.c rc5ofb64.c
-INCS+= rc5.h
+#INCS+=        rc5.h
 
 # ripemd
 SRCS+= rmd_dgst.c rmd_one.c
 INCS+= ripemd.h
 
 # rsa
-SRCS+= rsa_asn1.c rsa_chk.c rsa_depr.c rsa_eay.c \
-       rsa_eng.c rsa_err.c rsa_gen.c \
-       rsa_lib.c rsa_none.c rsa_null.c rsa_oaep.c rsa_pk1.c rsa_pss.c \
-       rsa_saos.c rsa_sign.c rsa_ssl.c rsa_x931.c rsa_x931g.c
+SRCS+= rsa_ameth.c rsa_asn1.c rsa_chk.c rsa_depr.c rsa_eay.c \
+       rsa_err.c rsa_gen.c \
+       rsa_lib.c rsa_none.c rsa_null.c rsa_oaep.c \
+       rsa_pk1.c rsa_pmeth.c rsa_prn.c rsa_pss.c \
+       rsa_saos.c rsa_sign.c rsa_ssl.c rsa_x931.c
 INCS+= rsa.h
 
+# seed
+SRCS+= seed.c seed_cbc.c seed_cfb.c seed_ecb.c seed_ofb.c
+INCS+= seed.h
+
 # sha
 SRCS+= sha1_one.c sha1dgst.c sha256.c sha512.c sha_dgst.c sha_one.c
 INCS+= sha.h
@@ -256,8 +273,14 @@ SRCS+=     stack.c
 INCS+= stack.h safestack.h
 
 # store
-SRCS+= str_err.c str_lib.c str_meth.c str_mem.c
-INCS+= store.h
+#SRCS+=        str_err.c str_lib.c str_meth.c str_mem.c
+#INCS+=        store.h
+
+# ts
+SRCS+= ts_asn1.c ts_conf.c ts_err.c ts_lib.c \
+       ts_req_print.c ts_req_utils.c ts_rsp_print.c ts_rsp_sign.c \
+       ts_rsp_utils.c ts_rsp_verify.c ts_verify_ctx.c
+INCS+= ts.h
 
 # txt_db
 SRCS+= txt_db.c
@@ -267,6 +290,10 @@ INCS+=     txt_db.h
 SRCS+= ui_compat.c ui_err.c ui_lib.c ui_openssl.c ui_util.c
 INCS+= ui.h ui_compat.h ui_locl.h
 
+# whrlpool
+SRCS+= wp_block.c wp_dgst.c
+INCS+= whrlpool.h
+
 # x509
 SRCS+= by_dir.c by_file.c x509_att.c x509_cmp.c x509_d2.c \
        x509_def.c x509_err.c x509_ext.c x509_lu.c x509_obj.c \
@@ -317,6 +344,7 @@ opensslconf.h: opensslconf-${MACHINE_ARCH}.h
        ${LCRYPTO_SRC}/crypto/buffer \
        ${LCRYPTO_SRC}/crypto/camellia \
        ${LCRYPTO_SRC}/crypto/cast \
+       ${LCRYPTO_SRC}/crypto/cms \
        ${LCRYPTO_SRC}/crypto/comp \
        ${LCRYPTO_SRC}/crypto/conf \
        ${LCRYPTO_SRC}/crypto/des \
@@ -331,12 +359,11 @@ opensslconf.h: opensslconf-${MACHINE_ARCH}.h
        ${LCRYPTO_SRC}/crypto/evp \
        ${LCRYPTO_SRC}/crypto/hmac \
        ${_ideapath} \
-       ${LCRYPTO_SRC}/crypto/krb5 \
        ${LCRYPTO_SRC}/crypto/lhash \
-       ${LCRYPTO_SRC}/crypto/md2 \
        ${LCRYPTO_SRC}/crypto/md4 \
        ${LCRYPTO_SRC}/crypto/md5 \
        ${LCRYPTO_SRC}/crypto/mdc2 \
+       ${LCRYPTO_SRC}/crypto/modes \
        ${LCRYPTO_SRC}/crypto/objects \
        ${LCRYPTO_SRC}/crypto/ocsp \
        ${LCRYPTO_SRC}/crypto/pem \
@@ -346,17 +373,19 @@ opensslconf.h: opensslconf-${MACHINE_ARCH}.h
        ${LCRYPTO_SRC}/crypto/rand \
        ${LCRYPTO_SRC}/crypto/rc2 \
        ${LCRYPTO_SRC}/crypto/rc4 \
-       ${LCRYPTO_SRC}/crypto/rc5 \
        ${LCRYPTO_SRC}/crypto/ripemd \
        ${LCRYPTO_SRC}/crypto/rsa \
+       ${LCRYPTO_SRC}/crypto/seed \
        ${LCRYPTO_SRC}/crypto/sha \
        ${LCRYPTO_SRC}/crypto/stack \
-       ${LCRYPTO_SRC}/crypto/store \
        ${LCRYPTO_SRC}/crypto/threads \
+       ${LCRYPTO_SRC}/crypto/ts \
        ${LCRYPTO_SRC}/crypto/txt_db \
        ${LCRYPTO_SRC}/crypto/ui \
+       ${LCRYPTO_SRC}/crypto/whrlpool \
        ${LCRYPTO_SRC}/crypto/x509 \
        ${LCRYPTO_SRC}/crypto/x509v3 \
        ${LCRYPTO_SRC}/engines \
+       ${LCRYPTO_SRC}/engines/ccgost \
        ${LCRYPTO_SRC} \
        ${.CURDIR}/man
index 1ac7706..6bd0f0b 100644 (file)
@@ -1,8 +1,8 @@
 # $FreeBSD: src/secure/lib/libcrypto/Makefile.inc,v 1.7.2.11 2003/02/20 15:07:32 nectar Exp $
 # $DragonFly: src/secure/lib/libcrypto/Makefile.inc,v 1.18 2008/09/27 21:04:45 pavalos Exp $
 
-OSSLVERSION=   0.9.8m
-OSSLDATE=      2010-02-25
+OSSLVERSION=   1.0.0a
+OSSLDATE=      2010-06-01
 LCRYPTO_SRC=   ${.CURDIR}/../../../crypto/openssl
 LCRYPTO_DOC=   ${LCRYPTO_SRC}/doc
 
index ed20ed5..8d38806 100644 (file)
@@ -62,6 +62,7 @@ MLINKS+= BIO_new.3 BIO_set.3
 MLINKS+= BIO_new.3 BIO_free.3
 MLINKS+= BIO_new.3 BIO_vfree.3
 MLINKS+= BIO_new.3 BIO_free_all.3
+MAN+= BIO_new_CMS.3
 MAN+= BIO_push.3
 MLINKS+= BIO_push.3 BIO_pop.3
 MAN+= BIO_read.3
@@ -230,6 +231,44 @@ MLINKS+= BN_zero.3 BN_one.3
 MLINKS+= BN_zero.3 BN_value_one.3
 MLINKS+= BN_zero.3 BN_set_word.3
 MLINKS+= BN_zero.3 BN_get_word.3
+MAN+= CMS_add0_cert.3
+MLINKS+= CMS_add0_cert.3 CMS_add1_cert.3
+MLINKS+= CMS_add0_cert.3 CMS_get1_certs.3
+MLINKS+= CMS_add0_cert.3 CMS_add0_crl.3
+MLINKS+= CMS_add0_cert.3 CMS_get1_crls.3
+MAN+= CMS_add1_recipient_cert.3
+MLINKS+= CMS_add1_recipient_cert.3 CMS_add0_recipient_key.3
+MAN+= CMS_compress.3
+MAN+= CMS_decrypt.3
+MAN+= CMS_encrypt.3
+MAN+= CMS_final.3
+MAN+= CMS_get0_RecipientInfos.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_type.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_ktri_get0_signer_id.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_ktri_cert_cmp.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_set0_pkey.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_kekri_get0_id.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_kekri_id_cmp.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_set0_key.3
+MLINKS+= CMS_get0_RecipientInfos.3 CMS_RecipientInfo_decrypt.3
+MAN+= CMS_get0_SignerInfos.3
+MLINKS+= CMS_get0_SignerInfos.3 CMS_SignerInfo_get0_signer_id.3
+MLINKS+= CMS_get0_SignerInfos.3 CMS_SignerInfo_cert_cmp.3
+MLINKS+= CMS_get0_SignerInfos.3 CMS_set1_signer_certs.3
+MAN+= CMS_get0_type.3
+MLINKS+= CMS_get0_type.3 CMS_set1_eContentType.3
+MLINKS+= CMS_get0_type.3 CMS_get0_eContentType.3
+MAN+= CMS_get1_ReceiptRequest.3
+MLINKS+= CMS_get1_ReceiptRequest.3 CMS_ReceiptRequest_create0.3
+MLINKS+= CMS_get1_ReceiptRequest.3 CMS_add1_ReceiptRequest.3
+MLINKS+= CMS_get1_ReceiptRequest.3 CMS_ReceiptRequest_get0_values.3
+MAN+= CMS_sign.3
+MAN+= CMS_sign_add1_signer.3
+MLINKS+= CMS_sign_add1_signer.3 CMS_SignerInfo_sign.3
+MAN+= CMS_sign_receipt.3
+MAN+= CMS_uncompress.3
+MAN+= CMS_verify.3
+MAN+= CMS_verify_receipt.3
 MAN+= CONF_modules_free.3
 MLINKS+= CONF_modules_free.3 CONF_modules_finish.3
 MLINKS+= CONF_modules_free.3 CONF_modules_unload.3
@@ -336,6 +375,12 @@ MLINKS+= EVP_DigestInit.3 EVP_ripemd160.3
 MLINKS+= EVP_DigestInit.3 EVP_get_digestbyname.3
 MLINKS+= EVP_DigestInit.3 EVP_get_digestbynid.3
 MLINKS+= EVP_DigestInit.3 EVP_get_digestbyobj.3
+MAN+= EVP_DigestSignInit.3
+MLINKS+= EVP_DigestSignInit.3 EVP_DigestSignUpdate.3
+MLINKS+= EVP_DigestSignInit.3 EVP_DigestSignFinal.3
+MAN+= EVP_DigestVerifyInit.3
+MLINKS+= EVP_DigestVerifyInit.3 EVP_DigestVerifyUpdate.3
+MLINKS+= EVP_DigestVerifyInit.3 EVP_DigestVerifyFinal.3
 MAN+= EVP_EncryptInit.3
 MLINKS+= EVP_EncryptInit.3 EVP_CIPHER_CTX_init.3
 MLINKS+= EVP_EncryptInit.3 EVP_EncryptInit_ex.3
@@ -381,8 +426,40 @@ MLINKS+= EVP_EncryptInit.3 EVP_CIPHER_CTX_set_padding.3
 MAN+= EVP_OpenInit.3
 MLINKS+= EVP_OpenInit.3 EVP_OpenUpdate.3
 MLINKS+= EVP_OpenInit.3 EVP_OpenFinal.3
+MAN+= EVP_PKEY_CTX_ctrl.3
+MLINKS+= EVP_PKEY_CTX_ctrl.3 EVP_PKEY_ctrl.3
+MLINKS+= EVP_PKEY_CTX_ctrl.3 EVP_PKEY_ctrl_str.3
+MAN+= EVP_PKEY_CTX_new.3
+MLINKS+= EVP_PKEY_CTX_new.3 EVP_PKEY_CTX_new_id.3
+MLINKS+= EVP_PKEY_CTX_new.3 EVP_PKEY_CTX_dup.3
+MLINKS+= EVP_PKEY_CTX_new.3 EVP_PKEY_CTX_free.3
+MAN+= EVP_PKEY_cmp.3
+MLINKS+= EVP_PKEY_cmp.3 EVP_PKEY_copy_parameters.3
+MLINKS+= EVP_PKEY_cmp.3 EVP_PKEY_missing_parameters.3
+MLINKS+= EVP_PKEY_cmp.3 EVP_PKEY_cmp_parameters.3
+MAN+= EVP_PKEY_decrypt.3
+MLINKS+= EVP_PKEY_decrypt.3 EVP_PKEY_decrypt_init.3
+MAN+= EVP_PKEY_derive.3
+MLINKS+= EVP_PKEY_derive.3 EVP_PKEY_derive_init.3
+MLINKS+= EVP_PKEY_derive.3 EVP_PKEY_derive_set_peer.3
+MAN+= EVP_PKEY_encrypt.3
+MLINKS+= EVP_PKEY_encrypt.3 EVP_PKEY_encrypt_init.3
+MAN+= EVP_PKEY_get_default_digest.3
+MLINKS+= EVP_PKEY_get_default_digest.3 EVP_PKEY_get_default_digest_nid.3
+MAN+= EVP_PKEY_keygen.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEY_keygen_init.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEY_paramgen_init.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEY_paramgen.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEY_CTX_set_cb.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEY_CTX_get_cb.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEY_CTX_get_keygen_info.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEVP_PKEY_CTX_set_app_data.3
+MLINKS+= EVP_PKEY_keygen.3 EVP_PKEY_CTX_get_app_data.3
 MAN+= EVP_PKEY_new.3
 MLINKS+= EVP_PKEY_new.3 EVP_PKEY_free.3
+MAN+= EVP_PKEY_print_private.3
+MLINKS+= EVP_PKEY_print_private.3 EVP_PKEY_print_public.3
+MLINKS+= EVP_PKEY_print_private.3 EVP_PKEY_print_params.3
 MAN+= EVP_PKEY_set1_RSA.3
 MLINKS+= EVP_PKEY_set1_RSA.3 EVP_PKEY_set1_DSA.3
 MLINKS+= EVP_PKEY_set1_RSA.3 EVP_PKEY_set1_DH.3
@@ -396,6 +473,12 @@ MLINKS+= EVP_PKEY_set1_RSA.3 EVP_PKEY_assign_DSA.3
 MLINKS+= EVP_PKEY_set1_RSA.3 EVP_PKEY_assign_DH.3
 MLINKS+= EVP_PKEY_set1_RSA.3 EVP_PKEY_assign_EC_KEY.3
 MLINKS+= EVP_PKEY_set1_RSA.3 EVP_PKEY_type.3
+MAN+= EVP_PKEY_sign.3
+MLINKS+= EVP_PKEY_sign.3 EVP_PKEY_sign_init.3
+MAN+= EVP_PKEY_verify.3
+MLINKS+= EVP_PKEY_verify.3 EVP_PKEY_verify_init.3
+MAN+= EVP_PKEY_verifyrecover.3
+MLINKS+= EVP_PKEY_verifyrecover.3 EVP_PKEY_verifyrecover_init.3
 MAN+= EVP_SealInit.3
 MLINKS+= EVP_SealInit.3 EVP_SealUpdate.3
 MLINKS+= EVP_SealInit.3 EVP_SealFinal.3
@@ -429,11 +512,14 @@ MAN+= OPENSSL_load_builtin_modules.3
 MAN+= OpenSSL_add_all_algorithms.3
 MLINKS+= OpenSSL_add_all_algorithms.3 OpenSSL_add_all_ciphers.3
 MLINKS+= OpenSSL_add_all_algorithms.3 OpenSSL_add_all_digests.3
+MAN+= PEM_write_bio_CMS_stream.3
+MAN+= PEM_write_bio_PKCS7_stream.3
 MAN+= PKCS12_create.3
 MAN+= PKCS12_parse.3
 MAN+= PKCS7_decrypt.3
 MAN+= PKCS7_encrypt.3
 MAN+= PKCS7_sign.3
+MAN+= PKCS7_sign_add_signer.3
 MAN+= PKCS7_verify.3
 MAN+= RAND_add.3
 MLINKS+= RAND_add.3 RAND_seed.3
@@ -494,7 +580,9 @@ MLINKS+= RSA_sign.3 RSA_verify.3
 MAN+= RSA_sign_ASN1_OCTET_STRING.3
 MLINKS+= RSA_sign_ASN1_OCTET_STRING.3 RSA_verify_ASN1_OCTET_STRING.3
 MAN+= RSA_size.3
+MAN+= SMIME_read_CMS.3
 MAN+= SMIME_read_PKCS7.3
+MAN+= SMIME_write_CMS.3
 MAN+= SMIME_write_PKCS7.3
 MAN+= X509_NAME_ENTRY_get_object.3
 MLINKS+= X509_NAME_ENTRY_get_object.3 X509_NAME_ENTRY_get_data.3
@@ -518,8 +606,42 @@ MAN+= X509_NAME_print_ex.3
 MLINKS+= X509_NAME_print_ex.3 X509_NAME_print_ex_fp.3
 MLINKS+= X509_NAME_print_ex.3 X509_NAME_print.3
 MLINKS+= X509_NAME_print_ex.3 X509_NAME_oneline.3
+MAN+= X509_STORE_CTX_get_error.3
+MLINKS+= X509_STORE_CTX_get_error.3 X509_STORE_CTX_set_error.3
+MLINKS+= X509_STORE_CTX_get_error.3 X509_STORE_CTX_get_error_depth.3
+MLINKS+= X509_STORE_CTX_get_error.3 X509_STORE_CTX_get_current_cert.3
+MLINKS+= X509_STORE_CTX_get_error.3 X509_STORE_CTX_get1_chain.3
+MLINKS+= X509_STORE_CTX_get_error.3 X509_verify_cert_error_string.3
+MAN+= X509_STORE_CTX_get_ex_new_index.3
+MLINKS+= X509_STORE_CTX_get_ex_new_index.3 X509_STORE_CTX_set_ex_data.3
+MLINKS+= X509_STORE_CTX_get_ex_new_index.3 X509_STORE_CTX_get_ex_data.3
+MAN+= X509_STORE_CTX_new.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_cleanup.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_free.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_init.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_trusted_stack.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_set_cert.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_set_chain.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_set0_crls.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_get0_param.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_set0_param.3
+MLINKS+= X509_STORE_CTX_new.3 X509_STORE_CTX_set_default.3
+MAN+= X509_STORE_CTX_set_verify_cb.3
+MAN+= X509_STORE_set_verify_cb_func.3
+MLINKS+= X509_STORE_set_verify_cb_func.3 X509_STORE_set_verify_cb.3
+MAN+= X509_VERIFY_PARAM_set_flags.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_clear_flags.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_get_flags.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_set_purpose.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_set_trust.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_set_depth.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_get_depth.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_set_time.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_add0_policy.3
+MLINKS+= X509_VERIFY_PARAM_set_flags.3 X509_VERIFY_PARAM_set1_policies.3
 MAN+= X509_new.3
 MLINKS+= X509_new.3 X509_free.3
+MAN+= X509_verify_cert.3
 MAN+= bio.3
 MAN+= blowfish.3
 MLINKS+= blowfish.3 BF_set_key.3
@@ -664,6 +786,8 @@ MLINKS+= hmac.3 HMAC_Init.3
 MLINKS+= hmac.3 HMAC_Update.3
 MLINKS+= hmac.3 HMAC_Final.3
 MLINKS+= hmac.3 HMAC_cleanup.3
+MAN+= i2d_CMS_bio_stream.3
+MAN+= i2d_PKCS7_bio_stream.3
 MAN+= lh_stats.3
 MLINKS+= lh_stats.3 lh_node_stats.3
 MLINKS+= lh_stats.3 lh_node_usage_stats.3
@@ -699,6 +823,72 @@ MLINKS+= mdc2.3 MDC2_Update.3
 MLINKS+= mdc2.3 MDC2_Final.3
 MAN+= pem.3
 MLINKS+= pem.3 PEM.3
+MLINKS+= pem.3 PEM_read_bio_PrivateKey.3
+MLINKS+= pem.3 PEM_read_PrivateKey.3
+MLINKS+= pem.3 PEM_write_bio_PrivateKey.3
+MLINKS+= pem.3 PEM_write_PrivateKey.3
+MLINKS+= pem.3 PEM_write_bio_PKCS8PrivateKey.3
+MLINKS+= pem.3 PEM_write_PKCS8PrivateKey.3
+MLINKS+= pem.3 PEM_write_bio_PKCS8PrivateKey_nid.3
+MLINKS+= pem.3 PEM_write_PKCS8PrivateKey_nid.3
+MLINKS+= pem.3 PEM_read_bio_PUBKEY.3
+MLINKS+= pem.3 PEM_read_PUBKEY.3
+MLINKS+= pem.3 PEM_write_bio_PUBKEY.3
+MLINKS+= pem.3 PEM_write_PUBKEY.3
+MLINKS+= pem.3 PEM_read_bio_RSAPrivateKey.3
+MLINKS+= pem.3 PEM_read_RSAPrivateKey.3
+MLINKS+= pem.3 PEM_write_bio_RSAPrivateKey.3
+MLINKS+= pem.3 PEM_write_RSAPrivateKey.3
+MLINKS+= pem.3 PEM_read_bio_RSAPublicKey.3
+MLINKS+= pem.3 PEM_read_RSAPublicKey.3
+MLINKS+= pem.3 PEM_write_bio_RSAPublicKey.3
+MLINKS+= pem.3 PEM_write_RSAPublicKey.3
+MLINKS+= pem.3 PEM_read_bio_RSA_PUBKEY.3
+MLINKS+= pem.3 PEM_read_RSA_PUBKEY.3
+MLINKS+= pem.3 PEM_write_bio_RSA_PUBKEY.3
+MLINKS+= pem.3 PEM_write_RSA_PUBKEY.3
+MLINKS+= pem.3 PEM_read_bio_DSAPrivateKey.3
+MLINKS+= pem.3 PEM_read_DSAPrivateKey.3
+MLINKS+= pem.3 PEM_write_bio_DSAPrivateKey.3
+MLINKS+= pem.3 PEM_write_DSAPrivateKey.3
+MLINKS+= pem.3 PEM_read_bio_DSA_PUBKEY.3
+MLINKS+= pem.3 PEM_read_DSA_PUBKEY.3
+MLINKS+= pem.3 PEM_write_bio_DSA_PUBKEY.3
+MLINKS+= pem.3 PEM_write_DSA_PUBKEY.3
+MLINKS+= pem.3 PEM_read_bio_DSAparams.3
+MLINKS+= pem.3 PEM_read_DSAparams.3
+MLINKS+= pem.3 PEM_write_bio_DSAparams.3
+MLINKS+= pem.3 PEM_write_DSAparams.3
+MLINKS+= pem.3 PEM_read_bio_DHparams.3
+MLINKS+= pem.3 PEM_read_DHparams.3
+MLINKS+= pem.3 PEM_write_bio_DHparams.3
+MLINKS+= pem.3 PEM_write_DHparams.3
+MLINKS+= pem.3 PEM_read_bio_X509.3
+MLINKS+= pem.3 PEM_read_X509.3
+MLINKS+= pem.3 PEM_write_bio_X509.3
+MLINKS+= pem.3 PEM_write_X509.3
+MLINKS+= pem.3 PEM_read_bio_X509_AUX.3
+MLINKS+= pem.3 PEM_read_X509_AUX.3
+MLINKS+= pem.3 PEM_write_bio_X509_AUX.3
+MLINKS+= pem.3 PEM_write_X509_AUX.3
+MLINKS+= pem.3 PEM_read_bio_X509_REQ.3
+MLINKS+= pem.3 PEM_read_X509_REQ.3
+MLINKS+= pem.3 PEM_write_bio_X509_REQ.3
+MLINKS+= pem.3 PEM_write_X509_REQ.3
+MLINKS+= pem.3 PEM_write_bio_X509_REQ_NEW.3
+MLINKS+= pem.3 PEM_write_X509_REQ_NEW.3
+MLINKS+= pem.3 PEM_read_bio_X509_CRL.3
+MLINKS+= pem.3 PEM_read_X509_CRL.3
+MLINKS+= pem.3 PEM_write_bio_X509_CRL.3
+MLINKS+= pem.3 PEM_write_X509_CRL.3
+MLINKS+= pem.3 PEM_read_bio_PKCS7.3
+MLINKS+= pem.3 PEM_read_PKCS7.3
+MLINKS+= pem.3 PEM_write_bio_PKCS7.3
+MLINKS+= pem.3 PEM_write_PKCS7.3
+MLINKS+= pem.3 PEM_read_bio_NETSCAPE_CERT_SEQUENCE.3
+MLINKS+= pem.3 PEM_read_NETSCAPE_CERT_SEQUENCE.3
+MLINKS+= pem.3 PEM_write_bio_NETSCAPE_CERT_SEQUENCE.3
+MLINKS+= pem.3 PEM_write_NETSCAPE_CERT_SEQUENCE.3
 MAN+= rand.3
 MAN+= rc4.3
 MLINKS+= rc4.3 RC4_set_key.3
@@ -715,8 +905,13 @@ MLINKS+= sha.3 SHA1_Init.3
 MLINKS+= sha.3 SHA1_Update.3
 MLINKS+= sha.3 SHA1_Final.3
 MAN+= threads.3
+MLINKS+= threads.3 CRYPTO_THREADID_set_callback.3
+MLINKS+= threads.3 CRYPTO_THREADID_get_callback.3
+MLINKS+= threads.3 CRYPTO_THREADID_current.3
+MLINKS+= threads.3 CRYPTO_THREADID_cmp.3
+MLINKS+= threads.3 CRYPTO_THREADID_cpy.3
+MLINKS+= threads.3 CRYPTO_THREADID_hash.3
 MLINKS+= threads.3 CRYPTO_set_locking_callback.3
-MLINKS+= threads.3 CRYPTO_set_id_callback.3
 MLINKS+= threads.3 CRYPTO_num_locks.3
 MLINKS+= threads.3 CRYPTO_set_dynlock_create_callback.3
 MLINKS+= threads.3 CRYPTO_set_dynlock_lock_callback.3
index ec52cd1..c34309d 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "ASN1_OBJECT_new 3"
-.TH ASN1_OBJECT_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH ASN1_OBJECT_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 ASN1_OBJECT_new, ASN1_OBJECT_free, \- object allocation functions
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-.Vb 2
+.Vb 1
+\& #include <openssl/asn1.h>
+\&
 \& ASN1_OBJECT *ASN1_OBJECT_new(void);
 \& void ASN1_OBJECT_free(ASN1_OBJECT *a);
 .Ve
index 246358a..39fcb0e 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "ASN1_STRING_length 3"
-.TH ASN1_STRING_length 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH ASN1_STRING_length 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -143,7 +135,9 @@ ASN1_STRING_length_set, ASN1_STRING_type, ASN1_STRING_data \-
 ASN1_STRING utility functions
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-.Vb 2
+.Vb 1
+\& #include <openssl/asn1.h>
+\&
 \& int ASN1_STRING_length(ASN1_STRING *x);
 \& unsigned char * ASN1_STRING_data(ASN1_STRING *x);
 \&
index 0b9eec5..481ee54 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "ASN1_STRING_new 3"
-.TH ASN1_STRING_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH ASN1_STRING_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -142,7 +134,9 @@ ASN1_STRING_new, ASN1_STRING_type_new, ASN1_STRING_free \-
 ASN1_STRING allocation functions
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-.Vb 3
+.Vb 1
+\& #include <openssl/asn1.h>
+\&
 \& ASN1_STRING * ASN1_STRING_new(void);
 \& ASN1_STRING * ASN1_STRING_type_new(int type);
 \& void ASN1_STRING_free(ASN1_STRING *a);
index e16213c..5150844 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "ASN1_STRING_print_ex 3"
-.TH ASN1_STRING_print_ex 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH ASN1_STRING_print_ex 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index fff61f0..0a21284 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "ASN1_generate_nconf 3"
-.TH ASN1_generate_nconf 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH ASN1_generate_nconf 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 ASN1_generate_nconf, ASN1_generate_v3 \- ASN1 generation functions
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-.Vb 2
+.Vb 1
+\& #include <openssl/asn1.h>
+\&
 \& ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf);
 \& ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf);
 .Ve
@@ -168,7 +162,7 @@ is:
 That is zero or more comma separated modifiers followed by a type
 followed by an optional colon and a value. The formats of \fBtype\fR,
 \&\fBvalue\fR and \fBmodifier\fR are explained below.
-.Sh "\s-1SUPPORTED\s0 \s-1TYPES\s0"
+.SS "\s-1SUPPORTED\s0 \s-1TYPES\s0"
 .IX Subsection "SUPPORTED TYPES"
 The supported types are listed below. Unless otherwise specified
 only the \fB\s-1ASCII\s0\fR format is permissible.
@@ -216,8 +210,8 @@ can be used to specify the format of \fBvalue\fR.
 .Sp
 If the format is anything other than \fB\s-1BITLIST\s0\fR the number of unused
 bits is set to zero.
-.IP "\fB\s-1UNIVERSALSTRING\s0\fR, \fB\s-1UNIV\s0\fR, \fB\s-1IA5\s0\fR, \fB\s-1IA5STRING\s0\fR, \fB\s-1UTF8\s0\fR, \fBUTF8String\fR, \fB\s-1BMP\s0\fR, \fB\s-1BMPSTRING\s0\fR, \fB\s-1VISIBLESTRING\s0\fR, \fB\s-1VISIBLE\s0\fR, \fB\s-1PRINTABLESTRING\s0\fR, \fB\s-1PRINTABLE\s0\fR, \fBT61\fR, \fBT61STRING\fR, \fB\s-1TELETEXSTRING\s0\fR, \fBGeneralString\fR" 2
-.IX Item "UNIVERSALSTRING, UNIV, IA5, IA5STRING, UTF8, UTF8String, BMP, BMPSTRING, VISIBLESTRING, VISIBLE, PRINTABLESTRING, PRINTABLE, T61, T61STRING, TELETEXSTRING, GeneralString"
+.IP "\fB\s-1UNIVERSALSTRING\s0\fR, \fB\s-1UNIV\s0\fR, \fB\s-1IA5\s0\fR, \fB\s-1IA5STRING\s0\fR, \fB\s-1UTF8\s0\fR, \fBUTF8String\fR, \fB\s-1BMP\s0\fR, \fB\s-1BMPSTRING\s0\fR, \fB\s-1VISIBLESTRING\s0\fR, \fB\s-1VISIBLE\s0\fR, \fB\s-1PRINTABLESTRING\s0\fR, \fB\s-1PRINTABLE\s0\fR, \fBT61\fR, \fBT61STRING\fR, \fB\s-1TELETEXSTRING\s0\fR, \fBGeneralString\fR, \fB\s-1NUMERICSTRING\s0\fR, \fB\s-1NUMERIC\s0\fR" 2
+.IX Item "UNIVERSALSTRING, UNIV, IA5, IA5STRING, UTF8, UTF8String, BMP, BMPSTRING, VISIBLESTRING, VISIBLE, PRINTABLESTRING, PRINTABLE, T61, T61STRING, TELETEXSTRING, GeneralString, NUMERICSTRING, NUMERIC"
 These encode the corresponding string types. \fBvalue\fR represents the
 contents of this structure. The format can be \fB\s-1ASCII\s0\fR or \fB\s-1UTF8\s0\fR.
 .IP "\fB\s-1SEQUENCE\s0\fR, \fB\s-1SEQ\s0\fR, \fB\s-1SET\s0\fR" 2
@@ -227,7 +221,7 @@ should be a section name which will contain the contents. The
 field names in the section are ignored and the values are in the
 generated string format. If \fBvalue\fR is absent then an empty \s-1SEQUENCE\s0
 will be encoded.
-.Sh "\s-1MODIFIERS\s0"
+.SS "\s-1MODIFIERS\s0"
 .IX Subsection "MODIFIERS"
 Modifiers affect the following structure, they can be used to
 add \s-1EXPLICIT\s0 or \s-1IMPLICIT\s0 tagging, add wrappers or to change
@@ -284,7 +278,7 @@ An IA5String explicitly tagged using \s-1APPLICATION\s0 tagging:
 A \s-1BITSTRING\s0 with bits 1 and 5 set and all others zero:
 .PP
 .Vb 1
-\& FORMAT=BITLIST,BITSTRING:1,5
+\& FORMAT:BITLIST,BITSTRING:1,5
 .Ve
 .PP
 A more complex example using a config file to produce a
index 7c191ef..efc478e 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_ctrl 3"
-.TH BIO_ctrl 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_ctrl 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 2088dd8..12e6b55 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_f_base64 3"
-.TH BIO_f_base64 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_f_base64 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 6d6e725..bc7e2d0 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_f_buffer 3"
-.TH BIO_f_buffer 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_f_buffer 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -167,7 +159,7 @@ Calling \fIBIO_reset()\fR on a buffering \s-1BIO\s0 clears any buffered data.
 .PP
 \&\fIBIO_set_read_buffer_size()\fR, \fIBIO_set_write_buffer_size()\fR and \fIBIO_set_buffer_size()\fR
 set the read, write or both read and write buffer sizes to \fBsize\fR. The initial
-buffer size is \s-1DEFAULT_BUFFER_SIZE\s0, currently 1024. Any attempt to reduce the
+buffer size is \s-1DEFAULT_BUFFER_SIZE\s0, currently 4096. Any attempt to reduce the
 buffer size below \s-1DEFAULT_BUFFER_SIZE\s0 is ignored. Any buffered data is cleared
 when the buffer is resized.
 .PP
@@ -199,4 +191,9 @@ return 1 if the buffer was successfully resized or 0 for failure.
 there was an error.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\s-1TBA\s0
+\&\s-1\fIBIO\s0\fR\|(3),
+\&\fIBIO_reset\fR\|(3),
+\&\fIBIO_flush\fR\|(3),
+\&\fIBIO_pop\fR\|(3),
+\&\fIBIO_ctrl\fR\|(3),
+\&\fIBIO_int_ctrl\fR\|(3)
index 82a3db0..64a0a8f 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_f_cipher 3"
-.TH BIO_f_cipher 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_f_cipher 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 096ea24..e085ed2 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_f_md 3"
-.TH BIO_f_md 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_f_md 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -192,6 +184,12 @@ data is passed through it.
 If an application needs to call \fIBIO_gets()\fR or \fIBIO_puts()\fR through
 a chain containing digest BIOs then this can be done by prepending
 a buffering \s-1BIO\s0.
+.PP
+Before OpenSSL 1.0.0 the call to \fIBIO_get_md_ctx()\fR would only work if the \s-1BIO\s0
+had been initialized for example by calling \fIBIO_set_md()\fR ). In OpenSSL
+1.0.0 and later the context is always returned and the \s-1BIO\s0 is state is set
+to initialized. This allows applications to initialize the context externally
+if the standard calls such as \fIBIO_set_md()\fR are not sufficiently flexible.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
 \&\fIBIO_f_md()\fR returns the digest \s-1BIO\s0 method.
index eaa6579..387e09a 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_f_null 3"
-.TH BIO_f_null 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_f_null 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 6906bd4..7a0f81f 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_f_ssl 3"
-.TH BIO_f_ssl 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_f_ssl 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -444,6 +436,14 @@ a client and also echoes the request to standard output.
 \&
 \& BIO_free_all(sbio);
 .Ve
+.SH "BUGS"
+.IX Header "BUGS"
+In OpenSSL versions before 1.0.0 the \fIBIO_pop()\fR call was handled incorrectly,
+the I/O \s-1BIO\s0 reference count was incorrectly incremented (instead of
+decremented) and dissociated with the \s-1SSL\s0 \s-1BIO\s0 even if the \s-1SSL\s0 \s-1BIO\s0 was not
+explicitly being popped (e.g. a pop higher up the chain). Applications which
+included workarounds for this bug (e.g. freeing BIOs more than once) should
+be modified to handle this fix or they may free up an already freed \s-1BIO\s0.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
 \&\s-1TBA\s0
index 82e212a..bad0969 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_find_type 3"
-.TH BIO_find_type 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_find_type 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 8526d14..2ed35a4 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_new 3"
-.TH BIO_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
similarity index 62%
copy from secure/lib/libcrypto/man/ERR_print_errors.3
copy to secure/lib/libcrypto/man/BIO_new_CMS.3
index 2570dc2..e150385 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "ERR_print_errors 3"
-.TH ERR_print_errors 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "BIO_new_CMS 3"
+.TH BIO_new_CMS 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-ERR_print_errors, ERR_print_errors_fp \- print error messages
+.Vb 1
+\& BIO_new_CMS \- CMS streaming filter BIO
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
-\& #include <openssl/err.h>
+\& #include <openssl/cms.h>
 \&
-\& void ERR_print_errors(BIO *bp);
-\& void ERR_print_errors_fp(FILE *fp);
+\& BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIERR_print_errors()\fR is a convenience function that prints the error
-strings for all errors that OpenSSL has recorded to \fBbp\fR, thus
-emptying the error queue.
+\&\fIBIO_new_CMS()\fR returns a streaming filter \s-1BIO\s0 chain based on \fBcms\fR. The output
+of the filter is written to \fBout\fR. Any data written to the chain is
+automatically translated to a \s-1BER\s0 format \s-1CMS\s0 structure of the appropriate type.
+.SH "NOTES"
+.IX Header "NOTES"
+The chain returned by this function behaves like a standard filter \s-1BIO\s0. It
+supports non blocking I/O. Content is processed and streamed on the fly and not
+all held in memory at once: so it is possible to encode very large structures.
+After all content has been written through the chain \fIBIO_flush()\fR must be called
+to finalise the structure.
 .PP
-\&\fIERR_print_errors_fp()\fR is the same, except that the output goes to a
-\&\fB\s-1FILE\s0\fR.
+The \fB\s-1CMS_STREAM\s0\fR flag must be included in the corresponding \fBflags\fR
+parameter of the \fBcms\fR creation function.
 .PP
-The error strings will have the following format:
+If an application wishes to write additional data to \fBout\fR BIOs should be
+removed from the chain using \fIBIO_pop()\fR and freed with \fIBIO_free()\fR until \fBout\fR
+is reached. If no additional data needs to be written \fIBIO_free_all()\fR can be
+called to free up the whole chain.
 .PP
-.Vb 1
-\& [pid]:error:[error code]:[library name]:[function name]:[reason string]:[file name]:[line]:[optional text message]
-.Ve
+Any content written through the filter is used verbatim: no canonical
+translation is performed.
 .PP
-\&\fIerror code\fR is an 8 digit hexadecimal number. \fIlibrary name\fR,
-\&\fIfunction name\fR and \fIreason string\fR are \s-1ASCII\s0 text, as is \fIoptional
-text message\fR if one was set for the respective error code.
+It is possible to chain multiple BIOs to, for example, create a triple wrapped
+signed, enveloped, signed structure. In this case it is the applications
+responsibility to set the inner content type of any outer CMS_ContentInfo
+structures.
 .PP
-If there is no text string registered for the given error code,
-the error string will contain the numeric code.
+Large numbers of small writes through the chain should be avoided as this will
+produce an output consisting of lots of \s-1OCTET\s0 \s-1STRING\s0 structures. Prepending
+a \fIBIO_f_buffer()\fR buffering \s-1BIO\s0 will prevent this.
+.SH "BUGS"
+.IX Header "BUGS"
+There is currently no corresponding inverse \s-1BIO:\s0 i.e. one which can decode
+a \s-1CMS\s0 structure on the fly.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIERR_print_errors()\fR and \fIERR_print_errors_fp()\fR return no values.
+\&\fIBIO_new_CMS()\fR returns a \s-1BIO\s0 chain when successful or \s-1NULL\s0 if an error
+occurred. The error can be obtained from \fIERR_get_error\fR\|(3).
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIerr\fR\|(3), \fIERR_error_string\fR\|(3),
-\&\fIERR_get_error\fR\|(3),
-\&\fIERR_load_crypto_strings\fR\|(3),
-\&\fISSL_load_error_strings\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_sign\fR\|(3),
+\&\fICMS_encrypt\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIERR_print_errors()\fR and \fIERR_print_errors_fp()\fR
-are available in all versions of SSLeay and OpenSSL.
+\&\fIBIO_new_CMS()\fR was added to OpenSSL 1.0.0
index 228ea7c..ee10b70 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_push 3"
-.TH BIO_push 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_push 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 3c518e7..bd75fd4 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_read 3"
-.TH BIO_read 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_read 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 04a7748..4038543 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_accept 3"
-.TH BIO_s_accept 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_accept 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 3da9dff..431ff82 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_bio 3"
-.TH BIO_s_bio 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_bio 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index f17c702..e76ad3d 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_connect 3"
-.TH BIO_s_connect 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_connect 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index c8aa8c1..236607f 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_fd 3"
-.TH BIO_s_fd 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_fd 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 27997e7..a22a462 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_file 3"
-.TH BIO_s_file 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_file 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -210,6 +202,10 @@ normally be closed so the \s-1BIO_NOCLOSE\s0 flag should be set.
 .PP
 Because the file \s-1BIO\s0 calls the underlying stdio functions any quirks
 in stdio behaviour will be mirrored by the corresponding \s-1BIO\s0.
+.PP
+On Windows BIO_new_files reserves for the filename argument to be
+\&\s-1UTF\-8\s0 encoded. In other words if you have to make it work in multi\-
+lingual environment, encode file names in \s-1UTF\-8\s0.
 .SH "EXAMPLES"
 .IX Header "EXAMPLES"
 File \s-1BIO\s0 \*(L"hello world\*(R":
index 1d4917d..90c2d33 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_mem 3"
-.TH BIO_s_mem 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_mem 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -209,7 +201,7 @@ Writes to memory BIOs will always succeed if memory is available: that is
 their size can grow indefinitely.
 .PP
 Every read from a read write memory \s-1BIO\s0 will remove the data just read with
-an internal copy operation, if a \s-1BIO\s0 contains a lots of data and it is
+an internal copy operation, if a \s-1BIO\s0 contains a lot of data and it is
 read in small chunks the operation can be very slow. The use of a read only
 memory \s-1BIO\s0 avoids this problem. If the \s-1BIO\s0 must be read write then adding
 a buffering \s-1BIO\s0 to the chain will speed up the process.
index e8ac404..33df302 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_null 3"
-.TH BIO_s_null 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_null 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 21745b2..bac9dd0 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_s_socket 3"
-.TH BIO_s_socket 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_s_socket 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 69234fb..5d25b24 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_set_callback 3"
-.TH BIO_set_callback 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_set_callback 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index fca1738..39f9846 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BIO_should_retry 3"
-.TH BIO_should_retry 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BIO_should_retry 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -181,7 +173,7 @@ needs to read data.
 \&\fIBIO_should_io_special()\fR is true if some \*(L"special\*(R" condition, that is a
 reason other than reading or writing is the cause of the condition.
 .PP
-\&\fIBIO_get_retry_reason()\fR returns a mask of the cause of a retry condition
+\&\fIBIO_retry_type()\fR returns a mask of the cause of a retry condition
 consisting of the values \fB\s-1BIO_FLAGS_READ\s0\fR, \fB\s-1BIO_FLAGS_WRITE\s0\fR,
 \&\fB\s-1BIO_FLAGS_IO_SPECIAL\s0\fR though current \s-1BIO\s0 types will only set one of
 these.
index 29ff157..90c098e 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_BLINDING_new 3"
-.TH BN_BLINDING_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_BLINDING_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -158,8 +150,11 @@ functions.
 \&        BN_CTX *ctx);
 \& int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b,
 \&        BN_CTX *ctx);
+\& #ifndef OPENSSL_NO_DEPRECATED
 \& unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *);
 \& void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long);
+\& #endif
+\& CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *);
 \& unsigned long BN_BLINDING_get_flags(const BN_BLINDING *);
 \& void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long);
 \& BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b,
@@ -190,11 +185,11 @@ the inverse blinding.
 functions for \fIBN_BLINDING_convert_ex()\fR and \fIBN_BLINDING_invert_ex()\fR
 with \fBr\fR set to \s-1NULL\s0.
 .PP
-\&\fIBN_BLINDING_set_thread_id()\fR and \fIBN_BLINDING_get_thread_id()\fR
-set and get the \*(L"thread id\*(R" value of the \fB\s-1BN_BLINDING\s0\fR structure,
-a field provided to users of \fB\s-1BN_BLINDING\s0\fR structure to help them
-provide proper locking if needed for multi-threaded use. The 
-\&\*(L"thread id\*(R" of a newly allocated \fB\s-1BN_BLINDING\s0\fR structure is zero.
+\&\fIBN_BLINDING_thread_id()\fR provides access to the \fB\s-1CRYPTO_THREADID\s0\fR
+object within the \fB\s-1BN_BLINDING\s0\fR structure. This is to help users
+provide proper locking if needed for multi-threaded use. The \*(L"thread
+id\*(R" object of a newly allocated \fB\s-1BN_BLINDING\s0\fR structure is
+initialised to the thread id in which \fIBN_BLINDING_new()\fR was called.
 .PP
 \&\fIBN_BLINDING_get_flags()\fR returns the \s-1BN_BLINDING\s0 flags. Currently
 there are two supported flags: \fB\s-1BN_BLINDING_NO_UPDATE\s0\fR and
@@ -218,8 +213,8 @@ or \s-1NULL\s0 in case of an error.
 \&\fIBN_BLINDING_convert_ex()\fR and \fIBN_BLINDING_invert_ex()\fR return 1 on
 success and 0 if an error occured.
 .PP
-\&\fIBN_BLINDING_get_thread_id()\fR returns the thread id (a \fBunsigned long\fR
-value) or 0 if not set.
+\&\fIBN_BLINDING_thread_id()\fR returns a pointer to the thread id object
+within a \fB\s-1BN_BLINDING\s0\fR object.
 .PP
 \&\fIBN_BLINDING_get_flags()\fR returns the currently set \fB\s-1BN_BLINDING\s0\fR flags
 (a \fBunsigned long\fR value).
@@ -231,6 +226,9 @@ parameters or \s-1NULL\s0 on error.
 \&\fIbn\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
+BN_BLINDING_thread_id was first introduced in OpenSSL 1.0.0, and it
+deprecates BN_BLINDING_set_thread_id and BN_BLINDING_get_thread_id.
+.PP
 BN_BLINDING_convert_ex, BN_BLINDIND_invert_ex, BN_BLINDING_get_thread_id,
 BN_BLINDING_set_thread_id, BN_BLINDING_set_flags, BN_BLINDING_get_flags
 and BN_BLINDING_create_param were first introduced in OpenSSL 0.9.8
index d88f3e0..5b20f5b 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_CTX_new 3"
-.TH BN_CTX_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_CTX_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index a8ec277..d90df7b 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_CTX_start 3"
-.TH BN_CTX_start 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_CTX_start 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 7c6d984..2273514 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_add 3"
-.TH BN_add 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_add 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 6c56632..01323a5 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_add_word 3"
-.TH BN_add_word 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_add_word 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 3f2fb0d..4eca074 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_bn2bin 3"
-.TH BN_bn2bin 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_bn2bin 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 7ca87cf..8f835be 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_cmp 3"
-.TH BN_cmp 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_cmp 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 91a2938..dd16716 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_copy 3"
-.TH BN_copy 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_copy 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index fc9b8f3..7c5d7e6 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_generate_prime 3"
-.TH BN_generate_prime 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_generate_prime 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 65ca90a..21071b3 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_mod_inverse 3"
-.TH BN_mod_inverse 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_mod_inverse 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 0a66385..f9ed354 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_mod_mul_montgomery 3"
-.TH BN_mod_mul_montgomery 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_mod_mul_montgomery 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 97eeec6..29cdd13 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_mod_mul_reciprocal 3"
-.TH BN_mod_mul_reciprocal 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_mod_mul_reciprocal 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 4685a8c..fd0713f 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_new 3"
-.TH BN_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index fd809a5..24dbe59 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_num_bytes 3"
-.TH BN_num_bytes 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_num_bytes 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 71d1471..3ef8cc0 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_rand 3"
-.TH BN_rand 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_rand 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index b949983..63e2f9c 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_set_bit 3"
-.TH BN_set_bit 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_set_bit 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 954862c..8383181 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_swap 3"
-.TH BN_swap 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_swap 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 3218c1e..a2819ee 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "BN_zero 3"
-.TH BN_zero 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH BN_zero 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
similarity index 63%
copy from secure/lib/libcrypto/man/ERR_print_errors.3
copy to secure/lib/libcrypto/man/CMS_add0_cert.3
index 2570dc2..fee946d 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "ERR_print_errors 3"
-.TH ERR_print_errors 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_add0_cert 3"
+.TH CMS_add0_cert 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-ERR_print_errors, ERR_print_errors_fp \- print error messages
+.Vb 1
+\& CMS_add0_cert, CMS_add1_cert, CMS_get1_certs, CMS_add0_crl, CMS_get1_crls, \- CMS certificate and CRL utility functions
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
-\& #include <openssl/err.h>
+\& #include <openssl/cms.h>
 \&
-\& void ERR_print_errors(BIO *bp);
-\& void ERR_print_errors_fp(FILE *fp);
+\& int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert);
+\& int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert);
+\& STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms);
+\&
+\& int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl);
+\& int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl);
+\& STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIERR_print_errors()\fR is a convenience function that prints the error
-strings for all errors that OpenSSL has recorded to \fBbp\fR, thus
-emptying the error queue.
+\&\fICMS_add0_cert()\fR and \fICMS_add1_cert()\fR add certificate \fBcert\fR to \fBcms\fR.
+must be of type signed data or enveloped data.
 .PP
-\&\fIERR_print_errors_fp()\fR is the same, except that the output goes to a
-\&\fB\s-1FILE\s0\fR.
+\&\fICMS_get1_certs()\fR returns all certificates in \fBcms\fR.
 .PP
-The error strings will have the following format:
+\&\fICMS_add0_crl()\fR and \fICMS_add1_crl()\fR add \s-1CRL\s0 \fBcrl\fR to \fBcms\fR. \fICMS_get1_crls()\fR
+returns any CRLs in \fBcms\fR.
+.SH "NOTES"
+.IX Header "NOTES"
+The CMS_ContentInfo structure \fBcms\fR must be of type signed data or enveloped
+data or an error will be returned.
 .PP
-.Vb 1
-\& [pid]:error:[error code]:[library name]:[function name]:[reason string]:[file name]:[line]:[optional text message]
-.Ve
+For signed data certificates and CRLs are added to the \fBcertificates\fR and
+\&\fBcrls\fR fields of SignedData structure. For enveloped data they are added to
+\&\fBOriginatorInfo\fR.
 .PP
-\&\fIerror code\fR is an 8 digit hexadecimal number. \fIlibrary name\fR,
-\&\fIfunction name\fR and \fIreason string\fR are \s-1ASCII\s0 text, as is \fIoptional
-text message\fR if one was set for the respective error code.
+As the \fB0\fR implies \fICMS_add0_cert()\fR adds \fBcert\fR internally to \fBcms\fR and it
+must not be freed up after the call as opposed to \fICMS_add1_cert()\fR where \fBcert\fR
+must be freed up.
 .PP
-If there is no text string registered for the given error code,
-the error string will contain the numeric code.
+The same certificate or \s-1CRL\s0 must not be added to the same cms structure more
+than once.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIERR_print_errors()\fR and \fIERR_print_errors_fp()\fR return no values.
+\&\fICMS_add0_cert()\fR, \fICMS_add1_cert()\fR and \fICMS_add0_crl()\fR and \fICMS_add1_crl()\fR return
+1 for success and 0 for failure.
+.PP
+\&\fICMS_get1_certs()\fR and \fICMS_get1_crls()\fR return the \s-1STACK\s0 of certificates or CRLs
+or \s-1NULL\s0 if there are none or an error occurs. The only error which will occur
+in practice is if the \fBcms\fR type is invalid.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIerr\fR\|(3), \fIERR_error_string\fR\|(3),
 \&\fIERR_get_error\fR\|(3),
-\&\fIERR_load_crypto_strings\fR\|(3),
-\&\fISSL_load_error_strings\fR\|(3)
+\&\fICMS_sign\fR\|(3),
+\&\fICMS_encrypt\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIERR_print_errors()\fR and \fIERR_print_errors_fp()\fR
-are available in all versions of SSLeay and OpenSSL.
+\&\fICMS_add0_cert()\fR, \fICMS_add1_cert()\fR, \fICMS_get1_certs()\fR, \fICMS_add0_crl()\fR
+and \fICMS_get1_crls()\fR were all first added to OpenSSL 0.9.8
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "RAND_load_file 3"
-.TH RAND_load_file 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_add1_recipient_cert 3"
+.TH CMS_add1_recipient_cert 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-RAND_load_file, RAND_write_file, RAND_file_name \- PRNG seed file
+.Vb 1
+\& CMS_add1_recipient_cert, CMS_add0_recipient_key \- add recipients to a CMS enveloped data structure
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
-\& #include <openssl/rand.h>
+\& #include <openssl/cms.h>
 \&
-\& const char *RAND_file_name(char *buf, size_t num);
+\& CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, X509 *recip, unsigned int flags);
 \&
-\& int RAND_load_file(const char *filename, long max_bytes);
-\&
-\& int RAND_write_file(const char *filename);
+\& CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, unsigned char *key, size_t keylen, unsigned char *id, size_t idlen, ASN1_GENERALIZEDTIME *date, ASN1_OBJECT *otherTypeId, ASN1_TYPE *otherType);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIRAND_file_name()\fR generates a default path for the random seed
-file. \fBbuf\fR points to a buffer of size \fBnum\fR in which to store the
-filename. The seed file is \f(CW$RANDFILE\fR if that environment variable is
-set, \f(CW$HOME\fR/.rnd otherwise. If \f(CW$HOME\fR is not set either, or \fBnum\fR is
-too small for the path name, an error occurs.
+\&\fICMS_add1_recipient_cert()\fR adds recipient \fBrecip\fR to CMS_ContentInfo enveloped
+data structure \fBcms\fR as a KeyTransRecipientInfo structure.
 .PP
-\&\fIRAND_load_file()\fR reads a number of bytes from file \fBfilename\fR and
-adds them to the \s-1PRNG\s0. If \fBmax_bytes\fR is non-negative,
-up to to \fBmax_bytes\fR are read; starting with OpenSSL 0.9.5,
-if \fBmax_bytes\fR is \-1, the complete file is read.
+\&\fICMS_add0_recipient_key()\fR adds symmetric key \fBkey\fR of length \fBkeylen\fR using
+wrapping algorithm \fBnid\fR, identifier \fBid\fR of length \fBidlen\fR and optional
+values \fBdate\fR, \fBotherTypeId\fR and \fBotherType\fR to CMS_ContentInfo enveloped
+data structure \fBcms\fR as a KEKRecipientInfo structure.
 .PP
-\&\fIRAND_write_file()\fR writes a number of random bytes (currently 1024) to
-file \fBfilename\fR which can be used to initialize the \s-1PRNG\s0 by calling
-\&\fIRAND_load_file()\fR in a later session.
-.SH "RETURN VALUES"
-.IX Header "RETURN VALUES"
-\&\fIRAND_load_file()\fR returns the number of bytes read.
+The CMS_ContentInfo structure should be obtained from an initial call to
+\&\fICMS_encrypt()\fR with the flag \fB\s-1CMS_PARTIAL\s0\fR set.
+.SH "NOTES"
+.IX Header "NOTES"
+The main purpose of this function is to provide finer control over a \s-1CMS\s0
+enveloped data structure where the simpler \fICMS_encrypt()\fR function defaults are
+not appropriate. For example if one or more KEKRecipientInfo structures
+need to be added. New attributes can also be added using the returned
+CMS_RecipientInfo structure and the \s-1CMS\s0 attribute utility functions.
 .PP
-\&\fIRAND_write_file()\fR returns the number of bytes written, and \-1 if the
-bytes written were generated without appropriate seed.
+OpenSSL will by default identify recipient certificates using issuer name
+and serial number. If \fB\s-1CMS_USE_KEYID\s0\fR is set it will use the subject key
+identifier value instead. An error occurs if all recipient certificates do not
+have a subject key identifier extension.
 .PP
-\&\fIRAND_file_name()\fR returns a pointer to \fBbuf\fR on success, and \s-1NULL\s0 on
-error.
+Currently only \s-1AES\s0 based key wrapping algorithms are supported for \fBnid\fR,
+specifically: NID_id_aes128_wrap, NID_id_aes192_wrap and NID_id_aes256_wrap.
+If \fBnid\fR is set to \fBNID_undef\fR then an \s-1AES\s0 wrap algorithm will be used
+consistent with \fBkeylen\fR.
+.SH "RETURN VALUES"
+.IX Header "RETURN VALUES"
+\&\fICMS_add1_recipient_cert()\fR and \fICMS_add0_recipient_key()\fR return an internal
+pointer to the CMS_RecipientInfo structure just added or \s-1NULL\s0 if an error
+occurs.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIrand\fR\|(3), \fIRAND_add\fR\|(3), \fIRAND_cleanup\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_decrypt\fR\|(3),
+\&\fICMS_final\fR\|(3),
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIRAND_load_file()\fR, \fIRAND_write_file()\fR and \fIRAND_file_name()\fR are available in
-all versions of SSLeay and OpenSSL.
+\&\fICMS_add1_recipient_cert()\fR and \fICMS_add0_recipient_key()\fR were added to OpenSSL
+0.9.8
similarity index 59%
copy from secure/lib/libcrypto/man/PKCS7_encrypt.3
copy to secure/lib/libcrypto/man/CMS_compress.3
index 1415fa5..58c5a12 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "PKCS7_encrypt 3"
-.TH PKCS7_encrypt 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_compress 3"
+.TH CMS_compress 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-PKCS7_encrypt \- create a PKCS#7 envelopedData structure
+CMS_compress \- create a CMS CompressedData structure
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-\&\s-1PKCS7\s0 *PKCS7_encrypt(\s-1STACK_OF\s0(X509) *certs, \s-1BIO\s0 *in, const \s-1EVP_CIPHER\s0 *cipher, int flags);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags);
+.Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIPKCS7_encrypt()\fR creates and returns a PKCS#7 envelopedData structure. \fBcerts\fR
-is a list of recipient certificates. \fBin\fR is the content to be encrypted.
-\&\fBcipher\fR is the symmetric cipher to use. \fBflags\fR is an optional set of flags.
+\&\fICMS_compress()\fR creates and returns a \s-1CMS\s0 CompressedData structure. \fBcomp_nid\fR
+is the compression algorithm to use or \fBNID_undef\fR to use the default
+algorithm (zlib compression). \fBin\fR is the content to be compressed.
+\&\fBflags\fR is an optional set of flags.
 .SH "NOTES"
 .IX Header "NOTES"
-Only \s-1RSA\s0 keys are supported in PKCS#7 and envelopedData so the recipient certificates
-supplied to this function must all contain \s-1RSA\s0 public keys, though they do not have to
-be signed using the \s-1RSA\s0 algorithm.
+The only currently supported compression algorithm is zlib using the \s-1NID\s0
+NID_zlib_compression.
 .PP
-\&\fIEVP_des_ede3_cbc()\fR (triple \s-1DES\s0) is the algorithm of choice for S/MIME use because
-most clients will support it.
+If zlib support is not compiled into OpenSSL then \fICMS_compress()\fR will return
+an error.
 .PP
-Some old \*(L"export grade\*(R" clients may only support weak encryption using 40 or 64 bit
-\&\s-1RC2\s0. These can be used by passing \fIEVP_rc2_40_cbc()\fR and \fIEVP_rc2_64_cbc()\fR respectively.
+If the \fB\s-1CMS_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are
+prepended to the data.
 .PP
-The algorithm passed in the \fBcipher\fR parameter must support \s-1ASN1\s0 encoding of its
-parameters.
+Normally the supplied content is translated into \s-1MIME\s0 canonical format (as
+required by the S/MIME specifications) if \fB\s-1CMS_BINARY\s0\fR is set no translation
+occurs. This option should be used if the supplied data is in binary format
+otherwise the translation will corrupt it. If \fB\s-1CMS_BINARY\s0\fR is set then
+\&\fB\s-1CMS_TEXT\s0\fR is ignored.
 .PP
-Many browsers implement a \*(L"sign and encrypt\*(R" option which is simply an S/MIME 
-envelopedData containing an S/MIME signed message. This can be readily produced
-by storing the S/MIME signed message in a memory \s-1BIO\s0 and passing it to
-\&\fIPKCS7_encrypt()\fR.
+If the \fB\s-1CMS_STREAM\s0\fR flag is set a partial \fBCMS_ContentInfo\fR structure is
+returned suitable for streaming I/O: no data is read from the \s-1BIO\s0 \fBin\fR.
 .PP
-The following flags can be passed in the \fBflags\fR parameter.
+The compressed data is included in the CMS_ContentInfo structure, unless
+\&\fB\s-1CMS_DETACHED\s0\fR is set in which case it is omitted. This is rarely used in
+practice and is not supported by \fISMIME_write_CMS()\fR.
+.SH "NOTES"
+.IX Header "NOTES"
+If the flag \fB\s-1CMS_STREAM\s0\fR is set the returned \fBCMS_ContentInfo\fR structure is
+\&\fBnot\fR complete and outputting its contents via a function that does not
+properly finalize the \fBCMS_ContentInfo\fR structure will give unpredictable
+results.
 .PP
-If the \fB\s-1PKCS7_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are prepended
-to the data.
+Several functions including \fISMIME_write_CMS()\fR, \fIi2d_CMS_bio_stream()\fR,
+\&\fIPEM_write_bio_CMS_stream()\fR finalize the structure. Alternatively finalization
+can be performed by obtaining the streaming \s-1ASN1\s0 \fB\s-1BIO\s0\fR directly using
+\&\fIBIO_new_CMS()\fR.
 .PP
-Normally the supplied content is translated into \s-1MIME\s0 canonical format (as required
-by the S/MIME specifications) if \fB\s-1PKCS7_BINARY\s0\fR is set no translation occurs. This
-option should be used if the supplied data is in binary format otherwise the translation
-will corrupt it. If \fB\s-1PKCS7_BINARY\s0\fR is set then \fB\s-1PKCS7_TEXT\s0\fR is ignored.
+Additional compression parameters such as the zlib compression level cannot
+currently be set.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIPKCS7_encrypt()\fR returns either a valid \s-1PKCS7\s0 structure or \s-1NULL\s0 if an error occurred.
-The error can be obtained from \fIERR_get_error\fR\|(3).
-.SH "BUGS"
-.IX Header "BUGS"
-The lack of single pass processing and need to hold all data in memory as
-mentioned in \fIPKCS7_sign()\fR also applies to \fIPKCS7_verify()\fR.
+\&\fICMS_compress()\fR returns either a CMS_ContentInfo structure or \s-1NULL\s0 if an error
+occurred. The error can be obtained from \fIERR_get_error\fR\|(3).
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIERR_get_error\fR\|(3), \fIPKCS7_decrypt\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_uncompress\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIPKCS7_decrypt()\fR was added to OpenSSL 0.9.5
+\&\fICMS_compress()\fR was added to OpenSSL 0.9.8
+The \fB\s-1CMS_STREAM\s0\fR flag was first supported in OpenSSL 1.0.0.
similarity index 70%
copy from secure/lib/libcrypto/man/PKCS7_decrypt.3
copy to secure/lib/libcrypto/man/CMS_decrypt.3
index 43527ee..34e3968 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "PKCS7_decrypt 3"
-.TH PKCS7_decrypt 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_decrypt 3"
+.TH CMS_decrypt 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-PKCS7_decrypt \- decrypt content from a PKCS#7 envelopedData structure
+.Vb 1
+\& CMS_decrypt \- decrypt content from a CMS envelopedData structure
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-int PKCS7_decrypt(\s-1PKCS7\s0 *p7, \s-1EVP_PKEY\s0 *pkey, X509 *cert, \s-1BIO\s0 *data, int flags);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, BIO *dcont, BIO *out, unsigned int flags);
+.Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIPKCS7_decrypt()\fR extracts and decrypts the content from a PKCS#7 envelopedData
+\&\fICMS_decrypt()\fR extracts and decrypts the content from a \s-1CMS\s0 EnvelopedData
 structure. \fBpkey\fR is the private key of the recipient, \fBcert\fR is the
-recipients certificate, \fBdata\fR is a \s-1BIO\s0 to write the content to and
+recipient's certificate, \fBout\fR is a \s-1BIO\s0 to write the content to and
 \&\fBflags\fR is an optional set of flags.
+.PP
+The \fBdcont\fR parameter is used in the rare case where the encrypted content
+is detached. It will normally be set to \s-1NULL\s0.
 .SH "NOTES"
 .IX Header "NOTES"
 \&\fIOpenSSL_add_all_algorithms()\fR (or equivalent) should be called before using this
 function or errors about unknown algorithms will occur.
 .PP
-Although the recipients certificate is not needed to decrypt the data it is needed
-to locate the appropriate (of possible several) recipients in the PKCS#7 structure.
+Although the recipients certificate is not needed to decrypt the data it is
+needed to locate the appropriate (of possible several) recipients in the \s-1CMS\s0
+structure. If \fBcert\fR is set to \s-1NULL\s0 all possible recipients are tried.
+.PP
+It is possible to determine the correct recipient key by other means (for
+example looking them up in a database) and setting them in the \s-1CMS\s0 structure
+in advance using the \s-1CMS\s0 utility functions such as \fICMS_set1_pkey()\fR. In this
+case both \fBcert\fR and \fBpkey\fR should be set to \s-1NULL\s0.
+.PP
+To process KEKRecipientInfo types \fICMS_set1_key()\fR or \fICMS_RecipientInfo_set0_key()\fR
+and \fICMS_ReceipientInfo_decrypt()\fR should be called before \fICMS_decrypt()\fR and
+\&\fBcert\fR and \fBpkey\fR set to \s-1NULL\s0.
 .PP
 The following flags can be passed in the \fBflags\fR parameter.
 .PP
-If the \fB\s-1PKCS7_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are deleted
+If the \fB\s-1CMS_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are deleted
 from the content. If the content is not of type \fBtext/plain\fR then an error is
 returned.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIPKCS7_decrypt()\fR returns either 1 for success or 0 for failure.
+\&\fICMS_decrypt()\fR returns either 1 for success or 0 for failure.
 The error can be obtained from \fIERR_get_error\fR\|(3)
 .SH "BUGS"
 .IX Header "BUGS"
-\&\fIPKCS7_decrypt()\fR must be passed the correct recipient key and certificate. It would
-be better if it could look up the correct key and certificate from a database.
-.PP
-The lack of single pass processing and need to hold all data in memory as
-mentioned in \fIPKCS7_sign()\fR also applies to \fIPKCS7_verify()\fR.
+The lack of single pass processing and the need to hold all data in memory as
+mentioned in \fICMS_verify()\fR also applies to \fICMS_decrypt()\fR.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIERR_get_error\fR\|(3), \fIPKCS7_encrypt\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_encrypt\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIPKCS7_decrypt()\fR was added to OpenSSL 0.9.5
+\&\fICMS_decrypt()\fR was added to OpenSSL 0.9.8
similarity index 57%
copy from secure/lib/libcrypto/man/PKCS7_encrypt.3
copy to secure/lib/libcrypto/man/CMS_encrypt.3
index 1415fa5..e2a2c6c 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "PKCS7_encrypt 3"
-.TH PKCS7_encrypt 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_encrypt 3"
+.TH CMS_encrypt 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-PKCS7_encrypt \- create a PKCS#7 envelopedData structure
+.Vb 1
+\& CMS_encrypt \- create a CMS envelopedData structure
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-\&\s-1PKCS7\s0 *PKCS7_encrypt(\s-1STACK_OF\s0(X509) *certs, \s-1BIO\s0 *in, const \s-1EVP_CIPHER\s0 *cipher, int flags);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, unsigned int flags);
+.Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIPKCS7_encrypt()\fR creates and returns a PKCS#7 envelopedData structure. \fBcerts\fR
+\&\fICMS_encrypt()\fR creates and returns a \s-1CMS\s0 EnvelopedData structure. \fBcerts\fR
 is a list of recipient certificates. \fBin\fR is the content to be encrypted.
 \&\fBcipher\fR is the symmetric cipher to use. \fBflags\fR is an optional set of flags.
 .SH "NOTES"
 .IX Header "NOTES"
-Only \s-1RSA\s0 keys are supported in PKCS#7 and envelopedData so the recipient certificates
-supplied to this function must all contain \s-1RSA\s0 public keys, though they do not have to
-be signed using the \s-1RSA\s0 algorithm.
-.PP
-\&\fIEVP_des_ede3_cbc()\fR (triple \s-1DES\s0) is the algorithm of choice for S/MIME use because
-most clients will support it.
+Only certificates carrying \s-1RSA\s0 keys are supported so the recipient certificates
+supplied to this function must all contain \s-1RSA\s0 public keys, though they do not
+have to be signed using the \s-1RSA\s0 algorithm.
 .PP
-Some old \*(L"export grade\*(R" clients may only support weak encryption using 40 or 64 bit
-\&\s-1RC2\s0. These can be used by passing \fIEVP_rc2_40_cbc()\fR and \fIEVP_rc2_64_cbc()\fR respectively.
+\&\fIEVP_des_ede3_cbc()\fR (triple \s-1DES\s0) is the algorithm of choice for S/MIME use
+because most clients will support it.
 .PP
-The algorithm passed in the \fBcipher\fR parameter must support \s-1ASN1\s0 encoding of its
-parameters.
+The algorithm passed in the \fBcipher\fR parameter must support \s-1ASN1\s0 encoding of
+its parameters.
 .PP
-Many browsers implement a \*(L"sign and encrypt\*(R" option which is simply an S/MIME 
+Many browsers implement a \*(L"sign and encrypt\*(R" option which is simply an S/MIME
 envelopedData containing an S/MIME signed message. This can be readily produced
 by storing the S/MIME signed message in a memory \s-1BIO\s0 and passing it to
-\&\fIPKCS7_encrypt()\fR.
+\&\fICMS_encrypt()\fR.
 .PP
 The following flags can be passed in the \fBflags\fR parameter.
 .PP
-If the \fB\s-1PKCS7_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are prepended
-to the data.
+If the \fB\s-1CMS_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are
+prepended to the data.
+.PP
+Normally the supplied content is translated into \s-1MIME\s0 canonical format (as
+required by the S/MIME specifications) if \fB\s-1CMS_BINARY\s0\fR is set no translation
+occurs. This option should be used if the supplied data is in binary format
+otherwise the translation will corrupt it. If \fB\s-1CMS_BINARY\s0\fR is set then
+\&\fB\s-1CMS_TEXT\s0\fR is ignored.
+.PP
+OpenSSL will by default identify recipient certificates using issuer name
+and serial number. If \fB\s-1CMS_USE_KEYID\s0\fR is set it will use the subject key
+identifier value instead. An error occurs if all recipient certificates do not
+have a subject key identifier extension.
+.PP
+If the \fB\s-1CMS_STREAM\s0\fR flag is set a partial \fBCMS_ContentInfo\fR structure is
+returned suitable for streaming I/O: no data is read from the \s-1BIO\s0 \fBin\fR.
+.PP
+If the \fB\s-1CMS_PARTIAL\s0\fR flag is set a partial \fBCMS_ContentInfo\fR structure is
+returned to which additional recipients and attributes can be added before
+finalization.
+.PP
+The data being encrypted is included in the CMS_ContentInfo structure, unless
+\&\fB\s-1CMS_DETACHED\s0\fR is set in which case it is omitted. This is rarely used in
+practice and is not supported by \fISMIME_write_CMS()\fR.
+.SH "NOTES"
+.IX Header "NOTES"
+If the flag \fB\s-1CMS_STREAM\s0\fR is set the returned \fBCMS_ContentInfo\fR structure is
+\&\fBnot\fR complete and outputting its contents via a function that does not
+properly finalize the \fBCMS_ContentInfo\fR structure will give unpredictable
+results.
+.PP
+Several functions including \fISMIME_write_CMS()\fR, \fIi2d_CMS_bio_stream()\fR,
+\&\fIPEM_write_bio_CMS_stream()\fR finalize the structure. Alternatively finalization
+can be performed by obtaining the streaming \s-1ASN1\s0 \fB\s-1BIO\s0\fR directly using
+\&\fIBIO_new_CMS()\fR.
+.PP
+The recipients specified in \fBcerts\fR use a \s-1CMS\s0 KeyTransRecipientInfo info
+structure. KEKRecipientInfo is also supported using the flag \fB\s-1CMS_PARTIAL\s0\fR
+and \fICMS_add0_recipient_key()\fR.
 .PP
-Normally the supplied content is translated into \s-1MIME\s0 canonical format (as required
-by the S/MIME specifications) if \fB\s-1PKCS7_BINARY\s0\fR is set no translation occurs. This
-option should be used if the supplied data is in binary format otherwise the translation
-will corrupt it. If \fB\s-1PKCS7_BINARY\s0\fR is set then \fB\s-1PKCS7_TEXT\s0\fR is ignored.
+The parameter \fBcerts\fR may be \s-1NULL\s0 if \fB\s-1CMS_PARTIAL\s0\fR is set and recipients
+added later using \fICMS_add1_recipient_cert()\fR or \fICMS_add0_recipient_key()\fR.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIPKCS7_encrypt()\fR returns either a valid \s-1PKCS7\s0 structure or \s-1NULL\s0 if an error occurred.
-The error can be obtained from \fIERR_get_error\fR\|(3).
-.SH "BUGS"
-.IX Header "BUGS"
-The lack of single pass processing and need to hold all data in memory as
-mentioned in \fIPKCS7_sign()\fR also applies to \fIPKCS7_verify()\fR.
+\&\fICMS_encrypt()\fR returns either a CMS_ContentInfo structure or \s-1NULL\s0 if an error
+occurred. The error can be obtained from \fIERR_get_error\fR\|(3).
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIERR_get_error\fR\|(3), \fIPKCS7_decrypt\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_decrypt\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIPKCS7_decrypt()\fR was added to OpenSSL 0.9.5
+\&\fICMS_decrypt()\fR was added to OpenSSL 0.9.8
+The \fB\s-1CMS_STREAM\s0\fR flag was first supported in OpenSSL 1.0.0.
similarity index 76%
copy from secure/lib/libcrypto/man/ASN1_STRING_new.3
copy to secure/lib/libcrypto/man/CMS_final.3
index 0b9eec5..0d6c60a 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "ASN1_STRING_new 3"
-.TH ASN1_STRING_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_final 3"
+.TH CMS_final 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-ASN1_STRING_new, ASN1_STRING_type_new, ASN1_STRING_free \-
-ASN1_STRING allocation functions
+.Vb 1
+\& CMS_final \- finalise a CMS_ContentInfo structure
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-.Vb 3
-\& ASN1_STRING * ASN1_STRING_new(void);
-\& ASN1_STRING * ASN1_STRING_type_new(int type);
-\& void ASN1_STRING_free(ASN1_STRING *a);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, unsigned int flags);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIASN1_STRING_new()\fR returns an allocated \fB\s-1ASN1_STRING\s0\fR structure. Its type
-is undefined.
-.PP
-\&\fIASN1_STRING_type_new()\fR returns an allocated \fB\s-1ASN1_STRING\s0\fR structure of
-type \fBtype\fR.
-.PP
-\&\fIASN1_STRING_free()\fR frees up \fBa\fR.
+\&\fICMS_final()\fR finalises the structure \fBcms\fR. It's purpose is to perform any
+operations necessary on \fBcms\fR (digest computation for example) and set the
+appropriate fields. The parameter \fBdata\fR contains the content to be 
+processed. The \fBdcont\fR parameter contains a \s-1BIO\s0 to write content to after
+processing: this is only used with detached data and will usually be set to
+\&\s-1NULL\s0.
 .SH "NOTES"
 .IX Header "NOTES"
-Other string types call the \fB\s-1ASN1_STRING\s0\fR functions. For example
-\&\fIASN1_OCTET_STRING_new()\fR calls ASN1_STRING_type(V_ASN1_OCTET_STRING).
+This function will normally be called when the \fB\s-1CMS_PARTIAL\s0\fR flag is used. It
+should only be used when streaming is not performed because the streaming
+I/O functions perform finalisation operations internally.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIASN1_STRING_new()\fR and \fIASN1_STRING_type_new()\fR return a valid
-\&\s-1ASN1_STRING\s0 structure or \fB\s-1NULL\s0\fR if an error occurred.
-.PP
-\&\fIASN1_STRING_free()\fR does not return a value.
+\&\fICMS_final()\fR returns 1 for success or 0 for failure.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIERR_get_error\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_sign\fR\|(3),
+\&\fICMS_encrypt\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\s-1TBA\s0
+\&\fICMS_final()\fR was added to OpenSSL 0.9.8
diff --git a/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 b/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3
new file mode 100644 (file)
index 0000000..941f08d
--- /dev/null
@@ -0,0 +1,230 @@
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "CMS_get0_RecipientInfos 3"
+.TH CMS_get0_RecipientInfos 3 "2010-06-01" "1.0.0a" "OpenSSL"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+.Vb 1
+\& CMS_get0_RecipientInfos, CMS_RecipientInfo_type, CMS_RecipientInfo_ktri_get0_signer_id,CMS_RecipientInfo_ktri_cert_cmp, CMS_RecipientInfo_set0_pkey, CMS_RecipientInfo_kekri_get0_id, CMS_RecipientInfo_kekri_id_cmp, CMS_RecipientInfo_set0_key, CMS_RecipientInfo_decrypt \- CMS envelopedData RecipientInfo routines
+.Ve
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms);
+\& int CMS_RecipientInfo_type(CMS_RecipientInfo *ri);
+\&
+\& int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, ASN1_OCTET_STRING **keyid, X509_NAME **issuer, ASN1_INTEGER **sno);
+\& int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert);
+\& int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey);
+\&
+\& int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, X509_ALGOR **palg, ASN1_OCTET_STRING **pid, ASN1_GENERALIZEDTIME **pdate, ASN1_OBJECT **potherid, ASN1_TYPE **pothertype);
+\& int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, const unsigned char *id, size_t idlen);
+\& int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, unsigned char *key, size_t keylen);
+\&
+\& int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri);
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+The function \fICMS_get0_RecipientInfos()\fR returns all the CMS_RecipientInfo
+structures associated with a \s-1CMS\s0 EnvelopedData structure.
+.PP
+\&\fICMS_RecipientInfo_type()\fR returns the type of CMS_RecipientInfo structure \fBri\fR.
+It will currently return \s-1CMS_RECIPINFO_TRANS\s0, \s-1CMS_RECIPINFO_AGREE\s0,
+\&\s-1CMS_RECIPINFO_KEK\s0, \s-1CMS_RECIPINFO_PASS\s0, or \s-1CMS_RECIPINFO_OTHER\s0.
+.PP
+\&\fICMS_RecipientInfo_ktri_get0_signer_id()\fR retrieves the certificate recipient
+identifier associated with a specific CMS_RecipientInfo structure \fBri\fR, which
+must be of type \s-1CMS_RECIPINFO_TRANS\s0. Either the keyidentifier will be set in
+\&\fBkeyid\fR or \fBboth\fR issuer name and serial number in \fBissuer\fR and \fBsno\fR.
+.PP
+\&\fICMS_RecipientInfo_ktri_cert_cmp()\fR compares the certificate \fBcert\fR against the
+CMS_RecipientInfo structure \fBri\fR, which must be of type \s-1CMS_RECIPINFO_TRANS\s0.
+It returns zero if the comparison is successful and non zero if not.
+.PP
+\&\fICMS_RecipientInfo_set0_pkey()\fR associates the private key \fBpkey\fR with
+the CMS_RecipientInfo structure \fBri\fR, which must be of type
+\&\s-1CMS_RECIPINFO_TRANS\s0.
+.PP
+\&\fICMS_RecipientInfo_kekri_get0_id()\fR retrieves the key information from the
+CMS_RecipientInfo structure \fBri\fR which must be of type \s-1CMS_RECIPINFO_KEK\s0.  Any
+of the remaining parameters can be \s-1NULL\s0 if the application is not interested in
+the value of a field. Where a field is optional and absent \s-1NULL\s0 will be written
+to the corresponding parameter. The keyEncryptionAlgorithm field is written to
+\&\fBpalg\fR, the \fBkeyIdentifier\fR field is written to \fBpid\fR, the \fBdate\fR field if
+present is written to \fBpdate\fR, if the \fBother\fR field is present the components
+\&\fBkeyAttrId\fR and \fBkeyAttr\fR are written to parameters \fBpotherid\fR and
+\&\fBpothertype\fR.
+.PP
+\&\fICMS_RecipientInfo_kekri_id_cmp()\fR compares the \s-1ID\s0 in the \fBid\fR and \fBidlen\fR
+parameters against the \fBkeyIdentifier\fR CMS_RecipientInfo structure \fBri\fR,
+which must be of type \s-1CMS_RECIPINFO_KEK\s0.  It returns zero if the comparison is
+successful and non zero if not.
+.PP
+\&\fICMS_RecipientInfo_set0_key()\fR associates the symmetric key \fBkey\fR of length
+\&\fBkeylen\fR with the CMS_RecipientInfo structure \fBri\fR, which must be of type
+\&\s-1CMS_RECIPINFO_KEK\s0.
+.PP
+\&\fICMS_RecipientInfo_decrypt()\fR attempts to decrypt CMS_RecipientInfo structure
+\&\fBri\fR in structure \fBcms\fR. A key must have been associated with the structure
+first.
+.SH "NOTES"
+.IX Header "NOTES"
+The main purpose of these functions is to enable an application to lookup
+recipient keys using any appropriate technique when the simpler method
+of \fICMS_decrypt()\fR is not appropriate.
+.PP
+In typical usage and application will retrieve all CMS_RecipientInfo structures
+using \fICMS_get0_RecipientInfos()\fR and check the type of each using
+\&\fICMS_RecpientInfo_type()\fR. Depending on the type the CMS_RecipientInfo structure
+can be ignored or its key identifier data retrieved using an appropriate
+function. Then if the corresponding secret or private key can be obtained by
+any appropriate means it can then associated with the structure and
+\&\fICMS_RecpientInfo_decrypt()\fR called. If successful \fICMS_decrypt()\fR can be called
+with a \s-1NULL\s0 key to decrypt the enveloped content.
+.SH "RETURN VALUES"
+.IX Header "RETURN VALUES"
+\&\fICMS_get0_RecipientInfos()\fR returns all CMS_RecipientInfo structures, or \s-1NULL\s0 if
+an error occurs.
+.PP
+\&\fICMS_RecipientInfo_ktri_get0_signer_id()\fR, \fICMS_RecipientInfo_set0_pkey()\fR,
+\&\fICMS_RecipientInfo_kekri_get0_id()\fR, \fICMS_RecipientInfo_set0_key()\fR and
+\&\fICMS_RecipientInfo_decrypt()\fR return 1 for success or 0 if an error occurs.
+.PP
+\&\fICMS_RecipientInfo_ktri_cert_cmp()\fR and \fICMS_RecipientInfo_kekri_cmp()\fR return 0
+for a successful comparison and non zero otherwise.
+.PP
+Any error can be obtained from \fIERR_get_error\fR\|(3).
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIERR_get_error\fR\|(3), \fICMS_decrypt\fR\|(3)
+.SH "HISTORY"
+.IX Header "HISTORY"
+These functions were first was added to OpenSSL 0.9.8
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "EVP_BytesToKey 3"
-.TH EVP_BytesToKey 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_get0_SignerInfos 3"
+.TH CMS_get0_SignerInfos 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-EVP_BytesToKey \- password based encryption routine
+.Vb 1
+\& CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, CMS_SignerInfo_cert_cmp, CMS_set1_signer_certs \- CMS signedData signer functions.
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
-\& #include <openssl/evp.h>
+\& #include <openssl/cms.h>
+\&
+\& STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms);
 \&
-\& int EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md,
-\&                       const unsigned char *salt,
-\&                       const unsigned char *data, int datal, int count,
-\&                       unsigned char *key,unsigned char *iv);
+\& int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, ASN1_OCTET_STRING **keyid, X509_NAME **issuer, ASN1_INTEGER **sno);
+\& int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert);
+\& void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIEVP_BytesToKey()\fR derives a key and \s-1IV\s0 from various parameters. \fBtype\fR is
-the cipher to derive the key and \s-1IV\s0 for. \fBmd\fR is the message digest to use.
-The \fBsalt\fR paramter is used as a salt in the derivation: it should point to
-an 8 byte buffer or \s-1NULL\s0 if no salt is used. \fBdata\fR is a buffer containing
-\&\fBdatal\fR bytes which is used to derive the keying data. \fBcount\fR is the
-iteration count to use. The derived key and \s-1IV\s0 will be written to \fBkey\fR
-and \fBiv\fR respectively.
-.SH "NOTES"
-.IX Header "NOTES"
-A typical application of this function is to derive keying material for an
-encryption algorithm from a password in the \fBdata\fR parameter.
+The function \fICMS_get0_SignerInfos()\fR returns all the CMS_SignerInfo structures
+associated with a \s-1CMS\s0 signedData structure.
 .PP
-Increasing the \fBcount\fR parameter slows down the algorithm which makes it
-harder for an attacker to peform a brute force attack using a large number
-of candidate passwords.
+\&\fICMS_SignerInfo_get0_signer_id()\fR retrieves the certificate signer identifier
+associated with a specific CMS_SignerInfo structure \fBsi\fR. Either the
+keyidentifier will be set in \fBkeyid\fR or \fBboth\fR issuer name and serial number
+in \fBissuer\fR and \fBsno\fR.
 .PP
-If the total key and \s-1IV\s0 length is less than the digest length and
-\&\fB\s-1MD5\s0\fR is used then the derivation algorithm is compatible with PKCS#5 v1.5
-otherwise a non standard extension is used to derive the extra data.
+\&\fICMS_SignerInfo_cert_cmp()\fR compares the certificate \fBcert\fR against the signer
+identifier \fBsi\fR. It returns zero if the comparison is successful and non zero
+if not.
 .PP
-Newer applications should use more standard algorithms such as PKCS#5
-v2.0 for key derivation.
-.SH "KEY DERIVATION ALGORITHM"
-.IX Header "KEY DERIVATION ALGORITHM"
-The key and \s-1IV\s0 is derived by concatenating D_1, D_2, etc until
-enough data is available for the key and \s-1IV\s0. D_i is defined as:
+\&\fICMS_SignerInfo_set1_signer_cert()\fR sets the signers certificate of \fBsi\fR to
+\&\fBsigner\fR.
+.SH "NOTES"
+.IX Header "NOTES"
+The main purpose of these functions is to enable an application to lookup
+signers certificates using any appropriate technique when the simpler method
+of \fICMS_verify()\fR is not appropriate.
 .PP
-.Vb 1
-\&        D_i = HASH^count(D_(i\-1) || data || salt)
-.Ve
+In typical usage and application will retrieve all CMS_SignerInfo structures
+using \fICMS_get0_SignerInfo()\fR and retrieve the identifier information using
+\&\s-1CMS\s0. It will then obtain the signer certificate by some unspecified means
+(or return and error if it cannot be found) and set it using
+\&\fICMS_SignerInfo_set1_signer_cert()\fR.
 .PP
-where || denotes concatentaion, D_0 is empty, \s-1HASH\s0 is the digest
-algorithm in use, HASH^1(data) is simply \s-1HASH\s0(data), HASH^2(data)
-is \s-1HASH\s0(\s-1HASH\s0(data)) and so on.
+Once all signer certificates have been set \fICMS_verify()\fR can be used.
 .PP
-The initial bytes are used for the key and the subsequent bytes for
-the \s-1IV\s0.
+Although \fICMS_get0_SignerInfos()\fR can return \s-1NULL\s0 is an error occur \fBor\fR if
+there are no signers this is not a problem in practice because the only
+error which can occur is if the \fBcms\fR structure is not of type signedData
+due to application error.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIEVP_BytesToKey()\fR returns the size of the derived key in bytes.
+\&\fICMS_get0_SignerInfos()\fR returns all CMS_SignerInfo structures, or \s-1NULL\s0 there
+are no signers or an error occurs.
+.PP
+\&\fICMS_SignerInfo_get0_signer_id()\fR returns 1 for success and 0 for failure.
+.PP
+\&\fICMS_SignerInfo_cert_cmp()\fR returns 0 for a successful comparison and non
+zero otherwise.
+.PP
+\&\fICMS_SignerInfo_set1_signer_cert()\fR does not return a value.
+.PP
+Any error can be obtained from \fIERR_get_error\fR\|(3)
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIevp\fR\|(3), \fIrand\fR\|(3),
-\&\fIEVP_EncryptInit\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_verify\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
+These functions were first was added to OpenSSL 0.9.8
similarity index 64%
copy from secure/lib/libcrypto/man/ASN1_STRING_new.3
copy to secure/lib/libcrypto/man/CMS_get0_type.3
index 0b9eec5..0d39efa 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "ASN1_STRING_new 3"
-.TH ASN1_STRING_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_get0_type 3"
+.TH CMS_get0_type 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-ASN1_STRING_new, ASN1_STRING_type_new, ASN1_STRING_free \-
-ASN1_STRING allocation functions
+.Vb 1
+\& CMS_get0_type, CMS_set1_eContentType, CMS_get0_eContentType \- get and set CMS content types
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-.Vb 3
-\& ASN1_STRING * ASN1_STRING_new(void);
-\& ASN1_STRING * ASN1_STRING_type_new(int type);
-\& void ASN1_STRING_free(ASN1_STRING *a);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& const ASN1_OBJECT *CMS_get0_type(CMS_ContentInfo *cms);
+\& int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid);
+\& const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIASN1_STRING_new()\fR returns an allocated \fB\s-1ASN1_STRING\s0\fR structure. Its type
-is undefined.
+\&\fICMS_get0_type()\fR returns the content type of a CMS_ContentInfo structure as
+and \s-1ASN1_OBJECT\s0 pointer. An application can then decide how to process the
+CMS_ContentInfo structure based on this value.
 .PP
-\&\fIASN1_STRING_type_new()\fR returns an allocated \fB\s-1ASN1_STRING\s0\fR structure of
-type \fBtype\fR.
+\&\fICMS_set1_eContentType()\fR sets the embedded content type of a CMS_ContentInfo
+structure. It should be called with \s-1CMS\s0 functions with the \fB\s-1CMS_PARTIAL\s0\fR
+flag and \fBbefore\fR the structure is finalised, otherwise the results are
+undefined.
 .PP
-\&\fIASN1_STRING_free()\fR frees up \fBa\fR.
+\&\s-1ASN1_OBJECT\s0 *\fICMS_get0_eContentType()\fR returns a pointer to the embedded
+content type.
 .SH "NOTES"
 .IX Header "NOTES"
-Other string types call the \fB\s-1ASN1_STRING\s0\fR functions. For example
-\&\fIASN1_OCTET_STRING_new()\fR calls ASN1_STRING_type(V_ASN1_OCTET_STRING).
+As the \fB0\fR implies \fICMS_get0_type()\fR and \fICMS_get0_eContentType()\fR return internal
+pointers which should \fBnot\fR be freed up. \fICMS_set1_eContentType()\fR copies the
+supplied \s-1OID\s0 and it \fBshould\fR be freed up after use.
+.PP
+The \fB\s-1ASN1_OBJECT\s0\fR values returned can be converted to an integer \fB\s-1NID\s0\fR value
+using \fIOBJ_obj2nid()\fR. For the currently supported content types the following
+values are returned:
+.PP
+.Vb 6
+\& NID_pkcs7_data
+\& NID_pkcs7_signed
+\& NID_pkcs7_digest
+\& NID_id_smime_ct_compressedData:
+\& NID_pkcs7_encrypted
+\& NID_pkcs7_enveloped
+.Ve
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIASN1_STRING_new()\fR and \fIASN1_STRING_type_new()\fR return a valid
-\&\s-1ASN1_STRING\s0 structure or \fB\s-1NULL\s0\fR if an error occurred.
+\&\fICMS_get0_type()\fR and \fICMS_get0_eContentType()\fR return and \s-1ASN1_OBJECT\s0 structure.
 .PP
-\&\fIASN1_STRING_free()\fR does not return a value.
+\&\fICMS_set1_eContentType()\fR returns 1 for success or 0 if an error occurred.  The
+error can be obtained from \fIERR_get_error\fR\|(3).
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
 \&\fIERR_get_error\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\s-1TBA\s0
+\&\fICMS_get0_type()\fR, \fICMS_set1_eContentType()\fR and \fICMS_get0_eContentType()\fR were all
+first added to OpenSSL 0.9.8
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "EVP_BytesToKey 3"
-.TH EVP_BytesToKey 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_get1_ReceiptRequest 3"
+.TH CMS_get1_ReceiptRequest 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-EVP_BytesToKey \- password based encryption routine
+.Vb 1
+\& CMS_ReceiptRequest_create0, CMS_add1_ReceiptRequest, CMS_get1_ReceiptRequest, CMS_ReceiptRequest_get0_values \- CMS signed receipt request functions.
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
-\& #include <openssl/evp.h>
+\& #include <openssl/cms.h>
 \&
-\& int EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md,
-\&                       const unsigned char *salt,
-\&                       const unsigned char *data, int datal, int count,
-\&                       unsigned char *key,unsigned char *iv);
+\& CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, int allorfirst, STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES) *receiptsTo);
+\& int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr);
+\& int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr);
+\& void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, ASN1_STRING **pcid, int *pallorfirst, STACK_OF(GENERAL_NAMES) **plist, STACK_OF(GENERAL_NAMES) **prto);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIEVP_BytesToKey()\fR derives a key and \s-1IV\s0 from various parameters. \fBtype\fR is
-the cipher to derive the key and \s-1IV\s0 for. \fBmd\fR is the message digest to use.
-The \fBsalt\fR paramter is used as a salt in the derivation: it should point to
-an 8 byte buffer or \s-1NULL\s0 if no salt is used. \fBdata\fR is a buffer containing
-\&\fBdatal\fR bytes which is used to derive the keying data. \fBcount\fR is the
-iteration count to use. The derived key and \s-1IV\s0 will be written to \fBkey\fR
-and \fBiv\fR respectively.
-.SH "NOTES"
-.IX Header "NOTES"
-A typical application of this function is to derive keying material for an
-encryption algorithm from a password in the \fBdata\fR parameter.
-.PP
-Increasing the \fBcount\fR parameter slows down the algorithm which makes it
-harder for an attacker to peform a brute force attack using a large number
-of candidate passwords.
+\&\fICMS_ReceiptRequest_create0()\fR creates a signed receipt request structure. The
+\&\fBsignedContentIdentifier\fR field is set using \fBid\fR and \fBidlen\fR, or it is set
+to 32 bytes of pseudo random data if \fBid\fR is \s-1NULL\s0. If \fBreceiptList\fR is \s-1NULL\s0
+the allOrFirstTier option in \fBreceiptsFrom\fR is used and set to the value of
+the \fBallorfirst\fR parameter. If \fBreceiptList\fR is not \s-1NULL\s0 the \fBreceiptList\fR
+option in \fBreceiptsFrom\fR is used. The \fBreceiptsTo\fR parameter specifies the
+\&\fBreceiptsTo\fR field value.
 .PP
-If the total key and \s-1IV\s0 length is less than the digest length and
-\&\fB\s-1MD5\s0\fR is used then the derivation algorithm is compatible with PKCS#5 v1.5
-otherwise a non standard extension is used to derive the extra data.
+The \fICMS_add1_ReceiptRequest()\fR function adds a signed receipt request \fBrr\fR
+to SignerInfo structure \fBsi\fR.
 .PP
-Newer applications should use more standard algorithms such as PKCS#5
-v2.0 for key derivation.
-.SH "KEY DERIVATION ALGORITHM"
-.IX Header "KEY DERIVATION ALGORITHM"
-The key and \s-1IV\s0 is derived by concatenating D_1, D_2, etc until
-enough data is available for the key and \s-1IV\s0. D_i is defined as:
+int \fICMS_get1_ReceiptRequest()\fR looks for a signed receipt request in \fBsi\fR, if
+any is found it is decoded and written to \fBprr\fR.
 .PP
-.Vb 1
-\&        D_i = HASH^count(D_(i\-1) || data || salt)
-.Ve
-.PP
-where || denotes concatentaion, D_0 is empty, \s-1HASH\s0 is the digest
-algorithm in use, HASH^1(data) is simply \s-1HASH\s0(data), HASH^2(data)
-is \s-1HASH\s0(\s-1HASH\s0(data)) and so on.
+\&\fICMS_ReceiptRequest_get0_values()\fR retrieves the values of a receipt request.
+The signedContentIdentifier is copied to \fBpcid\fR. If the \fBallOrFirstTier\fR
+option of \fBreceiptsFrom\fR is used its value is copied to \fBpallorfirst\fR
+otherwise the \fBreceiptList\fR field is copied to \fBplist\fR. The \fBreceiptsTo\fR
+parameter is copied to \fBprto\fR.
+.SH "NOTES"
+.IX Header "NOTES"
+For more details of the meaning of the fields see \s-1RFC2634\s0.
 .PP
-The initial bytes are used for the key and the subsequent bytes for
-the \s-1IV\s0.
+The contents of a signed receipt should only be considered meaningful if the
+corresponding CMS_ContentInfo structure can be successfully verified using
+\&\fICMS_verify()\fR.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIEVP_BytesToKey()\fR returns the size of the derived key in bytes.
+\&\fICMS_ReceiptRequest_create0()\fR returns a signed receipt request structure or 
+\&\s-1NULL\s0 if an error occurred.
+.PP
+\&\fICMS_add1_ReceiptRequest()\fR returns 1 for success or 0 is an error occurred.
+.PP
+\&\fICMS_get1_ReceiptRequest()\fR returns 1 is a signed receipt request is found and
+decoded. It returns 0 if a signed receipt request is not present and \-1 if
+it is present but malformed.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIevp\fR\|(3), \fIrand\fR\|(3),
-\&\fIEVP_EncryptInit\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_sign\fR\|(3),
+\&\fICMS_sign_receipt\fR\|(3), \fICMS_verify\fR\|(3)
+\&\fICMS_verify_receipt\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
+\&\fICMS_ReceiptRequest_create0()\fR, \fICMS_add1_ReceiptRequest()\fR,
+\&\fICMS_get1_ReceiptRequest()\fR and \fICMS_ReceiptRequest_get0_values()\fR were added to
+OpenSSL 0.9.8
diff --git a/secure/lib/libcrypto/man/CMS_sign.3 b/secure/lib/libcrypto/man/CMS_sign.3
new file mode 100644 (file)
index 0000000..fe61521
--- /dev/null
@@ -0,0 +1,244 @@
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "CMS_sign 3"
+.TH CMS_sign 3 "2010-06-01" "1.0.0a" "OpenSSL"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+.Vb 1
+\& CMS_sign \- create a CMS SignedData structure
+.Ve
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, unsigned int flags);
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fICMS_sign()\fR creates and returns a \s-1CMS\s0 SignedData structure. \fBsigncert\fR is
+the certificate to sign with, \fBpkey\fR is the corresponding private key.
+\&\fBcerts\fR is an optional additional set of certificates to include in the \s-1CMS\s0
+structure (for example any intermediate CAs in the chain). Any or all of
+these parameters can be \fB\s-1NULL\s0\fR, see \fB\s-1NOTES\s0\fR below.
+.PP
+The data to be signed is read from \s-1BIO\s0 \fBdata\fR.
+.PP
+\&\fBflags\fR is an optional set of flags.
+.SH "NOTES"
+.IX Header "NOTES"
+Any of the following flags (ored together) can be passed in the \fBflags\fR
+parameter.
+.PP
+Many S/MIME clients expect the signed content to include valid \s-1MIME\s0 headers. If
+the \fB\s-1CMS_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are prepended
+to the data.
+.PP
+If \fB\s-1CMS_NOCERTS\s0\fR is set the signer's certificate will not be included in the
+CMS_ContentInfo structure, the signer's certificate must still be supplied in
+the \fBsigncert\fR parameter though. This can reduce the size of the signature if
+the signers certificate can be obtained by other means: for example a
+previously signed message.
+.PP
+The data being signed is included in the CMS_ContentInfo structure, unless
+\&\fB\s-1CMS_DETACHED\s0\fR is set in which case it is omitted. This is used for
+CMS_ContentInfo detached signatures which are used in S/MIME plaintext signed
+messages for example.
+.PP
+Normally the supplied content is translated into \s-1MIME\s0 canonical format (as
+required by the S/MIME specifications) if \fB\s-1CMS_BINARY\s0\fR is set no translation
+occurs. This option should be used if the supplied data is in binary format
+otherwise the translation will corrupt it.
+.PP
+The SignedData structure includes several \s-1CMS\s0 signedAttributes including the
+signing time, the \s-1CMS\s0 content type and the supported list of ciphers in an
+SMIMECapabilities attribute. If \fB\s-1CMS_NOATTR\s0\fR is set then no signedAttributes
+will be used. If \fB\s-1CMS_NOSMIMECAP\s0\fR is set then just the SMIMECapabilities are
+omitted.
+.PP
+If present the SMIMECapabilities attribute indicates support for the following
+algorithms in preference order: 256 bit \s-1AES\s0, Gost R3411\-94, Gost 28147\-89, 192
+bit \s-1AES\s0, 128 bit \s-1AES\s0, triple \s-1DES\s0, 128 bit \s-1RC2\s0, 64 bit \s-1RC2\s0, \s-1DES\s0 and 40 bit \s-1RC2\s0.
+If any of these algorithms is not available then it will not be included: for example the \s-1GOST\s0 algorithms will not be included if the \s-1GOST\s0 \s-1ENGINE\s0 is
+not loaded.
+.PP
+OpenSSL will by default identify signing certificates using issuer name
+and serial number. If \fB\s-1CMS_USE_KEYID\s0\fR is set it will use the subject key
+identifier value instead. An error occurs if the signing certificate does not
+have a subject key identifier extension.
+.PP
+If the flags \fB\s-1CMS_STREAM\s0\fR is set then the returned \fBCMS_ContentInfo\fR
+structure is just initialized ready to perform the signing operation. The
+signing is however \fBnot\fR performed and the data to be signed is not read from
+the \fBdata\fR parameter. Signing is deferred until after the data has been
+written. In this way data can be signed in a single pass.
+.PP
+If the \fB\s-1CMS_PARTIAL\s0\fR flag is set a partial \fBCMS_ContentInfo\fR structure is
+output to which additional signers and capabilities can be added before
+finalization.
+.PP
+If the flag \fB\s-1CMS_STREAM\s0\fR is set the returned \fBCMS_ContentInfo\fR structure is
+\&\fBnot\fR complete and outputting its contents via a function that does not
+properly finalize the \fBCMS_ContentInfo\fR structure will give unpredictable
+results.
+.PP
+Several functions including \fISMIME_write_CMS()\fR, \fIi2d_CMS_bio_stream()\fR,
+\&\fIPEM_write_bio_CMS_stream()\fR finalize the structure. Alternatively finalization
+can be performed by obtaining the streaming \s-1ASN1\s0 \fB\s-1BIO\s0\fR directly using
+\&\fIBIO_new_CMS()\fR.
+.PP
+If a signer is specified it will use the default digest for the signing
+algorithm. This is \fB\s-1SHA1\s0\fR for both \s-1RSA\s0 and \s-1DSA\s0 keys.
+.PP
+If \fBsigncert\fR and \fBpkey\fR are \s-1NULL\s0 then a certificates only \s-1CMS\s0 structure is
+output.
+.PP
+The function \fICMS_sign()\fR is a basic \s-1CMS\s0 signing function whose output will be
+suitable for many purposes. For finer control of the output format the
+\&\fBcerts\fR, \fBsigncert\fR and \fBpkey\fR parameters can all be \fB\s-1NULL\s0\fR and the
+\&\fB\s-1CMS_PARTIAL\s0\fR flag set. Then one or more signers can be added using the
+function \fICMS_sign_add1_signer()\fR, non default digests can be used and custom
+attributes added. \fB\f(BICMS_final()\fB\fR must then be called to finalize the
+structure if streaming is not enabled.
+.SH "BUGS"
+.IX Header "BUGS"
+Some attributes such as counter signatures are not supported.
+.SH "RETURN VALUES"
+.IX Header "RETURN VALUES"
+\&\fICMS_sign()\fR returns either a valid CMS_ContentInfo structure or \s-1NULL\s0 if an error
+occurred. The error can be obtained from \fIERR_get_error\fR\|(3).
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIERR_get_error\fR\|(3), \fICMS_verify\fR\|(3)
+.SH "HISTORY"
+.IX Header "HISTORY"
+\&\fICMS_sign()\fR was added to OpenSSL 0.9.8
+.PP
+The \fB\s-1CMS_STREAM\s0\fR flag is only supported for detached data in OpenSSL 0.9.8,
+it is supported for embedded data in OpenSSL 1.0.0 and later.
diff --git a/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 b/secure/lib/libcrypto/man/CMS_sign_add1_signer.3
new file mode 100644 (file)
index 0000000..1cc266c
--- /dev/null
@@ -0,0 +1,224 @@
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings.  \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
+.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+.    ds -- \(*W-
+.    ds PI pi
+.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
+.    ds L" ""
+.    ds R" ""
+.    ds C` ""
+.    ds C' ""
+'br\}
+.el\{\
+.    ds -- \|\(em\|
+.    ds PI \(*p
+.    ds L" ``
+.    ds R" ''
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD.  Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.ie \nF \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
+..
+.    nr % 0
+.    rr F
+.\}
+.el \{\
+.    de IX
+..
+.\}
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
+.    \" fudge factors for nroff and troff
+.if n \{\
+.    ds #H 0
+.    ds #V .8m
+.    ds #F .3m
+.    ds #[ \f1
+.    ds #] \fP
+.\}
+.if t \{\
+.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.    ds #V .6m
+.    ds #F 0
+.    ds #[ \&
+.    ds #] \&
+.\}
+.    \" simple accents for nroff and troff
+.if n \{\
+.    ds ' \&
+.    ds ` \&
+.    ds ^ \&
+.    ds , \&
+.    ds ~ ~
+.    ds /
+.\}
+.if t \{\
+.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+.    \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.    \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.    \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.    ds : e
+.    ds 8 ss
+.    ds o a
+.    ds d- d\h'-1'\(ga
+.    ds D- D\h'-1'\(hy
+.    ds th \o'bp'
+.    ds Th \o'LP'
+.    ds ae ae
+.    ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "CMS_sign_add1_signer 3"
+.TH CMS_sign_add1_signer 3 "2010-06-01" "1.0.0a" "OpenSSL"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+.Vb 1
+\& CMS_sign_add1_signer, CMS_SignerInfo_sign \- add a signer to a CMS_ContentInfo signed data structure.
+.Ve
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& CMS_SignerInfo *CMS_sign_add1_signer(CMS_ContentInfo *cms, X509 *signcert, EVP_PKEY *pkey, const EVP_MD *md, unsigned int flags);
+\&
+\& int CMS_SignerInfo_sign(CMS_SignerInfo *si);
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fICMS_sign_add1_signer()\fR adds a signer with certificate \fBsigncert\fR and private
+key \fBpkey\fR using message digest \fBmd\fR to CMS_ContentInfo SignedData
+structure \fBcms\fR.
+.PP
+The CMS_ContentInfo structure should be obtained from an initial call to
+\&\fICMS_sign()\fR with the flag \fB\s-1CMS_PARTIAL\s0\fR set or in the case or re-signing a
+valid CMS_ContentInfo SignedData structure.
+.PP
+If the \fBmd\fR parameter is \fB\s-1NULL\s0\fR then the default digest for the public
+key algorithm will be used.
+.PP
+Unless the \fB\s-1CMS_REUSE_DIGEST\s0\fR flag is set the returned CMS_ContentInfo
+structure is not complete and must be finalized either by streaming (if
+applicable) or a call to \fICMS_final()\fR.
+.PP
+The \fICMS_SignerInfo_sign()\fR function will explicitly sign a CMS_SignerInfo
+structure, its main use is when \fB\s-1CMS_REUSE_DIGEST\s0\fR and \fB\s-1CMS_PARTIAL\s0\fR flags
+are both set.
+.SH "NOTES"
+.IX Header "NOTES"
+The main purpose of \fICMS_sign_add1_signer()\fR is to provide finer control
+over a \s-1CMS\s0 signed data structure where the simpler \fICMS_sign()\fR function defaults
+are not appropriate. For example if multiple signers or non default digest
+algorithms are needed. New attributes can also be added using the returned
+CMS_SignerInfo structure and the \s-1CMS\s0 attribute utility functions or the
+\&\s-1CMS\s0 signed receipt request functions.
+.PP
+Any of the following flags (ored together) can be passed in the \fBflags\fR
+parameter.
+.PP
+If \fB\s-1CMS_REUSE_DIGEST\s0\fR is set then an attempt is made to copy the content
+digest value from the CMS_ContentInfo structure: to add a signer to an existing
+structure.  An error occurs if a matching digest value cannot be found to copy.
+The returned CMS_ContentInfo structure will be valid and finalized when this
+flag is set.
+.PP
+If \fB\s-1CMS_PARTIAL\s0\fR is set in addition to \fB\s-1CMS_REUSE_DIGEST\s0\fR then the 
+CMS_SignerInfo structure will not be finalized so additional attributes
+can be added. In this case an explicit call to \fICMS_SignerInfo_sign()\fR is
+needed to finalize it.
+.PP
+If \fB\s-1CMS_NOCERTS\s0\fR is set the signer's certificate will not be included in the
+CMS_ContentInfo structure, the signer's certificate must still be supplied in
+the \fBsigncert\fR parameter though. This can reduce the size of the signature if
+the signers certificate can be obtained by other means: for example a
+previously signed message.
+.PP
+The SignedData structure includes several \s-1CMS\s0 signedAttributes including the
+signing time, the \s-1CMS\s0 content type and the supported list of ciphers in an
+SMIMECapabilities attribute. If \fB\s-1CMS_NOATTR\s0\fR is set then no signedAttributes
+will be used. If \fB\s-1CMS_NOSMIMECAP\s0\fR is set then just the SMIMECapabilities are
+omitted.
+.PP
+OpenSSL will by default identify signing certificates using issuer name
+and serial number. If \fB\s-1CMS_USE_KEYID\s0\fR is set it will use the subject key
+identifier value instead. An error occurs if the signing certificate does not
+have a subject key identifier extension.
+.PP
+If present the SMIMECapabilities attribute indicates support for the following
+algorithms in preference order: 256 bit \s-1AES\s0, Gost R3411\-94, Gost 28147\-89, 192
+bit \s-1AES\s0, 128 bit \s-1AES\s0, triple \s-1DES\s0, 128 bit \s-1RC2\s0, 64 bit \s-1RC2\s0, \s-1DES\s0 and 40 bit \s-1RC2\s0.
+If any of these algorithms is not available then it will not be included: for example the \s-1GOST\s0 algorithms will not be included if the \s-1GOST\s0 \s-1ENGINE\s0 is
+not loaded.
+.PP
+\&\fICMS_sign_add1_signer()\fR returns an internal pointer to the CMS_SignerInfo
+structure just added, this can be used to set additional attributes 
+before it is finalized.
+.SH "RETURN VALUES"
+.IX Header "RETURN VALUES"
+\&\fICMS_sign1_add_signers()\fR returns an internal pointer to the CMS_SignerInfo
+structure just added or \s-1NULL\s0 if an error occurs.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fIERR_get_error\fR\|(3), \fICMS_sign\fR\|(3),
+\&\fICMS_final\fR\|(3),
+.SH "HISTORY"
+.IX Header "HISTORY"
+\&\fICMS_sign_add1_signer()\fR was added to OpenSSL 0.9.8
similarity index 71%
copy from secure/lib/libcrypto/man/EVP_PKEY_new.3
copy to secure/lib/libcrypto/man/CMS_sign_receipt.3
index 32afc42..c7f87ef 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "EVP_PKEY_new 3"
-.TH EVP_PKEY_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_sign_receipt 3"
+.TH CMS_sign_receipt 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-EVP_PKEY_new, EVP_PKEY_free \- private key allocation functions.
+.Vb 1
+\& CMS_sign_receipt \- create a CMS signed receipt
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
-\& #include <openssl/evp.h>
+\& #include <openssl/cms.h>
 \&
-\& EVP_PKEY *EVP_PKEY_new(void);
-\& void EVP_PKEY_free(EVP_PKEY *key);
+\& CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, unsigned int flags);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-The \fIEVP_PKEY_new()\fR function allocates an empty \fB\s-1EVP_PKEY\s0\fR 
-structure which is used by OpenSSL to store private keys.
+\&\fICMS_sign_receipt()\fR creates and returns a \s-1CMS\s0 signed receipt structure. \fBsi\fR is
+the \fBCMS_SignerInfo\fR structure containing the signed receipt request.
+\&\fBsigncert\fR is the certificate to sign with, \fBpkey\fR is the corresponding
+private key.  \fBcerts\fR is an optional additional set of certificates to include
+in the \s-1CMS\s0 structure (for example any intermediate CAs in the chain).
 .PP
-\&\fIEVP_PKEY_free()\fR frees up the private key \fBkey\fR.
+\&\fBflags\fR is an optional set of flags.
 .SH "NOTES"
 .IX Header "NOTES"
-The \fB\s-1EVP_PKEY\s0\fR structure is used by various OpenSSL functions
-which require a general private key without reference to any
-particular algorithm.
-.PP
-The structure returned by \fIEVP_PKEY_new()\fR is empty. To add a
-private key to this empty structure the functions described in
-\&\fIEVP_PKEY_set1_RSA\fR\|(3) should be used.
+This functions behaves in a similar way to \fICMS_sign()\fR except the flag values
+\&\fB\s-1CMS_DETACHED\s0\fR, \fB\s-1CMS_BINARY\s0\fR, \fB\s-1CMS_NOATTR\s0\fR, \fB\s-1CMS_TEXT\s0\fR and \fB\s-1CMS_STREAM\s0\fR
+are not supported since they do not make sense in the context of signed
+receipts.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIEVP_PKEY_new()\fR returns either the newly allocated \fB\s-1EVP_PKEY\s0\fR
-structure of \fB\s-1NULL\s0\fR if an error occurred.
-.PP
-\&\fIEVP_PKEY_free()\fR does not return a value.
+\&\fICMS_sign_receipt()\fR returns either a valid CMS_ContentInfo structure or \s-1NULL\s0 if
+an error occurred.  The error can be obtained from \fIERR_get_error\fR\|(3).
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIEVP_PKEY_set1_RSA\fR\|(3)
+\&\fIERR_get_error\fR\|(3),
+\&\fICMS_verify_receipt\fR\|(3),
+\&\fICMS_sign\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\s-1TBA\s0
+\&\fICMS_sign_receipt()\fR was added to OpenSSL 0.9.8
similarity index 71%
copy from secure/lib/libcrypto/man/PKCS7_decrypt.3
copy to secure/lib/libcrypto/man/CMS_uncompress.3
index 43527ee..e7cadd8 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "PKCS7_decrypt 3"
-.TH PKCS7_decrypt 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_uncompress 3"
+.TH CMS_uncompress 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-PKCS7_decrypt \- decrypt content from a PKCS#7 envelopedData structure
+.Vb 1
+\& CMS_uncompress \- uncompress a CMS CompressedData structure
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-int PKCS7_decrypt(\s-1PKCS7\s0 *p7, \s-1EVP_PKEY\s0 *pkey, X509 *cert, \s-1BIO\s0 *data, int flags);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned int flags);
+.Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIPKCS7_decrypt()\fR extracts and decrypts the content from a PKCS#7 envelopedData
-structure. \fBpkey\fR is the private key of the recipient, \fBcert\fR is the
-recipients certificate, \fBdata\fR is a \s-1BIO\s0 to write the content to and
+\&\fICMS_uncompress()\fR extracts and uncompresses the content from a \s-1CMS\s0
+CompressedData structure \fBcms\fR. \fBdata\fR is a \s-1BIO\s0 to write the content to and
 \&\fBflags\fR is an optional set of flags.
+.PP
+The \fBdcont\fR parameter is used in the rare case where the compressed content
+is detached. It will normally be set to \s-1NULL\s0.
 .SH "NOTES"
 .IX Header "NOTES"
-\&\fIOpenSSL_add_all_algorithms()\fR (or equivalent) should be called before using this
-function or errors about unknown algorithms will occur.
+The only currently supported compression algorithm is zlib: if the structure
+indicates the use of any other algorithm an error is returned.
 .PP
-Although the recipients certificate is not needed to decrypt the data it is needed
-to locate the appropriate (of possible several) recipients in the PKCS#7 structure.
+If zlib support is not compiled into OpenSSL then \fICMS_uncompress()\fR will always
+return an error.
 .PP
 The following flags can be passed in the \fBflags\fR parameter.
 .PP
-If the \fB\s-1PKCS7_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are deleted
+If the \fB\s-1CMS_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are deleted
 from the content. If the content is not of type \fBtext/plain\fR then an error is
 returned.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIPKCS7_decrypt()\fR returns either 1 for success or 0 for failure.
-The error can be obtained from \fIERR_get_error\fR\|(3)
+\&\fICMS_uncompress()\fR returns either 1 for success or 0 for failure. The error can
+be obtained from \fIERR_get_error\fR\|(3)
 .SH "BUGS"
 .IX Header "BUGS"
-\&\fIPKCS7_decrypt()\fR must be passed the correct recipient key and certificate. It would
-be better if it could look up the correct key and certificate from a database.
-.PP
-The lack of single pass processing and need to hold all data in memory as
-mentioned in \fIPKCS7_sign()\fR also applies to \fIPKCS7_verify()\fR.
+The lack of single pass processing and the need to hold all data in memory as
+mentioned in \fICMS_verify()\fR also applies to \fICMS_decompress()\fR.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIERR_get_error\fR\|(3), \fIPKCS7_encrypt\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_compress\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIPKCS7_decrypt()\fR was added to OpenSSL 0.9.5
+\&\fICMS_uncompress()\fR was added to OpenSSL 0.9.8
similarity index 59%
copy from secure/lib/libcrypto/man/PKCS7_verify.3
copy to secure/lib/libcrypto/man/CMS_verify.3
index 3504f80..89c0717 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "PKCS7_verify 3"
-.TH PKCS7_verify 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_verify 3"
+.TH CMS_verify 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-PKCS7_verify \- verify a PKCS#7 signedData structure
+.Vb 1
+\& CMS_verify \- verify a CMS SignedData structure
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-int PKCS7_verify(\s-1PKCS7\s0 *p7, \s-1STACK_OF\s0(X509) *certs, X509_STORE *store, \s-1BIO\s0 *indata, \s-1BIO\s0 *out, int flags);
-.PP
-\&\s-1STACK_OF\s0(X509) *PKCS7_get0_signers(\s-1PKCS7\s0 *p7, \s-1STACK_OF\s0(X509) *certs, int flags);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, unsigned int flags);
+\&
+\& STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms);
+.Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-\&\fIPKCS7_verify()\fR verifies a PKCS#7 signedData structure. \fBp7\fR is the \s-1PKCS7\s0
+\&\fICMS_verify()\fR verifies a \s-1CMS\s0 SignedData structure. \fBcms\fR is the CMS_ContentInfo
 structure to verify. \fBcerts\fR is a set of certificates in which to search for
-the signer's certificate. \fBstore\fR is a trusted certficate store (used for
-chain verification). \fBindata\fR is the signed data if the content is not
-present in \fBp7\fR (that is it is detached). The content is written to \fBout\fR
-if it is not \s-1NULL\s0.
+the signing certificate(s). \fBstore\fR is a trusted certificate store used for
+chain verification. \fBindata\fR is the detached content if the content is not
+present in \fBcms\fR. The content is written to \fBout\fR if it is not \s-1NULL\s0.
 .PP
 \&\fBflags\fR is an optional set of flags, which can be used to modify the verify
 operation.
 .PP
-\&\fIPKCS7_get0_signers()\fR retrieves the signer's certificates from \fBp7\fR, it does
-\&\fBnot\fR check their validity or whether any signatures are valid. The \fBcerts\fR
-and \fBflags\fR parameters have the same meanings as in \fIPKCS7_verify()\fR.
+\&\fICMS_get0_signers()\fR retrieves the signing certificate(s) from \fBcms\fR, it must
+be called after a successful \fICMS_verify()\fR operation.
 .SH "VERIFY PROCESS"
 .IX Header "VERIFY PROCESS"
 Normally the verify process proceeds as follows.
 .PP
-Initially some sanity checks are performed on \fBp7\fR. The type of \fBp7\fR must
-be signedData. There must be at least one signature on the data and if
+Initially some sanity checks are performed on \fBcms\fR. The type of \fBcms\fR must
+be SignedData. There must be at least one signature on the data and if
 the content is detached \fBindata\fR cannot be \fB\s-1NULL\s0\fR.
 .PP
-An attempt is made to locate all the signer's certificates, first looking in
-the \fBcerts\fR parameter (if it is not \fB\s-1NULL\s0\fR) and then looking in any certificates
-contained in the \fBp7\fR structure itself. If any signer's certificates cannot be
-located the operation fails.
+An attempt is made to locate all the signing certificate(s), first looking in
+the \fBcerts\fR parameter (if it is not \s-1NULL\s0) and then looking in any
+certificates contained in the \fBcms\fR structure itself. If any signing
+certificate cannot be located the operation fails.
 .PP
-Each signer's certificate is chain verified using the \fBsmimesign\fR purpose and
+Each signing certificate is chain verified using the \fBsmimesign\fR purpose and
 the supplied trusted certificate store. Any internal certificates in the message
-are used as untrusted CAs. If any chain verify fails an error code is returned.
+are used as untrusted CAs. If \s-1CRL\s0 checking is enabled in \fBstore\fR any internal
+CRLs are used in addition to attempting to look them up in \fBstore\fR. If any
+chain verify fails an error code is returned.
 .PP
-Finally the signed content is read (and written to \fBout\fR is it is not \s-1NULL\s0) and
-the signature's checked.
+Finally the signed content is read (and written to \fBout\fR is it is not \s-1NULL\s0)
+and the signature's checked.
 .PP
 If all signature's verify correctly then the function is successful.
 .PP
-Any of the following flags (ored together) can be passed in the \fBflags\fR parameter
-to change the default verify behaviour. Only the flag \fB\s-1PKCS7_NOINTERN\s0\fR is
-meaningful to \fIPKCS7_get0_signers()\fR.
+Any of the following flags (ored together) can be passed in the \fBflags\fR
+parameter to change the default verify behaviour.
+.PP
+If \fB\s-1CMS_NOINTERN\s0\fR is set the certificates in the message itself are not
+searched when locating the signing certificate(s). This means that all the
+signing certificates must be in the \fBcerts\fR parameter.
 .PP
-If \fB\s-1PKCS7_NOINTERN\s0\fR is set the certificates in the message itself are not 
-searched when locating the signer's certificate. This means that all the signers
-certificates must be in the \fBcerts\fR parameter.
+If \fB\s-1CMS_NOCRL\s0\fR is set and \s-1CRL\s0 checking is enabled in \fBstore\fR then any
+CRLs in the message itself are ignored.
 .PP
-If the \fB\s-1PKCS7_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are deleted
+If the \fB\s-1CMS_TEXT\s0\fR flag is set \s-1MIME\s0 headers for type \fBtext/plain\fR are deleted
 from the content. If the content is not of type \fBtext/plain\fR then an error is
 returned.
 .PP
-If \fB\s-1PKCS7_NOVERIFY\s0\fR is set the signer's certificates are not chain verified.
+If \fB\s-1CMS_NO_SIGNER_CERT_VERIFY\s0\fR is set the signing certificates are not
+verified.
 .PP
-If \fB\s-1PKCS7_NOCHAIN\s0\fR is set then the certificates contained in the message are
-not used as untrusted CAs. This means that the whole verify chain (apart from
-the signer's certificate) must be contained in the trusted store.
+If \fB\s-1CMS_NO_ATTR_VERIFY\s0\fR is set the signed attributes signature is not 
+verified.
 .PP
-If \fB\s-1PKCS7_NOSIGS\s0\fR is set then the signatures on the data are not checked.
+If \fB\s-1CMS_NO_CONTENT_VERIFY\s0\fR is set then the content digest is not checked.
 .SH "NOTES"
 .IX Header "NOTES"
-One application of \fB\s-1PKCS7_NOINTERN\s0\fR is to only accept messages signed by
+One application of \fB\s-1CMS_NOINTERN\s0\fR is to only accept messages signed by
 a small number of certificates. The acceptable certificates would be passed
 in the \fBcerts\fR parameter. In this case if the signer is not one of the
 certificates supplied in \fBcerts\fR then the verify will fail because the
 signer cannot be found.
 .PP
+In some cases the standard techniques for looking up and validating
+certificates are not appropriate: for example an application may wish to 
+lookup certificates in a database or perform customised verification. This
+can be achieved by setting and verifying the signers certificates manually 
+using the signed data utility functions.
+.PP
 Care should be taken when modifying the default verify behaviour, for example
-setting \fBPKCS7_NOVERIFY|PKCS7_NOSIGS\fR will totally disable all verification 
-and any signed message will be considered valid. This combination is however
+setting \fB\s-1CMS_NO_CONTENT_VERIFY\s0\fR will totally disable all content verification 
+and any modified content will be considered valid. This combination is however
 useful if one merely wishes to write the content to \fBout\fR and its validity
 is not considered important.
 .PP
-Chain verification should arguably be performed  using the signing time rather
+Chain verification should arguably be performed using the signing time rather
 than the current time. However since the signing time is supplied by the
 signer it cannot be trusted without additional evidence (such as a trusted
 timestamp).
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-\&\fIPKCS7_verify()\fR returns 1 for a successful verification and zero or a negative
-value if an error occurs.
+\&\fICMS_verify()\fR returns 1 for a successful verification and zero if an error
+occurred.
 .PP
-\&\fIPKCS7_get0_signers()\fR returns all signers or \fB\s-1NULL\s0\fR if an error occurred.
+\&\fICMS_get0_signers()\fR returns all signers or \s-1NULL\s0 if an error occurred.
 .PP
 The error can be obtained from \fIERR_get_error\fR\|(3)
 .SH "BUGS"
 .IX Header "BUGS"
-The trusted certificate store is not searched for the signers certificate,
+The trusted certificate store is not searched for the signing certificate,
 this is primarily due to the inadequacies of the current \fBX509_STORE\fR
 functionality.
 .PP
-The lack of single pass processing and need to hold all data in memory as
-mentioned in \fIPKCS7_sign()\fR also applies to \fIPKCS7_verify()\fR.
+The lack of single pass processing means that the signed content must all
+be held in memory if it is not detached.
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIERR_get_error\fR\|(3), \fIPKCS7_sign\fR\|(3)
+\&\fIERR_get_error\fR\|(3), \fICMS_sign\fR\|(3)
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIPKCS7_verify()\fR was added to OpenSSL 0.9.5
+\&\fICMS_verify()\fR was added to OpenSSL 0.9.8
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .rm #[ #] #H #V #F C
 .\" ========================================================================
 .\"
-.IX Title "ASN1_OBJECT_new 3"
-.TH ASN1_OBJECT_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.IX Title "CMS_verify_receipt 3"
+.TH CMS_verify_receipt 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
 .nh
 .SH "NAME"
-ASN1_OBJECT_new, ASN1_OBJECT_free, \- object allocation functions
+.Vb 1
+\& CMS_verify_receipt \- verify a CMS signed receipt
+.Ve
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
-.Vb 2
-\& ASN1_OBJECT *ASN1_OBJECT_new(void);
-\& void ASN1_OBJECT_free(ASN1_OBJECT *a);
+.Vb 1
+\& #include <openssl/cms.h>
+\&
+\& int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, STACK_OF(X509) *certs, X509_STORE *store, unsigned int flags);
 .Ve
 .SH "DESCRIPTION"
 .IX Header "DESCRIPTION"
-The \s-1ASN1_OBJECT\s0 allocation routines, allocate and free an
-\&\s-1ASN1_OBJECT\s0 structure, which represents an \s-1ASN1\s0 \s-1OBJECT\s0 \s-1IDENTIFIER\s0.
-.PP
-\&\fIASN1_OBJECT_new()\fR allocates and initializes a \s-1ASN1_OBJECT\s0 structure.
+\&\fICMS_verify_receipt()\fR verifies a \s-1CMS\s0 signed receipt. \fBrcms\fR is the signed
+receipt to verify. \fBocms\fR is the original SignedData structure containing the
+receipt request. \fBcerts\fR is a set of certificates in which to search for the
+signing certificate. \fBstore\fR is a trusted certificate store (used for chain
+verification).
 .PP
-\&\fIASN1_OBJECT_free()\fR frees up the \fB\s-1ASN1_OBJECT\s0\fR structure \fBa\fR.
+\&\fBflags\fR is an optional set of flags, which can be used to modify the verify
+operation.
 .SH "NOTES"
 .IX Header "NOTES"
-Although \fIASN1_OBJECT_new()\fR allocates a new \s-1ASN1_OBJECT\s0 structure it
-is almost never used in applications. The \s-1ASN1\s0 object utility functions
-such as \fIOBJ_nid2obj()\fR are used instead.
+This functions behaves in a similar way to \fICMS_verify()\fR except the flag values
+\&\fB\s-1CMS_DETACHED\s0\fR, \fB\s-1CMS_BINARY\s0\fR, \fB\s-1CMS_TEXT\s0\fR and \fB\s-1CMS_STREAM\s0\fR are not
+supported since they do not make sense in the context of signed receipts.
 .SH "RETURN VALUES"
 .IX Header "RETURN VALUES"
-If the allocation fails, \fIASN1_OBJECT_new()\fR returns \fB\s-1NULL\s0\fR and sets an error
-code that can be obtained by \fIERR_get_error\fR\|(3).
-Otherwise it returns a pointer to the newly allocated structure.
+\&\fICMS_verify_receipt()\fR returns 1 for a successful verification and zero if an
+error occurred.
 .PP
-\&\fIASN1_OBJECT_free()\fR returns no value.
+The error can be obtained from \fIERR_get_error\fR\|(3)
 .SH "SEE ALSO"
 .IX Header "SEE ALSO"
-\&\fIERR_get_error\fR\|(3), \fId2i_ASN1_OBJECT\fR\|(3)
+\&\fIERR_get_error\fR\|(3),
+\&\fICMS_sign_receipt\fR\|(3),
+\&\fICMS_verify\fR\|(3),
 .SH "HISTORY"
 .IX Header "HISTORY"
-\&\fIASN1_OBJECT_new()\fR and \fIASN1_OBJECT_free()\fR are available in all versions of SSLeay and OpenSSL.
+\&\fICMS_verify_receipt()\fR was added to OpenSSL 0.9.8
index 46c82b6..f0feffe 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "CONF_modules_free 3"
-.TH CONF_modules_free 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH CONF_modules_free 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index f5c2a5e..60ef03e 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "CONF_modules_load_file 3"
-.TH CONF_modules_load_file 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH CONF_modules_load_file 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index c17f98d..a1e2db1 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "CRYPTO_set_ex_data 3"
-.TH CRYPTO_set_ex_data 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH CRYPTO_set_ex_data 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -142,6 +134,8 @@ CRYPTO_set_ex_data, CRYPTO_get_ex_data \- internal application specific data fun
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
+\& #include <openssl/crypto.h>
+\&
 \& int CRYPTO_set_ex_data(CRYPTO_EX_DATA *r, int idx, void *arg);
 \&
 \& void *CRYPTO_get_ex_data(CRYPTO_EX_DATA *r, int idx);
index dbc366e..65c1915 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DH_generate_key 3"
-.TH DH_generate_key 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DH_generate_key 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 9a97105..fdee6ed 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DH_generate_parameters 3"
-.TH DH_generate_parameters 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DH_generate_parameters 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 952c006..ff03cd5 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DH_get_ex_new_index 3"
-.TH DH_get_ex_new_index 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DH_get_ex_new_index 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 24ece8f..80a5e08 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DH_new 3"
-.TH DH_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DH_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 1cadc44..e45a1ec 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DH_set_method 3"
-.TH DH_set_method 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DH_set_method 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 861c7bd..e4e9df1 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DH_size 3"
-.TH DH_size 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DH_size 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index fcb965d..f3e0559 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DSA_SIG_new 3"
-.TH DSA_SIG_new 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DSA_SIG_new 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 51870da..5ec0e1d 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DSA_do_sign 3"
-.TH DSA_do_sign 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DSA_do_sign 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index b4c67f5..bac44eb 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DSA_dup_DH 3"
-.TH DSA_dup_DH 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DSA_dup_DH 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 80e4832..f67676b 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DSA_generate_key 3"
-.TH DSA_generate_key 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DSA_generate_key 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index 8bf69a2..19f1ef3 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DSA_generate_parameters 3"
-.TH DSA_generate_parameters 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DSA_generate_parameters 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
index a49c665..d4f6ef2 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
 .de Sp \" Vertical space (when we can't use .PP)
 .if t .sp .5v
 .if n .sp
@@ -53,7 +45,7 @@
 .el       .ds Aq '
 .\"
 .\" If the F register is turned on, we'll generate index entries on stderr for
-.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
 .ie \nF \{\
 .\" ========================================================================
 .\"
 .IX Title "DSA_get_ex_new_index 3"
-.TH DSA_get_ex_new_index 3 "2010-02-27" "0.9.8m" "OpenSSL"
+.TH DSA_get_ex_new_index 3 "2010-06-01" "1.0.0a" "OpenSSL"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -142,7 +134,7 @@ DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data \- add application specif
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
-\& #include <openssl/DSA.h>
+\& #include <openssl/dsa.h>
 \&
 \& int DSA_get_ex_new_index(long argl, void *argp,
 \&                CRYPTO_EX_new *new_func,
index 857c8ad..50592eb 100644 (file)
@@ -1,15 +1,7 @@
-.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..