1;+#
2;+# This Source Code Form is subject to the terms of the Mozilla Public
3;+# License, v. 2.0. If a copy of the MPL was not distributed with this
4;+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
5;+#
6;+# OK, this file is meant to support SUN, LINUX, AIX and WINDOWS
7;+#   1. For all unix platforms, the string ";-"  means "remove this line"
8;+#   2. For all unix platforms, the string " DATA " will be removed from any
9;+#	line on which it occurs.
10;+#   3. Lines containing ";+" will have ";+" removed on SUN and LINUX.
11;+#      On AIX, lines containing ";+" will be removed.
12;+#   4. For all unix platforms, the string ";;" will thave the ";;" removed.
13;+#   5. For all unix platforms, after the above processing has taken place,
14;+#    all characters after the first ";" on the line will be removed.
15;+#    And for AIX, the first ";" will also be removed.
16;+#  This file is passed directly to windows. Since ';' is a comment, all UNIX
17;+#   directives are hidden behind ";", ";+", and ";-"
18;+NSS_3.2 {       # NSS 3.2 release
19;+    global:
20LIBRARY nss3	;-
21EXPORTS		;-
22ATOB_AsciiToData;
23BTOA_ConvertItemToAscii;
24BTOA_DataToAscii;
25CERT_AsciiToName;
26CERT_CertTimesValid;
27CERT_CheckCertValidTimes;
28CERT_CreateCertificateRequest;
29CERT_ChangeCertTrust;
30CERT_DecodeDERCrl;
31CERT_DestroyCertificateRequest;
32CERT_DestroyCertList;
33CERT_DestroyName;
34CERT_EnableOCSPChecking;
35CERT_FormatName;
36CERT_DestroyCertificate;
37CERT_DupCertificate;
38CERT_FreeDistNames;
39CERT_FreeNicknames;
40CERT_GetAVATag;
41CERT_GetCertEmailAddress;
42CERT_GetCertIssuerAndSN;
43CERT_GetCertNicknames;
44CERT_GetCertTrust;
45CERT_GetCertUid;
46CERT_GetCommonName;
47CERT_GetCountryName;
48CERT_GetDBContentVersion;
49CERT_GetDefaultCertDB;
50CERT_GetDomainComponentName;
51CERT_GetLocalityName;
52CERT_GetOrgName;
53CERT_GetOrgUnitName;
54CERT_GetSSLCACerts;
55CERT_GetSlopTime;
56CERT_GetStateName;
57CERT_ImportCAChain;
58CERT_NameToAscii;
59CERT_RFC1485_EscapeAndQuote;
60CERT_SetSlopTime;
61CERT_VerifyCertName;
62CERT_VerifyCertNow;
63DER_UTCDayToAscii;
64DER_UTCTimeToAscii;
65DER_GeneralizedTimeToTime;
66NSS_Init;
67NSS_Initialize;
68NSS_InitReadWrite;
69NSS_NoDB_Init;
70NSS_Shutdown;
71NSS_VersionCheck;
72PK11_Authenticate;
73PK11_ChangePW;
74PK11_CheckUserPassword;
75PK11_CipherOp;
76PK11_CloneContext;
77PK11_ConfigurePKCS11;
78PK11_CreateContextBySymKey;
79PK11_CreateDigestContext;
80PK11_DestroyContext;
81PK11_DestroyTokenObject;
82PK11_DigestBegin;
83PK11_DigestOp;
84PK11_DigestFinal;
85PK11_DoesMechanism;
86PK11_FindCertFromNickname;
87PK11_FindCertFromDERCert;
88PK11_FindCertByIssuerAndSN;
89PK11_FindKeyByAnyCert;
90PK11_FindKeyByDERCert;
91PK11_FindSlotByName;
92PK11_Finalize;
93PK11_FortezzaHasKEA;
94PK11_FreeSlot;
95PK11_FreeSlotList;
96PK11_FreeSymKey;
97PK11_GenerateKeyPair;
98PK11_GenerateRandom;
99PK11_GenerateNewParam;
100PK11_GetAllTokens;
101PK11_GetBlockSize;
102PK11_GetFirstSafe;
103PK11_GetInternalKeySlot;
104PK11_GetInternalSlot;
105PK11_GetSlotName;
106PK11_GetTokenName;
107PK11_HashBuf;
108PK11_IsFIPS;
109PK11_IsFriendly;
110PK11_IsInternal;
111PK11_IsHW;
112PK11_IsPresent;
113PK11_IsReadOnly;
114PK11_KeyGen;
115PK11_ListCerts;
116PK11_NeedLogin;
117PK11_RandomUpdate;
118PK11_SetPasswordFunc;
119PK11_SetSlotPWValues;
120PORT_Alloc;
121PORT_Free;
122PORT_GetError;
123PORT_SetError;
124PORT_SetUCS4_UTF8ConversionFunction;
125PORT_SetUCS2_UTF8ConversionFunction;
126PORT_SetUCS2_ASCIIConversionFunction;
127SECITEM_CopyItem;
128SECITEM_DupItem;
129SECITEM_FreeItem;
130SECITEM_ZfreeItem;
131SECKEY_ConvertToPublicKey;
132SECKEY_CopyPrivateKey;
133SECKEY_CreateSubjectPublicKeyInfo;
134SECKEY_DestroyPrivateKey;
135SECKEY_DestroySubjectPublicKeyInfo;
136SECMOD_IsModulePresent;
137SECOID_FindOIDTagDescription;
138SECOID_GetAlgorithmTag;
139SEC_DeletePermCertificate;
140SEC_DeletePermCRL;
141SEC_DerSignData;
142SEC_DestroyCrl;
143SEC_FindCrlByDERCert;
144SEC_FindCrlByName;
145SEC_LookupCrls;
146SEC_NewCrl;
147;+#
148;+# The following symbols are exported only to make libssl3.so work.
149;+# These are still private!!!
150;+#
151__CERT_NewTempCertificate;
152__PK11_CreateContextByRawKey;
153__PK11_GetKeyData;
154__nss_InitLock;
155CERT_CertChainFromCert;
156CERT_DestroyCertificateList;
157CERT_DupCertList;
158CERT_ExtractPublicKey;
159CERT_FindCertByName;
160DER_Lengths;
161DSAU_DecodeDerSig;
162DSAU_EncodeDerSig;
163HASH_GetHashObject;
164NSSRWLock_Destroy;
165NSSRWLock_HaveWriteLock;
166NSSRWLock_LockRead;
167NSSRWLock_LockWrite;
168NSSRWLock_New;
169NSSRWLock_UnlockRead;
170NSSRWLock_UnlockWrite;
171NSS_PutEnv;
172PK11_Derive;
173PK11_DeriveWithFlags;
174PK11_DigestKey;
175PK11_FindBestKEAMatch;
176PK11_FindFixedKey;
177PK11_GenerateFortezzaIV;
178PK11_GetBestKeyLength;
179PK11_GetBestSlot;
180PK11_GetBestSlotMultiple;
181PK11_GetBestWrapMechanism;
182PK11_GetCurrentWrapIndex;
183PK11_GetMechanism;
184PK11_GetModuleID;
185PK11_GetPrivateModulusLen;
186PK11_GetSlotFromKey;
187PK11_GetSlotFromPrivateKey;
188PK11_GetSlotID;
189PK11_GetSlotSeries;
190PK11_GetTokenInfo;
191PK11_GetWindow;
192PK11_GetWrapKey;
193PK11_IVFromParam;
194PK11_MakeKEAPubKey;
195PK11_ParamFromIV;
196PK11_PubDecryptRaw;
197PK11_PubDerive;
198PK11_PubEncryptRaw;
199PK11_PubUnwrapSymKey;
200PK11_PubWrapSymKey;
201PK11_ReferenceSymKey;
202PK11_RestoreContext;
203PK11_SaveContext;
204PK11_SetFortezzaHack;
205PK11_SetWrapKey;
206PK11_Sign;
207PK11_SignatureLen;
208PK11_SymKeyFromHandle;
209PK11_TokenExists;
210PK11_UnwrapSymKey;
211PK11_UnwrapSymKeyWithFlags;
212PK11_Verify;
213PK11_VerifyKeyOK;
214PK11_WrapSymKey;
215PORT_ArenaAlloc;
216PORT_ArenaZAlloc;
217PORT_FreeArena;
218PORT_NewArena;
219PORT_Realloc;
220PORT_ZAlloc;
221PORT_ZFree;
222RSA_FormatBlock;
223SECITEM_CompareItem;
224SECKEY_CreateRSAPrivateKey;
225SECKEY_DestroyPublicKey;
226SECKEY_PublicKeyStrength;
227SECKEY_UpdateCertPQG;
228SECMOD_LookupSlot;
229SGN_Begin;
230SGN_DestroyContext;
231SGN_End;
232SGN_NewContext;
233SGN_Update;
234VFY_Begin;
235VFY_CreateContext;
236VFY_DestroyContext;
237VFY_End;
238VFY_Update;
239;+#
240;+# The following symbols are exported only to make libsmime3.so work.
241;+# These are still private!!!
242;+#
243__CERT_ClosePermCertDB;
244__CERT_DecodeDERCertificate;
245__CERT_TraversePermCertsForNickname;
246__CERT_TraversePermCertsForSubject;
247__PBE_CreateContext;
248__PBE_DestroyContext;
249__PBE_GenerateBits;
250ATOB_ConvertAsciiToItem;
251CERT_AddCertToListTail;
252CERT_CertListFromCert;
253CERT_DestroyCertArray;
254CERT_FindCertByDERCert;
255CERT_FindCertByIssuerAndSN;
256CERT_FindSMimeProfile;
257CERT_ImportCerts;
258CERT_NewCertList;
259CERT_OpenCertDBFilename;
260CERT_SaveSMimeProfile;
261CERT_VerifyCert;
262DER_GetInteger;
263DER_TimeToUTCTime;
264DER_UTCTimeToTime;
265PK11_AlgtagToMechanism;
266PK11_BlockData;
267PK11_CreatePBEAlgorithmID;
268PK11_DestroyObject;
269PK11_ExportEncryptedPrivateKeyInfo;
270PK11_ExportPrivateKeyInfo;
271PK11_FindCertAndKeyByRecipientList;
272PK11_FindCertAndKeyByRecipientListNew;
273PK11_FindCertInSlot;
274PK11_FindPrivateKeyFromCert;
275PK11_FortezzaMapSig;
276PK11_GetKeyLength;
277PK11_GetKeyStrength;
278PK11_ImportCertForKeyToSlot;
279PK11_ImportEncryptedPrivateKeyInfo;
280PK11_ImportPrivateKeyInfo;
281PK11_MapPBEMechanismToCryptoMechanism;
282PK11_PBEKeyGen;
283PK11_ParamFromAlgid;
284PK11_ParamToAlgid;
285PK11_TraverseCertsForNicknameInSlot;
286PK11_TraverseCertsForSubjectInSlot;
287PORT_ArenaGrow;
288PORT_ArenaMark;
289PORT_ArenaRelease;
290PORT_ArenaStrdup;
291PORT_ArenaUnmark;
292PORT_UCS2_ASCIIConversion;
293PORT_UCS2_UTF8Conversion;
294SECITEM_AllocItem;
295SECKEY_CopyEncryptedPrivateKeyInfo;
296SECKEY_CopyPrivateKeyInfo;
297SECKEY_DestroyEncryptedPrivateKeyInfo;
298SECKEY_DestroyPrivateKeyInfo;
299SECOID_CompareAlgorithmID;
300SECOID_CopyAlgorithmID;
301SECOID_DestroyAlgorithmID;
302SECOID_FindOID;
303SECOID_FindOIDByTag;
304SECOID_FindOIDTag;
305SECOID_SetAlgorithmID;
306SEC_ASN1DecodeInteger;
307SEC_ASN1DecodeItem;
308SEC_ASN1DecoderClearFilterProc;
309SEC_ASN1DecoderClearNotifyProc;
310SEC_ASN1DecoderFinish;
311SEC_ASN1DecoderSetFilterProc;
312SEC_ASN1DecoderSetNotifyProc;
313SEC_ASN1DecoderStart;
314SEC_ASN1DecoderUpdate;
315SEC_ASN1Encode;
316SEC_ASN1EncodeInteger;
317SEC_ASN1EncodeItem;
318SEC_ASN1EncoderClearNotifyProc;
319SEC_ASN1EncoderClearStreaming;
320SEC_ASN1EncoderClearTakeFromBuf;
321SEC_ASN1EncoderFinish;
322SEC_ASN1EncoderSetNotifyProc;
323SEC_ASN1EncoderSetStreaming;
324SEC_ASN1EncoderSetTakeFromBuf;
325SEC_ASN1EncoderStart;
326SEC_ASN1EncoderUpdate;
327SEC_ASN1LengthLength;
328SEC_PKCS5GetCryptoAlgorithm;
329SEC_PKCS5GetKeyLength;
330SEC_PKCS5GetPBEAlgorithm;
331SEC_PKCS5IsAlgorithmPBEAlg;
332SEC_SignData;
333SGN_CompareDigestInfo;
334SGN_CopyDigestInfo;
335SGN_CreateDigestInfo;
336SGN_DestroyDigestInfo;
337SGN_Digest;
338VFY_VerifyData;
339VFY_VerifyDigest;
340;+#
341;+# Data objects
342;+#
343;+# Don't export these DATA symbols on Windows because they don't work right.
344;+# Use the SEC_ASN1_GET / SEC_ASN1_SUB / SEC_ASN1_XTRN macros to access them.
345;;CERT_CrlTemplate DATA ;
346;;CERT_SignedDataTemplate DATA ;
347;;CERT_CertificateTemplate DATA ;
348;;CERT_CertificateRequestTemplate DATA ;
349;;CERT_IssuerAndSNTemplate DATA ;
350;;CERT_SetOfSignedCrlTemplate DATA ;
351;;SECKEY_DSAPublicKeyTemplate DATA ;
352;;SECKEY_EncryptedPrivateKeyInfoTemplate DATA ;
353;;SECKEY_PointerToEncryptedPrivateKeyInfoTemplate DATA ;
354;;SECKEY_PointerToPrivateKeyInfoTemplate DATA ;
355;;SECKEY_PrivateKeyInfoTemplate DATA ;
356;;SECKEY_RSAPublicKeyTemplate DATA ;
357;;SECOID_AlgorithmIDTemplate DATA ;
358;;SEC_AnyTemplate DATA ;
359;;SEC_BMPStringTemplate DATA ;
360;;SEC_BitStringTemplate DATA ;
361;;SEC_GeneralizedTimeTemplate DATA ;
362;;SEC_IA5StringTemplate DATA ;
363;;SEC_IntegerTemplate DATA ;
364;;SEC_ObjectIDTemplate DATA ;
365;;SEC_OctetStringTemplate DATA ;
366;;SEC_PointerToAnyTemplate DATA ;
367;;SEC_PointerToOctetStringTemplate DATA ;
368;;SEC_SetOfAnyTemplate DATA ;
369;;SEC_UTCTimeTemplate DATA ;
370;;sgn_DigestInfoTemplate DATA ;
371NSS_Get_CERT_CrlTemplate;
372NSS_Get_CERT_SignedDataTemplate;
373NSS_Get_CERT_CertificateTemplate;
374NSS_Get_CERT_CertificateRequestTemplate;
375NSS_Get_CERT_IssuerAndSNTemplate;
376NSS_Get_CERT_SetOfSignedCrlTemplate;
377NSS_Get_SECKEY_DSAPublicKeyTemplate;
378NSS_Get_SECKEY_EncryptedPrivateKeyInfoTemplate;
379NSS_Get_SECKEY_PointerToEncryptedPrivateKeyInfoTemplate;
380NSS_Get_SECKEY_PointerToPrivateKeyInfoTemplate;
381NSS_Get_SECKEY_PrivateKeyInfoTemplate;
382NSS_Get_SECKEY_RSAPublicKeyTemplate;
383NSS_Get_SECOID_AlgorithmIDTemplate;
384NSS_Get_SEC_AnyTemplate;
385NSS_Get_SEC_BMPStringTemplate;
386NSS_Get_SEC_BitStringTemplate;
387NSS_Get_SEC_GeneralizedTimeTemplate;
388NSS_Get_SEC_IA5StringTemplate;
389NSS_Get_SEC_IntegerTemplate;
390NSS_Get_SEC_ObjectIDTemplate;
391NSS_Get_SEC_OctetStringTemplate;
392NSS_Get_SEC_PointerToAnyTemplate;
393NSS_Get_SEC_PointerToOctetStringTemplate;
394NSS_Get_SEC_SetOfAnyTemplate;
395NSS_Get_SEC_UTCTimeTemplate;
396NSS_Get_sgn_DigestInfoTemplate;
397;+# commands
398CERT_DecodeBasicConstraintValue;
399CERT_DecodeOidSequence;
400CERT_DecodeUserNotice;
401CERT_DecodeCertificatePoliciesExtension;
402CERT_DestroyCertificatePoliciesExtension;
403CERT_FindCertByNicknameOrEmailAddr;
404CERT_FindCertByNickname;
405CERT_GenTime2FormattedAscii;
406CERT_Hexify;
407CERT_CompareName;
408PK11SDR_Encrypt;
409PK11SDR_Decrypt;
410NSSBase64Decoder_Create;
411NSSBase64Decoder_Destroy;
412NSSBase64Decoder_Update;
413NSSBase64Encoder_Create;
414NSSBase64Encoder_Destroy;
415NSSBase64Encoder_Update;
416;+#PK11_DoPassword;
417;+#PK11_FindKeyByKeyID;
418PK11_InitPin;
419PK11_NeedUserInit;
420;+    local:
421;+       *;
422;+};
423;+NSS_3.2.1 {       # NSS 3.2.1 release
424;+    global:
425CERT_AddRDN;
426CERT_CreateRDN;
427CERT_CreateAVA;
428CERT_CreateName;
429;+    local:
430;+       *;
431;+};
432;+NSS_3.3 { 	# NSS 3.3. release
433;+    global:
434CERT_CheckCertUsage;
435CERT_FindCertIssuer;
436PK11_GetModule;
437SECKEY_CreateDHPrivateKey;
438SECKEY_GetPublicKeyType;
439SECMOD_AddNewModule;
440;+#
441;+# The following symbols are exported only to make JSS work.
442;+# These are still private!!!
443;+#
444CERT_DisableOCSPChecking;
445CERT_DisableOCSPDefaultResponder;
446CERT_EnableOCSPDefaultResponder;
447CERT_GetCertTimes;
448CERT_ImportCAChainTrusted;
449CERT_ImportCRL;
450CERT_IsCACert;
451CERT_IsCADERCert;
452CERT_SetOCSPDefaultResponder;
453PBE_CreateContext;
454PBE_DestroyContext;
455PBE_GenerateBits;
456PK11_CheckSSOPassword;
457PK11_CopySymKeyForSigning;
458PK11_DeleteTokenCertAndKey;
459PK11_DEREncodePublicKey;
460PK11_ExtractKeyValue;
461PK11_FindCertsFromNickname;
462PK11_FindKeyByKeyID;
463PK11_GetIVLength;
464PK11_GetKeyData;
465PK11_GetKeyType;
466PK11_GetLowLevelKeyIDForCert;
467PK11_GetLowLevelKeyIDForPrivateKey;
468PK11_GetSlotPWValues;
469PK11_ImportCertForKey;
470PK11_ImportDERCertForKey;
471PK11_ImportDERPrivateKeyInfo;
472PK11_ImportSymKey;
473PK11_IsLoggedIn;
474PK11_KeyForDERCertExists;
475PK11_KeyForCertExists;
476PK11_ListPrivateKeysInSlot;
477PK11_ListCertsInSlot;
478PK11_Logout;
479PK11_NeedPWInit;
480PK11_MakeIDFromPubKey;
481PK11_PQG_DestroyParams;
482PK11_PQG_DestroyVerify;
483PK11_PQG_GetBaseFromParams;
484PK11_PQG_GetCounterFromVerify;
485PK11_PQG_GetHFromVerify;
486PK11_PQG_GetPrimeFromParams;
487PK11_PQG_GetSeedFromVerify;
488PK11_PQG_GetSubPrimeFromParams;
489PK11_PQG_NewParams;
490PK11_PQG_NewVerify;
491PK11_PQG_ParamGen;
492PK11_PQG_ParamGenSeedLen;
493PK11_PQG_VerifyParams;
494PK11_ReferenceSlot;
495PK11_SeedRandom;
496PK11_UnwrapPrivKey;
497PK11_VerifyRecover;
498PK11_WrapPrivKey;
499SEC_CertNicknameConflict;
500SEC_PKCS5GetIV;
501SECMOD_DeleteInternalModule;
502SECMOD_DestroyModule;
503SECMOD_GetDefaultModuleList;
504SECMOD_GetDefaultModuleListLock;
505SECMOD_GetInternalModule;
506SECMOD_GetReadLock;
507SECMOD_ReferenceModule;
508SECMOD_ReleaseReadLock;
509SECKEY_AddPrivateKeyToListTail;
510SECKEY_EncodeDERSubjectPublicKeyInfo;
511SECKEY_ExtractPublicKey;
512SECKEY_DestroyPrivateKeyList;
513SECKEY_GetPrivateKeyType;
514SECKEY_HashPassword;
515SECKEY_ImportDERPublicKey;
516SECKEY_NewPrivateKeyList;
517SECKEY_RemovePrivateKeyListNode;
518VFY_EndWithSignature;
519;+    local:
520;+       *;
521;+};
522;+NSS_3.3.1 { 	# NSS 3.3.1 release
523;+    global:
524;+#
525;+# The following symbols are exported only to make libsmime3.so work.
526;+# These are still private!!!
527;+#
528PK11_CreatePBEParams;
529PK11_DestroyPBEParams;
530;+    local:
531;+       *;
532;+};
533;+NSS_3.4 { 	# NSS 3.4 release
534;+    global:
535SECMOD_AddNewModuleEx;
536SECMOD_DeleteModule;
537SECMOD_FreeModuleSpecList;
538SECMOD_GetModuleSpecList;
539SECMOD_LoadModule;
540SECMOD_LoadUserModule;
541SECMOD_UnloadUserModule;
542SECMOD_UpdateModule;
543;+# for PKCS #12
544PK11_RawPBEKeyGen;
545;+# for PSM
546__CERT_AddTempCertToPerm;
547CERT_AddOKDomainName;
548CERT_CopyName;
549CERT_CreateSubjectCertList;
550CERT_DecodeAVAValue;
551;+#CERT_DecodeCertFromPackage;
552CERT_DecodeGeneralName;
553CERT_DecodeTrustString;
554CERT_DerNameToAscii;
555CERT_EncodeGeneralName;
556CERT_FilterCertListByCANames;
557CERT_FilterCertListByUsage;
558CERT_FindCertExtension;
559CERT_FindKeyUsageExtension;
560CERT_FindUserCertByUsage;
561CERT_FindUserCertsByUsage;
562CERT_GetCertChainFromCert;
563CERT_GetOCSPAuthorityInfoAccessLocation;
564CERT_KeyFromDERCrl;
565CERT_MakeCANickname;
566CERT_NicknameStringsFromCertList;
567CERT_VerifySignedData;
568DER_Encode;
569HASH_Begin;
570HASH_Create;
571HASH_Destroy;
572HASH_End;
573HASH_ResultLen;
574HASH_Update;
575NSSBase64_DecodeBuffer;   # from Stan
576NSSBase64_EncodeItem;   # from Stan
577PK11_GetKeyGen;
578PK11_GetMinimumPwdLength;
579PK11_GetNextSafe;
580PK11_GetPadMechanism;
581PK11_GetSlotInfo;
582PK11_HasRootCerts;
583PK11_IsDisabled;
584PK11_LoadPrivKey;
585PK11_LogoutAll;
586PK11_MechanismToAlgtag;
587PK11_ResetToken;
588PK11_TraverseSlotCerts;
589SEC_ASN1Decode;
590SECKEY_CopySubjectPublicKeyInfo;
591SECMOD_CreateModule;
592SECMOD_FindModule;
593SECMOD_FindSlot;
594SECMOD_PubCipherFlagstoInternal;
595SECMOD_PubMechFlagstoInternal;
596;;CERT_NameTemplate DATA ;
597;;CERT_SubjectPublicKeyInfoTemplate DATA ;
598;;SEC_BooleanTemplate DATA ;
599;;SEC_NullTemplate DATA ;
600;;SEC_SignedCertificateTemplate DATA ;
601;;SEC_UTF8StringTemplate DATA ;
602NSS_Get_CERT_NameTemplate;
603NSS_Get_CERT_SubjectPublicKeyInfoTemplate;
604NSS_Get_SEC_BooleanTemplate;
605NSS_Get_SEC_NullTemplate;
606NSS_Get_SEC_SignedCertificateTemplate;
607NSS_Get_SEC_UTF8StringTemplate;
608;+# for JSS
609PK11_DeleteTokenPrivateKey;
610PK11_DeleteTokenPublicKey;
611PK11_DeleteTokenSymKey;
612PK11_GetNextSymKey;
613PK11_GetPQGParamsFromPrivateKey;
614PK11_GetPrivateKeyNickname;
615PK11_GetPublicKeyNickname;
616PK11_GetSymKeyNickname;
617PK11_ImportDERPrivateKeyInfoAndReturnKey;
618PK11_ImportPrivateKeyInfoAndReturnKey;
619PK11_ImportPublicKey;
620PK11_ImportSymKeyWithFlags;
621PK11_ListFixedKeysInSlot;
622PK11_ListPrivKeysInSlot;
623PK11_ListPublicKeysInSlot;
624PK11_ProtectedAuthenticationPath;
625PK11_SetPrivateKeyNickname;
626PK11_SetPublicKeyNickname;
627PK11_SetSymKeyNickname;
628SECKEY_DecodeDERSubjectPublicKeyInfo;
629SECKEY_DestroyPublicKeyList;
630;+# for debugging
631nss_DumpCertificateCacheInfo;
632;+    local:
633;+       *;
634;+};
635;+NSS_3.5 { 	# cert creation APIs used by certutil
636;+    global:
637CERT_AddExtension;
638CERT_CopyRDN;
639CERT_CreateCertificate;
640CERT_CreateValidity;
641CERT_DestroyValidity;
642CERT_EncodeAndAddBitStrExtension;
643CERT_EncodeAuthKeyID;
644CERT_EncodeBasicConstraintValue;
645CERT_EncodeCRLDistributionPoints;
646CERT_FinishExtensions;
647CERT_StartCertExtensions;
648DER_AsciiToTime;
649PK11_ImportCert;
650PORT_Strdup;
651SECMOD_CanDeleteInternalModule;
652;+    local:
653;+       *;
654;+};
655;+NSS_3.6 { 	# NSS 3.6 release
656;+    global:
657CERT_AddOCSPAcceptableResponses;
658CERT_CompleteCRLDecodeEntries;
659CERT_CreateOCSPCertID;
660CERT_CreateOCSPRequest;
661CERT_DecodeDERCrlWithFlags;
662CERT_DecodeOCSPResponse;
663CERT_DestroyOCSPCertID;
664CERT_DestroyOCSPRequest;
665CERT_EncodeOCSPRequest;
666CERT_FilterCertListForUserCerts;
667CERT_GetOCSPResponseStatus;
668CERT_GetOCSPStatusForCertID;
669CERT_IsUserCert;
670CERT_RemoveCertListNode;
671CERT_VerifyCACertForUsage;
672CERT_VerifyCertificate;
673CERT_VerifyCertificateNow;
674CERT_VerifyOCSPResponseSignature;
675PK11_ConvertSessionPrivKeyToTokenPrivKey;
676PK11_ConvertSessionSymKeyToTokenSymKey;
677PK11_GetModInfo;
678PK11_GetPBEIV;
679PK11_ImportCRL;
680PK11_ImportDERCert;
681PK11_PubUnwrapSymKeyWithFlags;
682PK11_SaveContextAlloc;
683PK11_TokenKeyGen;
684SEC_QuickDERDecodeItem;
685SECKEY_CopyPublicKey;
686;+    local:
687;+       *;
688;+};
689;+NSS_3.7 { 	# NSS 3.7 release
690;+    global:
691CERT_CRLCacheRefreshIssuer;
692CERT_DestroyOCSPResponse;
693CERT_EncodeAltNameExtension;
694CERT_FindCertBySubjectKeyID;
695CERT_FindSubjectKeyIDExtension;
696CERT_GetFirstEmailAddress;
697CERT_GetNextEmailAddress;
698CERT_VerifySignedDataWithPublicKey;
699CERT_VerifySignedDataWithPublicKeyInfo;
700PK11_WaitForTokenEvent;
701;+    local:
702;+       *;
703;+};
704;+NSS_3.7.1 { 	# NSS 3.7.1 release
705;+    global:
706PK11_TokenRefresh;
707;+    local:
708;+       *;
709;+};
710;+NSS_3.8 { 	# NSS 3.8 release
711;+    global:
712CERT_IsRootDERCert;
713HASH_GetHashObjectByOidTag;
714HASH_GetHashTypeByOidTag;
715PK11_GetDefaultArray;
716PK11_GetDefaultFlags;
717PK11_GetDisabledReason;
718PK11_UpdateSlotAttribute;
719PK11_UserEnableSlot;
720PK11_UserDisableSlot;
721SECITEM_ItemsAreEqual;
722SECKEY_CreateECPrivateKey;
723SECKEY_PublicKeyStrengthInBits;
724;+    local:
725;+       *;
726;+};
727;+NSS_3.9 { 	# NSS 3.9 release
728;+    global:
729CERT_DestroyOidSequence;
730CERT_GetOidString;
731;;CERT_TimeChoiceTemplate DATA ;
732DER_DecodeTimeChoice;
733DER_EncodeTimeChoice;
734DSAU_DecodeDerSigToLen;
735DSAU_EncodeDerSigWithLen;
736NSS_Get_CERT_TimeChoiceTemplate;
737PK11_DeriveWithFlagsPerm;
738PK11_ExportEncryptedPrivKeyInfo;
739PK11_FindSlotsByNames;
740PK11_GetSymKeyType;
741PK11_MoveSymKey;
742PK11_PubDeriveWithKDF;
743PK11_PubUnwrapSymKeyWithFlagsPerm;
744PK11_UnwrapSymKeyWithFlagsPerm;
745SECITEM_ArenaDupItem;
746SECMOD_GetDBModuleList;
747SECMOD_GetDeadModuleList;
748SEC_ASN1DecoderAbort;
749SEC_ASN1EncoderAbort;
750SEC_DupCrl;
751;+    local:
752;+       *;
753;+};
754;+NSS_3.9.2 { 	# NSS 3.9.2 release
755;+    global:
756NSS_IsInitialized;
757PK11_DestroyGenericObject;
758PK11_DestroyGenericObjects;
759PK11_FindGenericObjects;
760PK11_GetNextGenericObject;
761PK11_GetPrevGenericObject;
762PK11_LinkGenericObject;
763PK11_ReadRawAttribute;
764PK11_UnlinkGenericObject;
765;+    local:
766;+       *;
767;+};
768;+NSS_3.9.3 { 	# NSS 3.9.3 release
769;+    global:
770PK11_GetCertFromPrivateKey;
771PK11_PrivDecryptPKCS1;
772PK11_PubEncryptPKCS1;
773SECMOD_CancelWait;
774SECMOD_HasRemovableSlots;
775SECMOD_UpdateSlotList;
776SECMOD_WaitForAnyTokenEvent;
777;+    local:
778;+       *;
779;+};
780;+NSS_3.10 { 	# NSS 3.10 release
781;+    global:
782CERT_CacheCRL;
783CERT_DecodeAltNameExtension;
784CERT_DecodeAuthInfoAccessExtension;
785CERT_DecodeAuthKeyID;
786CERT_DecodeCRLDistributionPoints;
787CERT_DecodeNameConstraintsExtension;
788CERT_DecodePrivKeyUsagePeriodExtension;
789CERT_DestroyUserNotice;
790CERT_FinishCertificateRequestAttributes;
791CERT_GetCertificateNames;
792CERT_GetCertificateRequestExtensions;
793CERT_GetNextGeneralName;
794CERT_GetNextNameConstraint;
795CERT_GetPrevGeneralName;
796CERT_GetPrevNameConstraint;
797CERT_MergeExtensions;
798CERT_StartCertificateRequestAttributes;
799CERT_StartCRLEntryExtensions;
800CERT_StartCRLExtensions;
801CERT_UncacheCRL;
802HASH_Clone;
803HASH_HashBuf;
804HASH_ResultLenByOidTag;
805HASH_ResultLenContext;
806SEC_GetSignatureAlgorithmOidTag;
807SECKEY_CacheStaticFlags;
808SECOID_AddEntry;
809;+#
810;+# Data objects
811;+#
812;+# Don't export these DATA symbols on Windows because they don't work right.
813;+# Use the SEC_ASN1_GET / SEC_ASN1_SUB / SEC_ASN1_XTRN macros to access them.
814;;CERT_SequenceOfCertExtensionTemplate DATA ;
815;;CERT_SignedCrlTemplate DATA ;
816NSS_Get_CERT_SequenceOfCertExtensionTemplate;
817NSS_Get_CERT_SignedCrlTemplate;
818;+    local:
819;+       *;
820;+};
821;+NSS_3.10.2 { 	# NSS 3.10.2 release
822;+    global:
823PK11_TokenKeyGenWithFlags;
824PK11_GenerateKeyPairWithFlags;
825;+    local:
826;+       *;
827;+};
828;+NSS_3.11 { 	# NSS 3.11 release
829;+    global:
830CERT_CompareValidityTimes;
831PK11_CopyTokenPrivKeyToSessionPrivKey;
832PK11_FreeSlotListElement;
833PK11_GenerateRandomOnSlot;
834PK11_GetSymKeyUserData;
835PK11_MapSignKeyType;
836PK11_SetSymKeyUserData;
837SECMOD_CloseUserDB;
838SECMOD_HasRootCerts;
839SECMOD_OpenUserDB;
840;+    local:
841;+       *;
842;+};
843;+NSS_3.11.1 {
844;+    global:
845NSS_RegisterShutdown;
846NSS_UnregisterShutdown;
847SEC_ASN1EncodeUnsignedInteger;
848SEC_RegisterDefaultHttpClient;
849;+    local:
850;+       *;
851;+};
852;+NSS_3.11.2 {
853;+    global:
854SECKEY_SignatureLen;
855;+    local:
856;+       *;
857;+};
858;+NSS_3.11.7 {
859;+    global:
860CERT_SetOCSPFailureMode;
861CERT_OCSPCacheSettings;
862CERT_ClearOCSPCache;
863DER_GeneralizedDayToAscii;
864DER_TimeChoiceDayToAscii;
865DER_TimeToGeneralizedTime;
866DER_TimeToGeneralizedTimeArena;
867;+    local:
868;+       *;
869;+};
870;+NSS_3.11.9 {
871;+    global:
872PK11_UnconfigurePKCS11;
873;+    local:
874;+       *;
875;+};
876;+NSS_3.12 { 	# NSS 3.12 release
877;+    global:
878CERT_CheckNameSpace;
879CERT_EncodeCertPoliciesExtension;
880CERT_EncodeInfoAccessExtension;
881CERT_EncodeInhibitAnyExtension;
882CERT_EncodeNoticeReference;
883CERT_EncodePolicyConstraintsExtension;
884CERT_EncodePolicyMappingExtension;
885CERT_EncodeSubjectKeyID;
886CERT_EncodeUserNotice;
887CERT_FindCRLEntryReasonExten;
888CERT_FindCRLNumberExten;
889CERT_FindNameConstraintsExten;
890CERT_GetClassicOCSPDisabledPolicy;
891CERT_GetClassicOCSPEnabledHardFailurePolicy;
892CERT_GetClassicOCSPEnabledSoftFailurePolicy;
893CERT_GetPKIXVerifyNistRevocationPolicy;
894CERT_GetUsePKIXForValidation;
895CERT_GetValidDNSPatternsFromCert;
896CERT_NewTempCertificate;
897CERT_SetOCSPTimeout;
898CERT_SetUsePKIXForValidation;
899CERT_PKIXVerifyCert;
900HASH_GetType;
901NSS_InitWithMerge;
902PK11_CreateMergeLog;
903PK11_CreateGenericObject;
904PK11_CreatePBEV2AlgorithmID;
905PK11_DestroyMergeLog;
906PK11_GenerateKeyPairWithOpFlags;
907PK11_GetAllSlotsForCert;
908PK11_GetPBECryptoMechanism;
909PK11_IsRemovable;
910PK11_MergeTokens;
911PK11_WriteRawAttribute;
912SECKEY_ECParamsToBasePointOrderLen;
913SECKEY_ECParamsToKeySize;
914SECMOD_DeleteModuleEx;
915SEC_GetRegisteredHttpClient;
916SEC_PKCS5IsAlgorithmPBEAlgTag;
917VFY_CreateContextDirect;
918VFY_CreateContextWithAlgorithmID;
919VFY_VerifyDataDirect;
920VFY_VerifyDataWithAlgorithmID;
921VFY_VerifyDigestDirect;
922VFY_VerifyDigestWithAlgorithmID;
923;+    local:
924;+       *;
925;+};
926;+NSS_3.12.1 { 	# NSS 3.12.1 release
927;+    global:
928CERT_NameToAsciiInvertible;
929PK11_FindCertFromDERCertItem;
930;+    local:
931;+       *;
932;+};
933;+NSS_3.12.3 { 	# NSS 3.12.3 release
934;+    global:
935CERT_CompareCerts;
936CERT_RegisterAlternateOCSPAIAInfoCallBack;
937PK11_GetSymKeyHandle;
938;+    local:
939;+       *;
940;+};
941;+NSS_3.12.4 { 	# NSS 3.12.4 release
942;+    global:
943PK11_IsInternalKeySlot;
944SECMOD_OpenNewSlot;
945;+    local:
946;+       *;
947;+};
948;+NSS_3.12.5 { 	# NSS 3.12.5 release
949;+    global:
950CERT_AddCertToListSorted;
951NSS_InitContext;
952NSS_ShutdownContext;
953SECMOD_GetDefaultModDBFlag;
954SECMOD_GetSkipFirstFlag;
955;+    local:
956;+       *;
957;+};
958;+NSS_3.12.6 { 	# NSS 3.12.6 release
959;+    global:
960CERT_CacheOCSPResponseFromSideChannel;
961CERT_DistNamesFromCertList;
962CERT_DupDistNames;
963;+    local:
964;+       *;
965;+};
966;+NSS_3.12.7 { 	# NSS 3.12.7 release
967;+    global:
968CERT_GetConstrainedCertificateNames;
969;+    local:
970;+       *;
971;+};
972;+NSS_3.12.9 {  # NSS 3.12.9 release
973;+    global:
974CERT_FindCertByNicknameOrEmailAddrForUsage;
975PK11_DeriveWithTemplate;
976PK11_FindCertsFromEmailAddress;
977PK11_KeyGenWithTemplate;
978SECMOD_RestartModules;
979;+    local:
980;+       *;
981;+};
982;+NSS_3.12.10 {  # NSS 3.12.10 release
983;+    global:
984CERT_AllocCERTRevocationFlags;
985CERT_DestroyCERTRevocationFlags;
986;+    local:
987;+       *;
988;+};
989;+NSS_3.13 { 	# NSS 3.13 release
990;+    global:
991;;SECKEY_RSAPSSParamsTemplate DATA ;
992NSS_Get_SECKEY_RSAPSSParamsTemplate;
993NSS_GetVersion;
994;+    local:
995;+       *;
996;+};
997;+NSS_3.13.2 { 	# NSS 3.13.2 release
998;+    global:
999PK11_ImportEncryptedPrivateKeyInfoAndReturnKey;
1000;+    local:
1001;+       *;
1002;+};
1003;+NSS_3.14 { 	# NSS 3.14 release
1004;+    global:
1005CERT_CheckOCSPStatus;
1006CERT_DecodeOCSPRequest;
1007CERT_GetEncodedOCSPResponse;
1008PK11_GetBestSlotWithAttributes;
1009PK11_GetBestSlotMultipleWithAttributes;
1010PK11_PQG_ParamGenV2;
1011;+    local:
1012;+       *;
1013;+};
1014;+NSS_3.14.1 {    # NSS 3.14.1 release
1015;+    global:
1016CERT_CreateEncodedOCSPErrorResponse;
1017CERT_CreateEncodedOCSPSuccessResponse;
1018CERT_CreateOCSPSingleResponseGood;
1019CERT_CreateOCSPSingleResponseUnknown;
1020CERT_CreateOCSPSingleResponseRevoked;
1021;+    local:
1022;+       *;
1023;+};
1024;+NSS_3.14.3 { 	# NSS 3.14.3 release
1025;+    global:
1026PK11_SignWithSymKey;
1027;+    local:
1028;+       *;
1029;+};
1030;+NSS_3.15 { 	# NSS 3.15 release
1031;+    global:
1032CERT_EncodeNameConstraintsExtension;
1033PK11_Decrypt;
1034PK11_Encrypt;
1035CERT_PostOCSPRequest;
1036CERT_AddCertToListHead;
1037;+    local:
1038;+       *;
1039;+};
1040;+NSS_3.15.4 { 	# NSS 3.15.4 release
1041;+    global:
1042CERT_ForcePostMethodForOCSP;
1043CERT_GetSubjectNameDigest;
1044CERT_GetSubjectPublicKeyDigest;
1045;+    local:
1046;+       *;
1047;+};
1048;+NSS_3.16.1 { 	# NSS 3.16.1 release
1049;+    global:
1050PK11_ExportDERPrivateKeyInfo;
1051PK11_ExportPrivKeyInfo;
1052SECMOD_InternaltoPubMechFlags;
1053;+    local:
1054;+       *;
1055;+};
1056;+NSS_3.16.2 { 	# NSS 3.16.2 release
1057;+    global:
1058CERT_AddExtensionByOID;
1059CERT_GetGeneralNameTypeFromString;
1060PK11_PubEncrypt;
1061PK11_PrivDecrypt;
1062;+    local:
1063;+       *;
1064;+};
1065;+NSS_3.18 { 	# NSS 3.18 release
1066;+    global:
1067__PK11_SetCertificateNickname;
1068SEC_CheckCrlTimes;
1069SEC_GetCrlTimes;
1070;+    local:
1071;+       *;
1072;+};
1073;+NSS_3.19 { 	# NSS 3.19 release
1074;+    global:
1075CERT_GetImposedNameConstraints;
1076;+    local:
1077;+       *;
1078;+};
1079;+NSS_3.19.1 { 	# NSS 3.19.1 release
1080;+    global:
1081SECKEY_BigIntegerBitLength;
1082;+    local:
1083;+       *;
1084;+};
1085;+NSS_3.21 { 	# NSS 3.21 release
1086;+    global:
1087NSS_OptionGet;
1088NSS_OptionSet;
1089SECMOD_CreateModuleEx;
1090;+    local:
1091;+       *;
1092;+};
1093;+NSS_3.22 { 	# NSS 3.22 release
1094;+    global:
1095PK11_SignWithMechanism;
1096PK11_VerifyWithMechanism;
1097;+    local:
1098;+       *;
1099;+};
1100;+NSS_3.30 { 	# NSS 3.30 release
1101;+    global:
1102CERT_CompareAVA;
1103PK11_HasAttributeSet;
1104;+    local:
1105;+       *;
1106;+};
1107;+NSS_3.31 { 	# NSS 3.31 release
1108;+    global:
1109CERT_GetCertIsPerm;
1110CERT_GetCertIsTemp;
1111PK11_FindCertFromURI;
1112PK11_FindCertsFromURI;
1113PK11_GetModuleURI;
1114PK11_GetTokenURI;
1115;+    local:
1116;+       *;
1117;+};
1118;+NSS_3.33 { 	# NSS 3.33 release
1119;+    global:
1120CERT_FindCertByIssuerAndSNCX;
1121CERT_FindCertByNicknameOrEmailAddrCX;
1122CERT_FindCertByNicknameOrEmailAddrForUsageCX;
1123;+    local:
1124;+       *;
1125;+};
1126;+NSS_3.34 { 	# NSS 3.34 release
1127;+    global:
1128PK11_CreateManagedGenericObject;
1129SGN_NewContextWithAlgorithmID;
1130SEC_SignDataWithAlgorithmID;
1131SEC_DerSignDataWithAlgorithmID;
1132SEC_CreateSignatureAlgorithmParameters;
1133;+    local:
1134;+       *;
1135;+};
1136;+NSS_3.39 { 	# NSS 3.39 release
1137;+    global:
1138CERT_GetCertKeyType;
1139;+    local:
1140;+       *;
1141;+};
1142;+NSS_3.43 { 	# NSS 3.43 release
1143;+    global:
1144HASH_GetHashOidTagByHashType;
1145;+    local:
1146;+       *;
1147;+};
1148;+NSS_3.44 { 	# NSS 3.44 release
1149;+    global:
1150CERT_GetCertificateDer;
1151;+    local:
1152;+       *;
1153;+};
1154;+NSS_3.45 { 	# NSS 3.45 release
1155;+    global:
1156PK11_FindRawCertsWithSubject;
1157;+    local:
1158;+       *;
1159;+};
1160;+NSS_3.47 { 	# NSS 3.47 release
1161;+    global:
1162PK11_GetCertsMatchingPrivateKey;
1163;+    local:
1164;+       *;
1165;+};
1166;+NSS_3.52 { 	# NSS 3.52 release
1167;+    global:
1168_PK11_ContextGetAEADSimulation;
1169_PK11_ContextSetAEADSimulation;
1170PK11_AEADOp;
1171PK11_AEADRawOp;
1172PK11_GetObjectHandle;
1173PK11_ReadRawAttributes;
1174PK11_SymKeysToSameSlot;
1175;+    local:
1176;+       *;
1177;+};
1178;+NSS_3.53 { 	# NSS 3.53 release
1179;+    global:
1180SECMOD_GetSystemFIPSEnabled;
1181;+    local:
1182;+       *;
1183;+};
1184;+NSS_3.55 { 	# NSS 3.55 release
1185;+    global:
1186PK11_FindEncodedCertInSlot;
1187;+    local:
1188;+       *;
1189;+};
1190;+NSS_3.58 { 	# NSS 3.58 release
1191;+    global:
1192PK11_HPKE_DestroyContext;
1193PK11_HPKE_Deserialize;
1194PK11_HPKE_ExportSecret;
1195PK11_HPKE_GetEncapPubKey;
1196PK11_HPKE_NewContext;
1197PK11_HPKE_Open;
1198PK11_HPKE_Seal;
1199PK11_HPKE_Serialize;
1200PK11_HPKE_SetupS;
1201PK11_HPKE_SetupR;
1202PK11_HPKE_ValidateParameters;
1203PK11_ImportDataKey;
1204;+    local:
1205;+       *;
1206;+};
1207;+NSS_3.59 { 	# NSS 3.59 release
1208;+    global:
1209CERT_AddCertToListHeadWithData;
1210CERT_AddCertToListTailWithData;
1211PK11_PubWrapSymKeyWithMechanism;
1212PK11_PubUnwrapSymKeyWithMechanism;
1213;+    local:
1214;+       *;
1215;+};
1216;+NSS_3.62 { 	# NSS 3.62 release
1217;+    global:
1218PK11_HPKE_ExportContext;
1219PK11_HPKE_ImportContext;
1220;+    local:
1221;+       *;
1222;+};
1223;+NSS_3.65 { 	# NSS 3.65 release
1224;+    global:
1225HASH_GetHMACOidTagByHashOidTag;
1226PK11_CreateContextByPubKey;
1227PK11_CreateContextByPrivKey;
1228PK11_ExportEncryptedPrivKeyInfoV2;
1229PK11_ExportEncryptedPrivateKeyInfoV2;
1230;+    local:
1231;+       *;
1232;+};
1233;+NSS_3.66 { 	# NSS 3.66 release
1234;+    global:
1235PK11_ContextGetFIPSStatus;
1236PK11_ObjectGetFIPSStatus;
1237PK11_SlotGetLastFIPSStatus;
1238;+    local:
1239;+       *;
1240;+};
1241