summaryrefslogtreecommitdiffstats
path: root/secure/lib/libcrypto/man/OBJ_nid2obj.3
diff options
context:
space:
mode:
Diffstat (limited to 'secure/lib/libcrypto/man/OBJ_nid2obj.3')
-rw-r--r--secure/lib/libcrypto/man/OBJ_nid2obj.325
1 files changed, 22 insertions, 3 deletions
diff --git a/secure/lib/libcrypto/man/OBJ_nid2obj.3 b/secure/lib/libcrypto/man/OBJ_nid2obj.3
index 9ca4f3f..e95f3db 100644
--- a/secure/lib/libcrypto/man/OBJ_nid2obj.3
+++ b/secure/lib/libcrypto/man/OBJ_nid2obj.3
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.30)
+.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -133,7 +133,7 @@
.\" ========================================================================
.\"
.IX Title "OBJ_nid2obj 3"
-.TH OBJ_nid2obj 3 "2016-05-03" "1.0.2h" "OpenSSL"
+.TH OBJ_nid2obj 3 "2016-09-22" "1.0.2i" "OpenSSL"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -170,6 +170,12 @@ functions
.IX Header "DESCRIPTION"
The \s-1ASN1\s0 object utility functions process \s-1ASN1_OBJECT\s0 structures which are
a representation of the \s-1ASN1 OBJECT IDENTIFIER \s0(\s-1OID\s0) type.
+For convenience, OIDs are usually represented in source code as numeric
+identifiers, or \fB\s-1NID\s0\fRs. OpenSSL has an internal table of OIDs that
+are generated when the library is built, and their corresponding NIDs
+are available as defined constants. For the functions below, application
+code should treat all returned values \*(-- OIDs, NIDs, or names \*(-- as
+constants.
.PP
\&\fIOBJ_nid2obj()\fR, \fIOBJ_nid2ln()\fR and \fIOBJ_nid2sn()\fR convert the \s-1NID \s0\fBn\fR to
an \s-1ASN1_OBJECT\s0 structure, its long name and its short name respectively,
@@ -233,6 +239,16 @@ Objects which are not in the table have the \s-1NID\s0 value NID_undef.
Objects do not need to be in the internal tables to be processed,
the functions \fIOBJ_txt2obj()\fR and \fIOBJ_obj2txt()\fR can process the numerical
form of an \s-1OID.\s0
+.PP
+Some objects are used to represent algorithms which do not have a
+corresponding \s-1ASN.1 OBJECT IDENTIFIER\s0 encoding (for example no \s-1OID\s0 currently
+exists for a particular algorithm). As a result they \fBcannot\fR be encoded or
+decoded as part of \s-1ASN.1\s0 structures. Applications can determine if there
+is a corresponding \s-1OBJECT IDENTIFIER\s0 by checking \fIOBJ_length()\fR is not zero.
+.PP
+These functions cannot return \fBconst\fR because an \fB\s-1ASN1_OBJECT\s0\fR can
+represent both an internal, constant, \s-1OID\s0 and a dynamically-created one.
+The latter cannot be constant because it needs to be freed after use.
.SH "EXAMPLES"
.IX Header "EXAMPLES"
Create an object for \fBcommonName\fR:
@@ -251,9 +267,10 @@ Check if an object is \fBcommonName\fR
.PP
Create a new \s-1NID\s0 and initialize an object from it:
.PP
-.Vb 3
+.Vb 2
\& int new_nid;
\& ASN1_OBJECT *obj;
+\&
\& new_nid = OBJ_create("1.2.3.4", "NewOID", "New Object Identifier");
\&
\& obj = OBJ_nid2obj(new_nid);
@@ -276,6 +293,8 @@ than enough to handle any \s-1OID\s0 encountered in practice.
.IX Header "RETURN VALUES"
\&\fIOBJ_nid2obj()\fR returns an \fB\s-1ASN1_OBJECT\s0\fR structure or \fB\s-1NULL\s0\fR is an
error occurred.
+It returns a pointer to an internal table and does not
+allocate memory; \fIASN1_OBJECT_free()\fR will have no effect.
.PP
\&\fIOBJ_nid2ln()\fR and \fIOBJ_nid2sn()\fR returns a valid string or \fB\s-1NULL\s0\fR
on error.
OpenPOWER on IntegriCloud