123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- =pod
- =head1 NAME
- ossl_DER_w_boolean, ossl_DER_w_ulong, ossl_DER_w_bn, ossl_DER_w_null,
- ossl_DER_w_octet_string, ossl_DER_w_octet_string_uint32
- - internal DER writers for DER primitives
- =head1 SYNOPSIS
- #include "internal/der.h"
- int ossl_DER_w_boolean(WPACKET *pkt, int tag, int b);
- int ossl_DER_w_ulong(WPACKET *pkt, int tag, unsigned long v);
- int ossl_DER_w_bn(WPACKET *pkt, int tag, const BIGNUM *v);
- int ossl_DER_w_null(WPACKET *pkt, int tag);
- int ossl_DER_w_octet_string(WPACKET *pkt, int tag,
- const unsigned char *data, size_t data_n);
- int ossl_DER_w_octet_string_uint32(WPACKET *pkt, int tag, uint32_t value);
- =head1 DESCRIPTION
- All functions described here behave the same way, they prepend
- (remember that DER writers are used backwards) the DER encoding of
- their respective value to the already written output buffer held by
- I<pkt>.
- ossl_DER_w_boolean() writes the primitive BOOLEAN using the value I<b>.
- Any value that evaluates as true will render a B<true> BOOLEAN,
- otherwise a B<false> BOOLEAN.
- ossl_DER_w_ulong() and ossl_DER_w_bn() both write the primitive INTEGER using
- the value I<v>.
- =for comment Other similar functions for diverse C integers should be
- added.
- ossl_DER_w_null() writes the primitive NULL.
- ossl_DER_w_octet_string() writes the primitive OCTET STRING using the bytes
- from I<data> with a length of I<data_n>.
- ossl_DER_w_octet_string_uint32() writes the primitive OCTET STRING using a
- 32 bit value in I<value>.
- =head1 RETURN VALUES
- All the functions return 1 on success and 0 on failure. Failure may
- mean that the buffer held by the I<pkt> is too small, but may also
- mean that the values given to the functions are invalid, such as the provided
- I<tag> value being too large for the implementation.
- =head1 SEE ALSO
- L<DERlib(7)>
- =head1 COPYRIGHT
- Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
- Licensed under the Apache License 2.0 (the "License"). You may not use
- this file except in compliance with the License. You can obtain a copy
- in the file LICENSE in the source distribution or at
- L<https://www.openssl.org/source/license.html>.
- =cut
|