mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
1d39620b34
This library is meant to be small and quick. It's based on WPACKET, which was extended to support DER writing. The way it's used is a bit unusual, as it's used to write the structures backward into a given buffer. A typical quick call looks like this: /* * Fill in this structure: * * something ::= SEQUENCE { * id OBJECT IDENTIFIER, * x [0] INTEGER OPTIONAL, * y [1] BOOLEAN OPTIONAL, * n INTEGER * } */ unsigned char buf[nnnn], *p = NULL; size_t encoded_len = 0; WPACKET pkt; int ok; ok = WPACKET_init_der(&pkt, buf, sizeof(buf) && DER_w_start_sequence(&pkt, -1) && DER_w_bn(&pkt, -1, bn) && DER_w_boolean(&pkt, 1, bool) && DER_w_precompiled(&pkt, -1, OID, sizeof(OID)) && DER_w_end_sequence(&pkt, -1) && WPACKET_finish(&pkt) && WPACKET_get_total_written(&pkt, &encoded_len) && (p = WPACKET_get_curr(&pkt)) != NULL; Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11450)
7 lines
173 B
Plaintext
7 lines
173 B
Plaintext
SUBDIRS=der
|
|
|
|
SOURCE[../libcommon.a]=provider_err.c bio_prov.c
|
|
$FIPSCOMMON=provider_util.c
|
|
SOURCE[../libnonfips.a]=$FIPSCOMMON nid_to_name.c
|
|
SOURCE[../libfips.a]=$FIPSCOMMON
|