Go to the documentation of this file.
74 #include "../internal.h"
79 static int load_iv(
char **fromp,
unsigned char *
to,
int num);
102 static const unsigned char map[17] =
"0123456789ABCDEF";
112 for (
i = 0;
i <
len;
i++) {
116 buf[j +
i * 2] =
'\n';
117 buf[j +
i * 2 + 1] =
'\0';
175 #ifndef OPENSSL_NO_CMS
212 unsigned char *
data = NULL;
272 int dsize = 0,
i, j,
ret = 0;
273 unsigned char *
p, *
data = NULL;
274 const char *objstr = NULL;
281 if (objstr == NULL ||
289 if ((dsize = i2d(
x, NULL)) < 0) {
318 assert(iv_len <= (
int)
sizeof(iv));
328 if (
kstr == (
unsigned char *)
buf)
331 assert(strlen(objstr) + 23 + 2 * iv_len + 13 <=
sizeof buf);
376 if (cipher->
cipher == NULL)
415 char **header_pp = &
header;
421 if (strncmp(
header,
"Proc-Type: ", 11) != 0) {
432 if (strncmp(
header,
"ENCRYPTED", 9) != 0) {
442 if (strncmp(
header,
"DEK-Info: ", 10) != 0) {
451 if (!(((
c >=
'A') && (
c <=
'Z')) || (
c ==
'-') ||
452 ((
c >=
'0') && (
c <=
'9'))))
487 for (
i = 0;
i <
num;
i++) {
488 if ((*
from >=
'0') && (*
from <=
'9'))
490 else if ((*
from >=
'A') && (*
from <=
'F'))
491 v = *
from -
'A' + 10;
492 else if ((*
from >=
'a') && (*
from <=
'f'))
493 v = *
from -
'a' + 10;
499 to[
i / 2] |=
v << (
long)((!(
i & 1)) * 4);
507 const unsigned char *
data,
long len)
520 const unsigned char *
data,
long len)
522 int nlen,
n,
i, j, outl;
523 unsigned char *
buf = NULL;
530 if ((
BIO_write(bp,
"-----BEGIN ", 11) != 11) ||
551 if ((outl) && (
BIO_write(bp, (
char *)
buf, outl) != outl))
558 if ((outl > 0) && (
BIO_write(bp, (
char *)
buf, outl) != outl))
562 if ((
BIO_write(bp,
"-----END ", 9) != 9) ||
592 int end = 0,
i,
k, bl = 0, hl = 0, nohead = 0;
601 if ((nameB == NULL) || (headerB == NULL) || (dataB == NULL)) {
618 while ((
i >= 0) && (
buf[
i] <=
' '))
623 if (strncmp(
buf,
"-----BEGIN ", 11) == 0) {
624 i = strlen(&(
buf[11]));
626 if (strncmp(&(
buf[11 +
i - 6]),
"-----\n", 6) != 0)
633 nameB->
data[
i - 6] =
'\0';
642 headerB->
data[0] =
'\0';
648 while ((
i >= 0) && (
buf[
i] <=
' '))
659 if (strncmp(
buf,
"-----END ", 9) == 0) {
664 headerB->
data[hl +
i] =
'\0';
673 dataB->
data[0] =
'\0';
680 while ((
i >= 0) && (
buf[
i] <=
' '))
687 if (strncmp(
buf,
"-----END ", 9) == 0)
696 dataB->
data[bl +
i] =
'\0';
704 while ((
i >= 0) && (
buf[
i] <=
' '))
718 i = strlen(nameB->
data);
719 if ((strncmp(
buf,
"-----END ", 9) != 0) ||
720 (strncmp(nameB->
data, &(
buf[9]),
i) != 0) ||
721 (strncmp(&(
buf[9 +
i]),
"-----\n", 6) != 0)) {
728 (
unsigned char *)dataB->
data, &bl,
729 (
unsigned char *)dataB->
data, bl);
745 *
data = (
unsigned char *)dataB->
data;
760 if (!
buf || !userdata ||
size < 0) {
763 size_t len = strlen((
char *)userdata);
int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *callback, void *u)
#define PEM_ASN1_read_bio
#define EVP_CIPHER_CTX_init
#define PEM_R_UNSUPPORTED_ENCRYPTION
X509 X509_REQ PKCS7 PKCS8_PRIV_KEY_INFO RSA DSA DSA EC_KEY EVP_PKEY EVP_PKEY int char * kstr
#define EVP_MAX_KEY_LENGTH
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_cbc(void)
#define PEM_R_NOT_PROC_TYPE
void PEM_proc_type(char *buf, int type)
#define OPENSSL_PUT_ERROR(library, reason)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_256_cbc(void)
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_192_cbc(void)
#define PEM_STRING_X509_REQ
#define EVP_CIPHER_iv_length
#define EVP_EncryptUpdate
OPENSSL_EXPORT pem_password_cb void * u
int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
static struct test_ctx ctx
#define PEM_R_NO_START_LINE
#define PEM_R_BAD_DECRYPT
#define PEM_STRING_X509_REQ_OLD
int pem_password_cb(char *buf, int size, int rwflag, void *userdata)
static const EVP_CIPHER * cipher_by_name(const char *name)
static void * OPENSSL_memset(void *dst, int c, size_t n)
int i2d_of_void(const void *, unsigned char **)
#define PEM_STRING_X509_TRUSTED
#define EVP_DecryptInit_ex
int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *plen, pem_password_cb *callback, void *u)
#define PEM_R_UNSUPPORTED_CIPHER
#define ERR_GET_REASON(packed_error)
#define PEM_STRING_X509_OLD
int PEM_read(FILE *fp, char **name, char **header, unsigned char **data, long *len)
#define PEM_R_BAD_IV_CHARS
const EVP_CIPHER * cipher
static void * OPENSSL_memcpy(void *dst, const void *src, size_t n)
#define ERR_GET_LIB(packed_error)
struct absl::base_internal::@2940::AllocList::Header header
int PEM_write_bio(BIO *bp, const char *name, const char *header, const unsigned char *data, long len)
int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, const char *name, BIO *bp, pem_password_cb *cb, void *u)
#define BUF_MEM_grow_clean
static void callback(void *arg, int status, int timeouts, struct hostent *host)
#define PEM_R_SHORT_HEADER
int PEM_def_callback(char *buf, int size, int rwflag, void *userdata)
const OPENSSL_EXPORT EVP_CIPHER * EVP_des_ede3_cbc(void)
#define EVP_EncryptInit_ex
void * PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, pem_password_cb *cb, void *u)
#define PEM_R_BAD_END_LINE
int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, void *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *callback, void *u)
int PEM_write(FILE *fp, const char *name, const char *header, const unsigned char *data, long len)
#define PEM_STRING_PKCS7_SIGNED
int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char **data, long *len)
#define PEM_TYPE_MIC_ONLY
#define EVP_EncryptFinal_ex
#define PEM_R_NOT_ENCRYPTED
#define EVP_DecryptUpdate
#define PEM_STRING_EVP_PKEY
#define PEM_R_BAD_PASSWORD_READ
UniquePtr< SSL_SESSION > ret
#define PEM_STRING_PKCS8INF
#define EVP_CIPHER_CTX_cleanup
static int check_pem(const char *nm, const char *name)
#define ERR_add_error_data
#define EVP_MAX_IV_LENGTH
void PEM_dek_info(char *buf, const char *type, int len, char *str)
#define EVP_DecryptFinal_ex
void * d2i_of_void(void **, const unsigned char **, long)
static int load_iv(char **fromp, unsigned char *to, int num)
const OPENSSL_EXPORT EVP_MD * EVP_md5(void)
#define PEM_R_BAD_BASE64_DECODE
const OPENSSL_EXPORT EVP_CIPHER * EVP_aes_128_cbc(void)
#define PEM_R_NOT_DEK_INFO
X509 X509_REQ PKCS7 PKCS8_PRIV_KEY_INFO RSA DSA DSA EC_KEY EVP_PKEY EVP_PKEY int char int klen
OPENSSL_EXPORT pem_password_cb * cb
#define ERR_R_MALLOC_FAILURE
#define PEM_TYPE_MIC_CLEAR
unsigned char iv[EVP_MAX_IV_LENGTH]
#define PEM_TYPE_ENCRYPTED
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:41