[openssl-users] OpenSSL 1.1.0 providing new OIDs to source code

Matthias Ballreich Matthias.Ballreich at outlook.de
Mon Jul 10 16:47:28 UTC 2017

Yes, MY_NID is really NID_whatever. I tried it with putting OPENSSL_init_crypto(0, NULL); at start of my main().
Did not make any difference…

The Integer value of MY_NID will be printed out and is the correct integer value.

And i tried another thing. I replaced the two dll-libraries with the new created ones and then i run my Code and there all will be printed out correctly. BUT the whole time i used some older dll-libraries of openssl, (1.1.0f) and for development i used the latest 1.1.1-dev and then i build this, which has added a new x509 extension (Admission), which has a new OID (NID_extX509Admission, etc.) and there the short and long name will be printed out correctly after Building the Code. So this is a Little bit strange.

Or must i replace the dll-libraries every time i build the Code? But when, why has it worked with the old ones and the 1.1.1-dev (master branch)?

Best regards

Von: Richard Levitte<mailto:levitte at openssl.org>
Gesendet: Montag, 10. Juli 2017 06:14
An: openssl-users at openssl.org<mailto:openssl-users at openssl.org>
Betreff: Re: [openssl-users] OpenSSL 1.1.0 providing new OIDs to source code

In message <AM5P195MB018008B87ACD89D37B629CF3FBAB0 at AM5P195MB0180.EURP195.PROD.OUTLOOK.COM> on Sat, 8 Jul 2017 23:31:00 +0000, Matthias Ballreich <matthias.ballreich at outlook.de> said:

matthias.ballreich> Hi there,
matthias.ballreich> i want to contribute some more OIDs. Therefore i added the OIDs inside
matthias.ballreich> the „Objects.txt“ inside /crypto/objects
matthias.ballreich> Then i run these commands:
matthias.ballreich> perl objects.pl objects.txt obj_mac.num .
matthias.ballreich> ./../include/openssl/obj_mac.h
matthias.ballreich> perl obj_dat.pl ../../include/openssl/obj_mac.h obj_dat.h
matthias.ballreich> perl objxref.pl obj_mac.num obj_xref.txt > obj_xref.h

Sure, that looks fine to me

matthias.ballreich> The files are generated / updated. Then i build the source which
matthias.ballreich> builds fine without any exceptions. Then i tried to use the generated
matthias.ballreich> NIDs in my Code. For test purposes i tried to print out the short and
matthias.ballreich> Long Name of my new oid with OBJ_nid2sn(MY_NID) and OBJ_nid2(MY_NID).
matthias.ballreich> But here it prints out an empty string.
matthias.ballreich> When o try to use my NID with X509_get_ext_by_NID(cert, MY_NID, -1)
matthias.ballreich> the Output is -2.
matthias.ballreich> So where is the Problem or what i’m doing wrong here? Thanks!

If you've come that far, MY_NID (which I assume is really
NID_whatever) obviously exists, or your code wouldn't even have
compiled.  One possibility remains, that for some reason, libcrypto
hasn't been initialised like it should.  This can happen if you only
call a very select set of OpenSSL functions.  What happens if you add
this at the start of your main()?

    OPENSSL_init_crypto(0, NULL);

(note, that should be seen as a temporary measure, as this is called
internally in quite a number of spots, so for larger uses of OpenSSL
functionality, you shouldn't need that)


Richard Levitte         levitte at openssl.org
OpenSSL Project         http://www.openssl.org/~levitte/
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20170710/42cdf575/attachment.html>

More information about the openssl-users mailing list