GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
D2I_X509_NAME(3) FreeBSD Library Functions Manual D2I_X509_NAME(3)

d2i_X509_NAME, i2d_X509_NAME, X509_NAME_get0_der, X509_NAME_dup, X509_NAME_set, d2i_X509_NAME_ENTRY, i2d_X509_NAME_ENTRY, X509_NAME_ENTRY_dupdecode and encode X.501 Name objects

#include <openssl/x509.h>

X509_NAME *
d2i_X509_NAME(X509_NAME **val_out, const unsigned char **der_in, long length);

int
i2d_X509_NAME(X509_NAME *val_in, unsigned char **der_out);

int
X509_NAME_get0_der(X509_NAME *val_in, const unsigned char **der_out, size_t *out_len);

X509_NAME *
X509_NAME_dup(X509_NAME *val_in);

int
X509_NAME_set(X509_NAME **val_out, X509_NAME *val_in);

X509_NAME_ENTRY *
d2i_X509_NAME_ENTRY(X509_NAME_ENTRY **val_out, const unsigned char **der_in, long length);

int
i2d_X509_NAME_ENTRY(X509_NAME_ENTRY *val_in, unsigned char **der_out);

X509_NAME_ENTRY *
X509_NAME_ENTRY_dup(X509_NAME_ENTRY *val_in);

These functions decode and encode X.501 Name objects using DER format. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

() and () decode and encode an ASN.1 Name structure defined in RFC 5280 section 4.1.2.4.

() is a variant of () that does not copy the encoded output but instead returns a pointer to the internally cached DER-encoded version of the name. Also, it does not return the length of the output in bytes, but instead stores it in out_len. If the cached encoded form happens to be out of date, both functions update it before copying it or returning a pointer to it.

() copies val_in by calling () and d2i_X509_NAME().

() makes sure that *val_out contains the same data as val_in after the call, except that it fails if val_in is NULL. If *val_out is the same pointer as val_in, the function succeeds without changing anything. Otherwise, it copies val_in using X509_NAME_dup(), and in case of success, it frees *val_out and sets it to a pointer to the new object. When the function fails, it never changes anything. In any case, val_in remains valid and may or may not be the same pointer as *val_out after the call.

() and () decode and encode an ASN.1 RelativeDistinguishedName structure defined in RFC 5280 section 4.1.2.4.

() copies val_in by calling () and d2i_X509_NAME_ENTRY().

d2i_X509_NAME() and X509_NAME_dup() return the new X509_NAME object or NULL if an error occurs.

X509_NAME_set() and X509_NAME_get0_der() return 1 on success or 0 if an error occurs.

d2i_X509_NAME_ENTRY() and X509_NAME_ENTRY_dup() return the new X509_NAME_ENTRY object or NULL if an error occurs.

i2d_X509_NAME() and i2d_X509_NAME_ENTRY() return the number of bytes successfully encoded or a negative value if an error occurs.

ASN1_item_d2i(3), X509_NAME_ENTRY_new(3), X509_NAME_new(3), X509_NAME_print_ex(3)

RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

ITU-T Recommendation X.690, also known as ISO/IEC 8825-1: Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER).

X509_NAME_dup() first appeared in SSLeay 0.4.4. d2i_X509_NAME(), i2d_X509_NAME(), d2i_X509_NAME_ENTRY(), i2d_X509_NAME_ENTRY(), and X509_NAME_ENTRY_dup() first appeared in SSLeay 0.5.1. X509_NAME_set() first appeared in SSLeay 0.8.0. These functions have been available since OpenBSD 2.4.

X509_NAME_get0_der() first appeared in OpenSSL 1.1.0 and has been available since OpenBSD 6.3.

March 14, 2025 FreeBSD 14.3-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.