Nelson, Thanks for the quick response. Cert_NewTempCertificate works well with the redefinition statement from nssrenam.h. This is for my Master's project, so I needed an explanation of what was going on, and this helps tremendously.
Stephen Nelson Bolyard wrote: > Stephen Hamilton wrote, On 2008-02-23 10:40: >> Hi, >> I'm new to the list, and I've been working with NSS on a project that >> requires smartcard/CAC interaction. I've pretty much gotten it to work >> the way I want, but I stumbled on something that doesn't make much sense. >> >> I tried to use the Cert_DecodeDERCertificate() function, and although it >> exists in cert.h, it wasn't found in the library during linking. After >> doing a grep & strings on libnss, I found it to be >> __Cert_DecodeDERCertificate. I replaced this in my code, and it works >> now. Is this the right way to do it, or did I do something backwards? > > Several comments. > > 1. Functions whose names start with double underscore are considered to be > private to NSS, for use by other NSS shared libraries, not for use by > applications. > > 2. There is one exception to that rule. We've decided that > CERT_NewTempCertificate is really not private, even though it persists > in having a double-underscore prefix. You should probably be using > CERT_NewTempCertificate rather than Cert_DecodeDERCertificate. > > 3. Applications and libraries that are part of NSS itself use a trick > to get past the double underscores. They #include the private NSS > header file nssrenam.h. You'll understand why when you look at it. > > I don't recommend that you #include that file, but you can borrow the > technique it uses for CERT_NewTempCertificate. > > Hope this helps. > > /Nelson _______________________________________________ dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto