[openssl-commits] [openssl] master update
Rich Salz
rsalz at openssl.org
Sun Jun 26 13:25:34 UTC 2016
The branch master has been updated
via 5d28ff38fd4127c5894d22533e842ee446c3d3c2 (commit)
from c32bdbf171ce6650ef045ec47b5abe0de7c264db (commit)
- Log -----------------------------------------------------------------
commit 5d28ff38fd4127c5894d22533e842ee446c3d3c2
Author: Rich Salz <rsalz at openssl.org>
Date: Sun Jun 26 09:24:49 2016 -0400
RT2964: Fix it via doc
OBJ_nid2obj() and friends should be treated as const.
Reviewed-by: Dr. Stephen Henson <steve at openssl.org>
-----------------------------------------------------------------------
Summary of changes:
doc/crypto/OBJ_nid2obj.pod | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/doc/crypto/OBJ_nid2obj.pod b/doc/crypto/OBJ_nid2obj.pod
index 9fa9e66..02e81ba 100644
--- a/doc/crypto/OBJ_nid2obj.pod
+++ b/doc/crypto/OBJ_nid2obj.pod
@@ -45,6 +45,12 @@ Deprecated:
The ASN1 object utility functions process ASN1_OBJECT structures which are
a representation of the ASN1 OBJECT IDENTIFIER (OID) type.
+For convenience, OIDs are usually represented in source code as numeric
+identifiers, or B<NID>s. 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.
OBJ_nid2obj(), OBJ_nid2ln() and OBJ_nid2sn() convert the NID B<n> to
an ASN1_OBJECT structure, its long name and its short name respectively,
@@ -123,6 +129,10 @@ exists for a particular algorithm). As a result they B<cannot> be encoded or
decoded as part of ASN.1 structures. Applications can determine if there
is a corresponding OBJECT IDENTIFIER by checking OBJ_length() is not zero.
+These functions cannot return B<const> because an B<ASN1_OBJECT> can
+represent both an internal, constant, OID and a dynamically-created one.
+The latter cannot be constant because it needs to be freed after use.
+
=head1 EXAMPLES
Create an object for B<commonName>:
@@ -139,6 +149,7 @@ Create a new NID and initialize an object from it:
int new_nid;
ASN1_OBJECT *obj;
+
new_nid = OBJ_create("1.2.3.4", "NewOID", "New Object Identifier");
obj = OBJ_nid2obj(new_nid);
More information about the openssl-commits
mailing list