Lines Matching refs:ctx
40 void mbedtls_x509write_crt_init(mbedtls_x509write_cert *ctx)
42 memset(ctx, 0, sizeof(mbedtls_x509write_cert));
44 ctx->version = MBEDTLS_X509_CRT_VERSION_3;
47 void mbedtls_x509write_crt_free(mbedtls_x509write_cert *ctx)
49 mbedtls_asn1_free_named_data_list(&ctx->subject);
50 mbedtls_asn1_free_named_data_list(&ctx->issuer);
51 mbedtls_asn1_free_named_data_list(&ctx->extensions);
53 mbedtls_platform_zeroize(ctx, sizeof(mbedtls_x509write_cert));
56 void mbedtls_x509write_crt_set_version(mbedtls_x509write_cert *ctx,
59 ctx->version = version;
62 void mbedtls_x509write_crt_set_md_alg(mbedtls_x509write_cert *ctx,
65 ctx->md_alg = md_alg;
68 void mbedtls_x509write_crt_set_subject_key(mbedtls_x509write_cert *ctx,
71 ctx->subject_key = key;
74 void mbedtls_x509write_crt_set_issuer_key(mbedtls_x509write_cert *ctx,
77 ctx->issuer_key = key;
80 int mbedtls_x509write_crt_set_subject_name(mbedtls_x509write_cert *ctx,
83 return mbedtls_x509_string_to_names(&ctx->subject, subject_name);
86 int mbedtls_x509write_crt_set_issuer_name(mbedtls_x509write_cert *ctx,
89 return mbedtls_x509_string_to_names(&ctx->issuer, issuer_name);
93 int mbedtls_x509write_crt_set_serial(mbedtls_x509write_cert *ctx,
105 ctx->serial_len = tmp_len;
107 ret = mbedtls_mpi_write_binary(serial, ctx->serial, tmp_len);
116 int mbedtls_x509write_crt_set_serial_raw(mbedtls_x509write_cert *ctx,
123 ctx->serial_len = serial_len;
124 memcpy(ctx->serial, serial, serial_len);
129 int mbedtls_x509write_crt_set_validity(mbedtls_x509write_cert *ctx,
137 strncpy(ctx->not_before, not_before, MBEDTLS_X509_RFC5280_UTC_TIME_LEN);
138 strncpy(ctx->not_after, not_after, MBEDTLS_X509_RFC5280_UTC_TIME_LEN);
139 ctx->not_before[MBEDTLS_X509_RFC5280_UTC_TIME_LEN - 1] = 'Z';
140 ctx->not_after[MBEDTLS_X509_RFC5280_UTC_TIME_LEN - 1] = 'Z';
145 int mbedtls_x509write_crt_set_subject_alternative_name(mbedtls_x509write_cert *ctx,
148 return mbedtls_x509_write_set_san_common(&ctx->extensions, san_list);
152 int mbedtls_x509write_crt_set_extension(mbedtls_x509write_cert *ctx,
157 return mbedtls_x509_set_extension(&ctx->extensions, oid, oid_len,
161 int mbedtls_x509write_crt_set_basic_constraints(mbedtls_x509write_cert *ctx,
189 mbedtls_x509write_crt_set_extension(ctx, MBEDTLS_OID_BASIC_CONSTRAINTS,
195 static int mbedtls_x509write_crt_set_key_identifier(mbedtls_x509write_cert *ctx,
213 ctx->issuer_key :
214 ctx->subject_key));
252 return mbedtls_x509write_crt_set_extension(ctx,
258 return mbedtls_x509write_crt_set_extension(ctx,
266 int mbedtls_x509write_crt_set_subject_key_identifier(mbedtls_x509write_cert *ctx)
268 return mbedtls_x509write_crt_set_key_identifier(ctx,
273 int mbedtls_x509write_crt_set_authority_key_identifier(mbedtls_x509write_cert *ctx)
275 return mbedtls_x509write_crt_set_key_identifier(ctx,
281 int mbedtls_x509write_crt_set_key_usage(mbedtls_x509write_cert *ctx,
312 ret = mbedtls_x509write_crt_set_extension(ctx, MBEDTLS_OID_KEY_USAGE,
322 int mbedtls_x509write_crt_set_ext_key_usage(mbedtls_x509write_cert *ctx,
357 return mbedtls_x509write_crt_set_extension(ctx,
363 int mbedtls_x509write_crt_set_ns_cert_type(mbedtls_x509write_cert *ctx,
377 ret = mbedtls_x509write_crt_set_extension(ctx, MBEDTLS_OID_NS_CERT_TYPE,
415 int mbedtls_x509write_crt_der(mbedtls_x509write_cert *ctx,
446 if (mbedtls_pk_can_do(ctx->issuer_key, MBEDTLS_PK_RSA)) {
448 } else if (mbedtls_pk_can_do(ctx->issuer_key, MBEDTLS_PK_ECDSA)) {
454 if ((ret = mbedtls_oid_get_oid_by_sig_alg(pk_alg, ctx->md_alg,
464 if (ctx->version == MBEDTLS_X509_CRT_VERSION_3) {
467 buf, ctx->extensions));
484 mbedtls_pk_write_pubkey_der(ctx->subject_key,
494 ctx->subject));
504 x509_write_time(&c, buf, ctx->not_after,
508 x509_write_time(&c, buf, ctx->not_before,
522 ctx->issuer));
546 * - "ctx->serial_len" bytes for the raw serial buffer
552 ctx->serial, ctx->serial_len));
560 ctx->serial_len + 1));
563 ctx->serial_len));
573 if (ctx->version != MBEDTLS_X509_CRT_VERSION_1) {
576 mbedtls_asn1_write_int(&c, buf, ctx->version));
597 psa_algorithm = mbedtls_md_psa_alg_from_type(ctx->md_alg);
609 if ((ret = mbedtls_md(mbedtls_md_info_from_type(ctx->md_alg), c,
616 if ((ret = mbedtls_pk_sign(ctx->issuer_key, ctx->md_alg,