Scroll to navigation

X509V3_ADDR_INHERITS(3) Library Functions Manual X509V3_ADDR_INHERITS(3)

NAME

X509v3_addr_inherits, X509v3_asid_inheritsRFC 3779 inheritance

SYNOPSIS

#include <openssl/x509v3.h>

int
X509v3_addr_inherits(IPAddrBlocks *addrblocks);

int
X509v3_asid_inherits(ASIdentifiers *asids);

DESCRIPTION

() determines if there is at least one address family in addrblocks that uses inheritance.

() is intended to determine if at least one of the list of autonomous system numbers or the list of routing domain identifiers uses inheritance.

RETURN VALUES

X509v3_addr_inherits() returns 1 if and only if addrblocks contains at least one IPAddressFamily object that is correctly marked “inherit”: its IPAddressChoice is of type IPAddressChoice_inherit and its inherit element is present. Otherwise it returns 0.

X509v3_asid_inherits() returns 1 if and only if at least one of the asnum or the rdi lists has type ASIdentifierChoice_inherit. Otherwise it returns 0.

SEE ALSO

ASIdentifiers_new(3), ASRange_new(3), crypto(3), IPAddressRange_new(3), X509_new(3), X509v3_addr_add_inherit(3), X509v3_asid_add_inherit(3)

STANDARDS

RFC 3779: X.509 Extensions for IP Addresses and AS Identifiers:

  • section 2: IP Address delegation extension
  • section 2.2.3.5: Element inherit
  • section 3: AS identifiers delegation extension
  • section 3.2.3.3: Element inherit

HISTORY

These functions first appeared in OpenSSL 0.9.8e and have been available since OpenBSD 7.1.

BUGS

X509v3_asid_inherits() ignores whether the inherit element is present or absent in the list that is considered to use inheritance.

There is no API that determines whether all lists contained in an ASIdentifiers or an IPAddrBlocks object inherit. See RFC 9287, 5.1.2 for an example where this is relevant.

September 30, 2023 Linux 5.14.21-150500.55.52-default