| Index: mozilla/security/nss/lib/nss/nss.h
|
| ===================================================================
|
| --- mozilla/security/nss/lib/nss/nss.h (revision 191424)
|
| +++ mozilla/security/nss/lib/nss/nss.h (working copy)
|
| @@ -1,320 +0,0 @@
|
| -/*
|
| - * NSS utility functions
|
| - *
|
| - * This Source Code Form is subject to the terms of the Mozilla Public
|
| - * License, v. 2.0. If a copy of the MPL was not distributed with this
|
| - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
| -/* $Id: nss.h,v 1.103 2013/01/31 22:59:44 kaie%kuix.de Exp $ */
|
| -
|
| -#ifndef __nss_h_
|
| -#define __nss_h_
|
| -
|
| -/* The private macro _NSS_ECC_STRING is for NSS internal use only. */
|
| -#ifdef NSS_ENABLE_ECC
|
| -#ifdef NSS_ECC_MORE_THAN_SUITE_B
|
| -#define _NSS_ECC_STRING " Extended ECC"
|
| -#else
|
| -#define _NSS_ECC_STRING " Basic ECC"
|
| -#endif
|
| -#else
|
| -#define _NSS_ECC_STRING ""
|
| -#endif
|
| -
|
| -/* The private macro _NSS_CUSTOMIZED is for NSS internal use only. */
|
| -#if defined(NSS_ALLOW_UNSUPPORTED_CRITICAL)
|
| -#define _NSS_CUSTOMIZED " (Customized build)"
|
| -#else
|
| -#define _NSS_CUSTOMIZED
|
| -#endif
|
| -
|
| -/*
|
| - * NSS's major version, minor version, patch level, build number, and whether
|
| - * this is a beta release.
|
| - *
|
| - * The format of the version string should be
|
| - * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
|
| - */
|
| -#define NSS_VERSION "3.14.3.0" _NSS_ECC_STRING _NSS_CUSTOMIZED " Beta"
|
| -#define NSS_VMAJOR 3
|
| -#define NSS_VMINOR 14
|
| -#define NSS_VPATCH 3
|
| -#define NSS_VBUILD 0
|
| -#define NSS_BETA PR_TRUE
|
| -
|
| -#ifndef RC_INVOKED
|
| -
|
| -#include "seccomon.h"
|
| -
|
| -typedef struct NSSInitParametersStr NSSInitParameters;
|
| -
|
| -/*
|
| - * parameters used to initialize softoken. Mostly strings used to
|
| - * internationalize softoken. Memory for the strings are owned by the caller,
|
| - * who is free to free them once NSS_ContextInit returns. If the string
|
| - * parameter is NULL (as opposed to empty, zero length), then the softoken
|
| - * default is used. These are equivalent to the parameters for
|
| - * PK11_ConfigurePKCS11().
|
| - *
|
| - * field names match their equivalent parameter names for softoken strings
|
| - * documented at https://developer.mozilla.org/en/PKCS11_Module_Specs.
|
| - *
|
| - * minPWLen
|
| - * Minimum password length in bytes.
|
| - * manufacturerID
|
| - * Override the default manufactureID value for the module returned in
|
| - * the CK_INFO, CK_SLOT_INFO, and CK_TOKEN_INFO structures with an
|
| - * internationalize string (UTF8). This value will be truncated at 32
|
| - * bytes (not including the trailing NULL, partial UTF8 characters will be
|
| - * dropped).
|
| - * libraryDescription
|
| - * Override the default libraryDescription value for the module returned in
|
| - * the CK_INFO structure with an internationalize string (UTF8). This value
|
| - * will be truncated at 32 bytes(not including the trailing NULL, partial
|
| - * UTF8 characters will be dropped).
|
| - * cryptoTokenDescription
|
| - * Override the default label value for the internal crypto token returned
|
| - * in the CK_TOKEN_INFO structure with an internationalize string (UTF8).
|
| - * This value will be truncated at 32 bytes (not including the trailing
|
| - * NULL, partial UTF8 characters will be dropped).
|
| - * dbTokenDescription
|
| - * Override the default label value for the internal DB token returned in
|
| - * the CK_TOKEN_INFO structure with an internationalize string (UTF8). This
|
| - * value will be truncated at 32 bytes (not including the trailing NULL,
|
| - * partial UTF8 characters will be dropped).
|
| - * FIPSTokenDescription
|
| - * Override the default label value for the internal FIPS token returned in
|
| - * the CK_TOKEN_INFO structure with an internationalize string (UTF8). This
|
| - * value will be truncated at 32 bytes (not including the trailing NULL,
|
| - * partial UTF8 characters will be dropped).
|
| - * cryptoSlotDescription
|
| - * Override the default slotDescription value for the internal crypto token
|
| - * returned in the CK_SLOT_INFO structure with an internationalize string
|
| - * (UTF8). This value will be truncated at 64 bytes (not including the
|
| - * trailing NULL, partial UTF8 characters will be dropped).
|
| - * dbSlotDescription
|
| - * Override the default slotDescription value for the internal DB token
|
| - * returned in the CK_SLOT_INFO structure with an internationalize string
|
| - * (UTF8). This value will be truncated at 64 bytes (not including the
|
| - * trailing NULL, partial UTF8 characters will be dropped).
|
| - * FIPSSlotDescription
|
| - * Override the default slotDecription value for the internal FIPS token
|
| - * returned in the CK_SLOT_INFO structure with an internationalize string
|
| - * (UTF8). This value will be truncated at 64 bytes (not including the
|
| - * trailing NULL, partial UTF8 characters will be dropped).
|
| - *
|
| - */
|
| -struct NSSInitParametersStr {
|
| - unsigned int length; /* allow this structure to grow in the future,
|
| - * must be set */
|
| - PRBool passwordRequired;
|
| - int minPWLen;
|
| - char * manufactureID; /* variable names for strings match the */
|
| - char * libraryDescription; /* parameter name in softoken */
|
| - char * cryptoTokenDescription;
|
| - char * dbTokenDescription;
|
| - char * FIPSTokenDescription;
|
| - char * cryptoSlotDescription;
|
| - char * dbSlotDescription;
|
| - char * FIPSSlotDescription;
|
| -};
|
| -
|
| -
|
| -SEC_BEGIN_PROTOS
|
| -
|
| -/*
|
| - * Return a boolean that indicates whether the underlying library
|
| - * will perform as the caller expects.
|
| - *
|
| - * The only argument is a string, which should be the version
|
| - * identifier of the NSS library. That string will be compared
|
| - * against a string that represents the actual build version of
|
| - * the NSS library.
|
| - */
|
| -extern PRBool NSS_VersionCheck(const char *importedVersion);
|
| -
|
| -/*
|
| - * Returns a const string of the NSS library version.
|
| - */
|
| -extern const char *NSS_GetVersion(void);
|
| -
|
| -/*
|
| - * Open the Cert, Key, and Security Module databases, read only.
|
| - * Initialize the Random Number Generator.
|
| - * Does not initialize the cipher policies or enables.
|
| - * Default policy settings disallow all ciphers.
|
| - */
|
| -extern SECStatus NSS_Init(const char *configdir);
|
| -
|
| -/*
|
| - * Returns whether NSS has already been initialized or not.
|
| - */
|
| -extern PRBool NSS_IsInitialized(void);
|
| -
|
| -/*
|
| - * Open the Cert, Key, and Security Module databases, read/write.
|
| - * Initialize the Random Number Generator.
|
| - * Does not initialize the cipher policies or enables.
|
| - * Default policy settings disallow all ciphers.
|
| - */
|
| -extern SECStatus NSS_InitReadWrite(const char *configdir);
|
| -
|
| -/*
|
| - * Open the Cert, Key, and Security Module databases, read/write.
|
| - * Initialize the Random Number Generator.
|
| - * Does not initialize the cipher policies or enables.
|
| - * Default policy settings disallow all ciphers.
|
| - *
|
| - * This allows using application defined prefixes for the cert and key db's
|
| - * and an alternate name for the secmod database. NOTE: In future releases,
|
| - * the database prefixes my not necessarily map to database names.
|
| - *
|
| - * configdir - base directory where all the cert, key, and module datbases live.
|
| - * certPrefix - prefix added to the beginning of the cert database example: "
|
| - * "https-server1-"
|
| - * keyPrefix - prefix added to the beginning of the key database example: "
|
| - * "https-server1-"
|
| - * secmodName - name of the security module database (usually "secmod.db").
|
| - * flags - change the open options of NSS_Initialize as follows:
|
| - * NSS_INIT_READONLY - Open the databases read only.
|
| - * NSS_INIT_NOCERTDB - Don't open the cert DB and key DB's, just
|
| - * initialize the volatile certdb.
|
| - * NSS_INIT_NOMODDB - Don't open the security module DB, just
|
| - * initialize the PKCS #11 module.
|
| - * NSS_INIT_FORCEOPEN - Continue to force initializations even if the
|
| - * databases cannot be opened.
|
| - * NSS_INIT_NOROOTINIT - Don't try to look for the root certs module
|
| - * automatically.
|
| - * NSS_INIT_OPTIMIZESPACE - Use smaller tables and caches.
|
| - * NSS_INIT_PK11THREADSAFE - only load PKCS#11 modules that are
|
| - * thread-safe, ie. that support locking - either OS
|
| - * locking or NSS-provided locks . If a PKCS#11
|
| - * module isn't thread-safe, don't serialize its
|
| - * calls; just don't load it instead. This is necessary
|
| - * if another piece of code is using the same PKCS#11
|
| - * modules that NSS is accessing without going through
|
| - * NSS, for example the Java SunPKCS11 provider.
|
| - * NSS_INIT_PK11RELOAD - ignore the CKR_CRYPTOKI_ALREADY_INITIALIZED
|
| - * error when loading PKCS#11 modules. This is necessary
|
| - * if another piece of code is using the same PKCS#11
|
| - * modules that NSS is accessing without going through
|
| - * NSS, for example Java SunPKCS11 provider.
|
| - * NSS_INIT_NOPK11FINALIZE - never call C_Finalize on any
|
| - * PKCS#11 module. This may be necessary in order to
|
| - * ensure continuous operation and proper shutdown
|
| - * sequence if another piece of code is using the same
|
| - * PKCS#11 modules that NSS is accessing without going
|
| - * through NSS, for example Java SunPKCS11 provider.
|
| - * The following limitation applies when this is set :
|
| - * SECMOD_WaitForAnyTokenEvent will not use
|
| - * C_WaitForSlotEvent, in order to prevent the need for
|
| - * C_Finalize. This call will be emulated instead.
|
| - * NSS_INIT_RESERVED - Currently has no effect, but may be used in the
|
| - * future to trigger better cooperation between PKCS#11
|
| - * modules used by both NSS and the Java SunPKCS11
|
| - * provider. This should occur after a new flag is defined
|
| - * for C_Initialize by the PKCS#11 working group.
|
| - * NSS_INIT_COOPERATE - Sets 4 recommended options for applications that
|
| - * use both NSS and the Java SunPKCS11 provider.
|
| - *
|
| - * Also NOTE: This is not the recommended method for initializing NSS.
|
| - * The preferred method is NSS_init().
|
| - */
|
| -#define NSS_INIT_READONLY 0x1
|
| -#define NSS_INIT_NOCERTDB 0x2
|
| -#define NSS_INIT_NOMODDB 0x4
|
| -#define NSS_INIT_FORCEOPEN 0x8
|
| -#define NSS_INIT_NOROOTINIT 0x10
|
| -#define NSS_INIT_OPTIMIZESPACE 0x20
|
| -#define NSS_INIT_PK11THREADSAFE 0x40
|
| -#define NSS_INIT_PK11RELOAD 0x80
|
| -#define NSS_INIT_NOPK11FINALIZE 0x100
|
| -#define NSS_INIT_RESERVED 0x200
|
| -
|
| -#define NSS_INIT_COOPERATE NSS_INIT_PK11THREADSAFE | \
|
| - NSS_INIT_PK11RELOAD | \
|
| - NSS_INIT_NOPK11FINALIZE | \
|
| - NSS_INIT_RESERVED
|
| -
|
| -#define SECMOD_DB "secmod.db"
|
| -
|
| -typedef struct NSSInitContextStr NSSInitContext;
|
| -
|
| -
|
| -extern SECStatus NSS_Initialize(const char *configdir,
|
| - const char *certPrefix, const char *keyPrefix,
|
| - const char *secmodName, PRUint32 flags);
|
| -
|
| -extern NSSInitContext *NSS_InitContext(const char *configdir,
|
| - const char *certPrefix, const char *keyPrefix,
|
| - const char *secmodName, NSSInitParameters *initParams, PRUint32 flags);
|
| -
|
| -extern SECStatus NSS_ShutdownContext(NSSInitContext *);
|
| -
|
| -/*
|
| - * same as NSS_Init, but checks to see if we need to merge an
|
| - * old database in.
|
| - * updatedir is the directory where the old database lives.
|
| - * updCertPrefix is the certPrefix for the old database.
|
| - * updKeyPrefix is the keyPrefix for the old database.
|
| - * updateID is a unique identifier chosen by the application for
|
| - * the specific database.
|
| - * updatName is the name the user will be prompted for when
|
| - * asking to authenticate to the old database */
|
| -extern SECStatus NSS_InitWithMerge(const char *configdir,
|
| - const char *certPrefix, const char *keyPrefix, const char *secmodName,
|
| - const char *updatedir, const char *updCertPrefix,
|
| - const char *updKeyPrefix, const char *updateID,
|
| - const char *updateName, PRUint32 flags);
|
| -/*
|
| - * initialize NSS without a creating cert db's, key db's, or secmod db's.
|
| - */
|
| -SECStatus NSS_NoDB_Init(const char *configdir);
|
| -
|
| -/*
|
| - * Allow applications and libraries to register with NSS so that they are called
|
| - * when NSS shuts down.
|
| - *
|
| - * void *appData application specific data passed in by the application at
|
| - * NSS_RegisterShutdown() time.
|
| - * void *nssData is NULL in this release, but is reserved for future versions of
|
| - * NSS to pass some future status information * back to the shutdown function.
|
| - *
|
| - * If the shutdown function returns SECFailure,
|
| - * Shutdown will still complete, but NSS_Shutdown() will return SECFailure.
|
| - */
|
| -typedef SECStatus (*NSS_ShutdownFunc)(void *appData, void *nssData);
|
| -
|
| -/*
|
| - * Register a shutdown function.
|
| - */
|
| -SECStatus NSS_RegisterShutdown(NSS_ShutdownFunc sFunc, void *appData);
|
| -
|
| -/*
|
| - * Remove an existing shutdown function (you may do this if your library is
|
| - * complete and going away, but NSS is still running).
|
| - */
|
| -SECStatus NSS_UnregisterShutdown(NSS_ShutdownFunc sFunc, void *appData);
|
| -
|
| -/*
|
| - * Close the Cert, Key databases.
|
| - */
|
| -extern SECStatus NSS_Shutdown(void);
|
| -
|
| -/*
|
| - * set the PKCS #11 strings for the internal token.
|
| - */
|
| -void PK11_ConfigurePKCS11(const char *man, const char *libdesc,
|
| - const char *tokdesc, const char *ptokdesc, const char *slotdesc,
|
| - const char *pslotdesc, const char *fslotdesc, const char *fpslotdesc,
|
| - int minPwd, int pwRequired);
|
| -
|
| -/*
|
| - * Dump the contents of the certificate cache and the temporary cert store.
|
| - * Use to detect leaked references of certs at shutdown time.
|
| - */
|
| -void nss_DumpCertificateCacheInfo(void);
|
| -
|
| -SEC_END_PROTOS
|
| -
|
| -#endif /* RC_INVOKED */
|
| -#endif /* __nss_h_ */
|
|
|