diff options
author | cvs2hg <devnull@localhost> | 2001-03-03 00:36:18 +0000 |
---|---|---|
committer | cvs2hg <devnull@localhost> | 2001-03-03 00:36:18 +0000 |
commit | 7e6b5c4e6ab84213ad938d33cf0d7a3ad013cc08 (patch) | |
tree | 114165f8ef88bd35c1d2f420cb6f8cac7e480d6d /security/nss/lib/ckfw | |
parent | 8cb68989c79204320b0c70d3ba1b9d9d7f0a5799 (diff) | |
download | nss-hg-7e6b5c4e6ab84213ad938d33cf0d7a3ad013cc08.tar.gz |
fixup commit for tag 'JSS_3_0_RTM'JSS_3_0_RTM
Diffstat (limited to 'security/nss/lib/ckfw')
63 files changed, 0 insertions, 38955 deletions
diff --git a/security/nss/lib/ckfw/.cvsignore b/security/nss/lib/ckfw/.cvsignore deleted file mode 100644 index 988228d5a..000000000 --- a/security/nss/lib/ckfw/.cvsignore +++ /dev/null @@ -1,4 +0,0 @@ -nssckepv.h -nssckg.h -nssckft.h -nssck.api diff --git a/security/nss/lib/ckfw/Makefile b/security/nss/lib/ckfw/Makefile deleted file mode 100644 index 34b225db3..000000000 --- a/security/nss/lib/ckfw/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -MAKEFILE_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -include manifest.mn -include $(CORE_DEPTH)/coreconf/config.mk -include config.mk -include $(CORE_DEPTH)/coreconf/rules.mk - -# This'll need some help from a build person. - -nssckepv.h: ck.api ckapi.perl -nssckft.h: ck.api ckapi.perl -nssckg.h: ck.api ckapi.perl -nssck.api: ck.api ckapi.perl - perl ckapi.perl ck.api - -export:: private_export - diff --git a/security/nss/lib/ckfw/builtins/.cvsignore b/security/nss/lib/ckfw/builtins/.cvsignore deleted file mode 100644 index ccbbcce86..000000000 --- a/security/nss/lib/ckfw/builtins/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -certdata.c diff --git a/security/nss/lib/ckfw/builtins/Makefile b/security/nss/lib/ckfw/builtins/Makefile deleted file mode 100644 index 3ab0e9dcf..000000000 --- a/security/nss/lib/ckfw/builtins/Makefile +++ /dev/null @@ -1,96 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -MAKEFILE_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -include manifest.mn -include $(CORE_DEPTH)/coreconf/config.mk -include config.mk -# can't do this in manifest.mn because OS_ARCH isn't defined there. -ifeq ($(OS_ARCH), WINNT) - -EXTRA_LIBS = \ - $(DIST)/lib/nssckfw.lib \ - $(DIST)/lib/nssb.lib \ - $(DIST)/lib/$(NSPR31_LIB_PREFIX)plc4_s.lib \ - $(DIST)/lib/$(NSPR31_LIB_PREFIX)plds4_s.lib \ - wsock32.lib \ - winmm.lib \ - $(NULL) - -else - -ifeq ($(OS_ARCH), OS2) -PLC_STATIC_LIB = $(DIST)/lib/plc4.$(LIB_SUFFIX) -PLDS_STATIC_LIB = $(DIST)/lib/plds4.$(LIB_SUFFIX) -else -PLC_STATIC_LIB = $(DIST)/lib/libplc4.$(LIB_SUFFIX) -PLDS_STATIC_LIB = $(DIST)/lib/libplds4.$(LIB_SUFFIX) -endif - -EXTRA_LIBS += \ - $(DIST)/lib/libnssckfw.$(LIB_SUFFIX) \ - $(DIST)/lib/libnssb.$(LIB_SUFFIX) \ - $(PLC_STATIC_LIB) \ - $(PLDS_STATIC_LIB) \ - $(NULL) - -endif - - - -include $(CORE_DEPTH)/coreconf/rules.mk - -certdata.c: certdata.txt certdata.perl - perl certdata.perl < certdata.txt - -# This'll need some help from a build person. - - -ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1) -DSO_LDOPTS = -bM:SRE -bh:4 -bnoentry -EXTRA_DSO_LDOPTS = -lc -MKSHLIB = xlC $(DSO_LDOPTS) - -$(SHARED_LIBRARY): $(OBJS) - @$(MAKE_OBJDIR) - rm -f $@ - $(MKSHLIB) -o $@ $(OBJS) $(EXTRA_LIBS) $(EXTRA_DSO_LDOPTS) - chmod +x $@ - -endif - -ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.2) -LD += -G -endif - - diff --git a/security/nss/lib/ckfw/builtins/anchor.c b/security/nss/lib/ckfw/builtins/anchor.c deleted file mode 100644 index 12c77a75c..000000000 --- a/security/nss/lib/ckfw/builtins/anchor.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * builtins/anchor.c - * - * This file "anchors" the actual cryptoki entry points in this module's - * shared library, which is required for dynamic loading. See the - * comments in nssck.api for more information. - */ - -#include "builtins.h" - -#define MODULE_NAME builtins -#define INSTANCE_NAME (NSSCKMDInstance *)&nss_builtins_mdInstance -#include "nssck.api" diff --git a/security/nss/lib/ckfw/builtins/builtins.h b/security/nss/lib/ckfw/builtins/builtins.h deleted file mode 100644 index 287db360d..000000000 --- a/security/nss/lib/ckfw/builtins/builtins.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char BUILTINS_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "nssckmdt.h" -#include "nssckfw.h" - -/* - * I'm including this for access to the arena functions. - * Looks like we should publish that API. - */ -#ifndef BASE_H -#include "base.h" -#endif /* BASE_H */ - -/* - * This is where the Netscape extensions live, at least for now. - */ -#ifndef CKT_H -#include "ckt.h" -#endif /* CKT_H */ - -struct builtinsInternalObjectStr { - CK_ULONG n; - const CK_ATTRIBUTE_TYPE *types; - const NSSItem *items; -}; -typedef struct builtinsInternalObjectStr builtinsInternalObject; - -NSS_EXTERN_DATA const builtinsInternalObject nss_builtins_data[]; -NSS_EXTERN_DATA const PRUint32 nss_builtins_nObjects; - -NSS_EXTERN_DATA const CK_VERSION nss_builtins_CryptokiVersion; -NSS_EXTERN_DATA const NSSUTF8 * nss_builtins_ManufacturerID; -NSS_EXTERN_DATA const NSSUTF8 * nss_builtins_LibraryDescription; -NSS_EXTERN_DATA const CK_VERSION nss_builtins_LibraryVersion; -NSS_EXTERN_DATA const NSSUTF8 * nss_builtins_SlotDescription; -NSS_EXTERN_DATA const CK_VERSION nss_builtins_HardwareVersion; -NSS_EXTERN_DATA const CK_VERSION nss_builtins_FirmwareVersion; -NSS_EXTERN_DATA const NSSUTF8 * nss_builtins_TokenLabel; -NSS_EXTERN_DATA const NSSUTF8 * nss_builtins_TokenModel; -NSS_EXTERN_DATA const NSSUTF8 * nss_builtins_TokenSerialNumber; - -NSS_EXTERN_DATA const NSSCKMDInstance nss_builtins_mdInstance; -NSS_EXTERN_DATA const NSSCKMDSlot nss_builtins_mdSlot; -NSS_EXTERN_DATA const NSSCKMDToken nss_builtins_mdToken; - -NSS_EXTERN NSSCKMDSession * -nss_builtins_CreateSession -( - NSSCKFWSession *fwSession, - CK_RV *pError -); - -NSS_EXTERN NSSCKMDFindObjects * -nss_builtins_FindObjectsInit -( - NSSCKFWSession *fwSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -); - -NSS_EXTERN NSSCKMDObject * -nss_builtins_CreateMDObject -( - NSSArena *arena, - builtinsInternalObject *io, - CK_RV *pError -); diff --git a/security/nss/lib/ckfw/builtins/certdata.c b/security/nss/lib/ckfw/builtins/certdata.c deleted file mode 100644 index d5fc225a4..000000000 --- a/security/nss/lib/ckfw/builtins/certdata.c +++ /dev/null @@ -1,4696 +0,0 @@ -/* THIS IS A GENERATED FILE */ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$""; @(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#ifndef BUILTINS_H -#include "builtins.h" -#endif /* BUILTINS_H */ - -static const CK_OBJECT_CLASS cko_netscape_trust = CKO_NETSCAPE_TRUST; -static const CK_TRUST ckt_netscape_valid = CKT_NETSCAPE_VALID; -static const CK_OBJECT_CLASS cko_netscape_builtin_root_list = CKO_NETSCAPE_BUILTIN_ROOT_LIST; -static const CK_TRUST ckt_netscape_trusted_delegator = CKT_NETSCAPE_TRUSTED_DELEGATOR; -static const CK_CERTIFICATE_TYPE ckc_x_509 = CKC_X_509; -static const CK_OBJECT_CLASS cko_data = CKO_DATA; -static const CK_BBOOL ck_false = CK_FALSE; -static const CK_BBOOL ck_true = CK_TRUE; -static const CK_OBJECT_CLASS cko_certificate = CKO_CERTIFICATE; -#ifdef DEBUG -static const CK_ATTRIBUTE_TYPE nss_builtins_types_0 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_APPLICATION, CKA_VALUE -}; -#endif /* DEBUG */ -static const CK_ATTRIBUTE_TYPE nss_builtins_types_1 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_2 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_3 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_4 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_5 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_6 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_7 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_8 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_9 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_10 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_11 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_12 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_13 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_14 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_15 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_16 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_17 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_18 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_19 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_20 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_21 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_22 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_23 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_24 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_25 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_26 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_27 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_28 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_29 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_30 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_31 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_32 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_33 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_34 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_35 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_36 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_37 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_38 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_39 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_40 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_41 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_42 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_43 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_44 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_45 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_46 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_47 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_48 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_49 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_50 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_51 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_52 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_53 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_54 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_55 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_56 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_57 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_58 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_59 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_60 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_61 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_62 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_63 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_64 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_65 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_66 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_67 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_68 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_69 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_70 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_71 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_72 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_73 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_74 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_75 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_76 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_77 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_78 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERTIFICATE_TYPE, CKA_SUBJECT, CKA_ID, CKA_ISSUER, CKA_SERIAL_NUMBER, CKA_VALUE -}; -static const CK_ATTRIBUTE_TYPE nss_builtins_types_79 [] = { - CKA_CLASS, CKA_TOKEN, CKA_PRIVATE, CKA_MODIFIABLE, CKA_LABEL, CKA_CERT_SHA1_HASH, CKA_CERT_MD5_HASH, CKA_TRUST_SERVER_AUTH, CKA_TRUST_EMAIL_PROTECTION, CKA_TRUST_CODE_SIGNING -}; -#ifdef DEBUG -static const NSSItem nss_builtins_items_0 [] = { - { (void *)&cko_data, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"CVS ID", (PRUint32)7 }, - { (void *)"NSS", (PRUint32)4 }, - { (void *)"@(#) $RCSfile$ $Revision$ $Date$ $Name$""; @(#) $RCSfile$ $Revision$ $Date$ $Name$", (PRUint32)178 } -}; -#endif /* DEBUG */ -static const NSSItem nss_builtins_items_1 [] = { - { (void *)&cko_netscape_builtin_root_list, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Mozilla Builtin Roots", (PRUint32)22 } -}; -static const NSSItem nss_builtins_items_2 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign/RSA Secure Server CA", (PRUint32)30 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\040\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141" -"\164\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143" -"\056\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165" -"\162\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\040\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141" -"\164\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143" -"\056\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165" -"\162\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\002\255\146\176\116\105\376\136\127\157\074\230\031\136\335\300" -, (PRUint32)16 }, - { (void *)"\060\202\002\064\060\202\001\241\002\020\002\255\146\176\116\105" -"\376\136\127\157\074\230\031\136\335\300\060\015\006\011\052\206" -"\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011\006" -"\003\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004" -"\012\023\027\122\123\101\040\104\141\164\141\040\123\145\143\165" -"\162\151\164\171\054\040\111\156\143\056\061\056\060\054\006\003" -"\125\004\013\023\045\123\145\143\165\162\145\040\123\145\162\166" -"\145\162\040\103\145\162\164\151\146\151\143\141\164\151\157\156" -"\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\064" -"\061\061\060\071\060\060\060\060\060\060\132\027\015\061\060\060" -"\061\060\067\062\063\065\071\065\071\132\060\137\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\040\060\036\006\003\125" -"\004\012\023\027\122\123\101\040\104\141\164\141\040\123\145\143" -"\165\162\151\164\171\054\040\111\156\143\056\061\056\060\054\006" -"\003\125\004\013\023\045\123\145\143\165\162\145\040\123\145\162" -"\166\145\162\040\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\101\165\164\150\157\162\151\164\171\060\201\233\060\015" -"\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\211" -"\000\060\201\205\002\176\000\222\316\172\301\256\203\076\132\252" -"\211\203\127\254\045\001\166\014\255\256\216\054\067\316\353\065" -"\170\144\124\003\345\204\100\121\311\277\217\010\342\212\202\010" -"\322\026\206\067\125\351\261\041\002\255\166\150\201\232\005\242" -"\113\311\113\045\146\042\126\154\210\007\217\367\201\131\155\204" -"\007\145\160\023\161\166\076\233\167\114\343\120\211\126\230\110" -"\271\035\247\051\032\023\056\112\021\131\234\036\025\325\111\124" -"\054\163\072\151\202\261\227\071\234\155\160\147\110\345\335\055" -"\326\310\036\173\002\003\001\000\001\060\015\006\011\052\206\110" -"\206\367\015\001\001\002\005\000\003\176\000\145\335\176\341\262" -"\354\260\342\072\340\354\161\106\232\031\021\270\323\307\240\264" -"\003\100\046\002\076\011\234\341\022\263\321\132\366\067\245\267" -"\141\003\266\133\026\151\073\306\104\010\014\210\123\014\153\227" -"\111\307\076\065\334\154\271\273\252\337\134\273\072\057\223\140" -"\266\251\113\115\362\040\367\315\137\177\144\173\216\334\000\134" -"\327\372\167\312\071\026\131\157\016\352\323\265\203\177\115\115" -"\102\126\166\264\311\137\004\370\070\370\353\322\137\165\137\315" -"\173\374\345\216\200\174\374\120" -, (PRUint32)568 } -}; -static const NSSItem nss_builtins_items_3 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign/RSA Secure Server CA", (PRUint32)30 }, - { (void *)"\104\143\305\061\327\314\301\000\147\224\141\053\266\126\323\277" -"\202\127\204\157" -, (PRUint32)20 }, - { (void *)"\164\173\202\003\103\360\000\236\153\263\354\107\277\205\245\223" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_4 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"VeriSign Class 4 Primary CA", (PRUint32)28 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\064\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\064\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\002\246\000\000\001" -, (PRUint32)5 }, - { (void *)"\060\202\002\061\060\202\001\232\002\005\002\246\000\000\001\060" -"\015\006\011\052\206\110\206\367\015\001\001\002\005\000\060\137" -"\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060" -"\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023" -"\056\103\154\141\163\163\040\064\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060" -"\036\027\015\071\066\060\061\062\071\060\060\060\060\060\060\132" -"\027\015\071\071\061\062\063\061\062\063\065\071\065\071\132\060" -"\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027" -"\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147" -"\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013" -"\023\056\103\154\141\163\163\040\064\040\120\165\142\154\151\143" -"\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151" -"\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171" -"\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001\001" -"\005\000\003\201\215\000\060\201\211\002\201\201\000\320\262\165" -"\366\170\320\256\132\120\364\351\120\251\237\214\327\357\221\224" -"\160\350\322\044\220\166\211\205\326\337\254\346\001\027\062\200" -"\360\235\223\107\274\232\145\235\037\227\256\277\351\206\165\143" -"\040\211\275\200\130\235\004\014\235\250\301\044\351\013\345\061" -"\170\275\374\055\014\067\152\236\170\200\351\106\165\371\355\243" -"\373\023\173\310\301\114\322\243\357\365\074\260\142\217\112\135" -"\073\335\225\147\217\023\271\301\074\326\247\046\233\354\303\073" -"\172\331\115\274\155\233\350\025\001\343\360\107\251\002\003\001" -"\000\001\060\015\006\011\052\206\110\206\367\015\001\001\002\005" -"\000\003\201\201\000\123\335\323\360\234\044\176\100\252\342\374" -"\000\032\327\332\014\374\062\141\270\025\015\226\363\372\127\033" -"\177\063\174\257\351\230\232\141\310\172\263\267\377\261\334\231" -"\203\334\254\022\374\160\311\037\070\102\355\104\366\200\056\133" -"\153\063\151\254\234\323\134\347\137\132\030\307\261\055\171\004" -"\226\101\221\231\101\261\074\015\272\204\071\306\073\227\360\046" -"\311\216\356\275\314\102\225\377\036\307\002\077\124\014\170\365" -"\274\252\140\174\002\151\350\334\254\342\002\166\141\304\076\003" -"\352\322\212\044\321" -, (PRUint32)565 } -}; -static const NSSItem nss_builtins_items_5 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"VeriSign Class 4 Primary CA", (PRUint32)28 }, - { (void *)"\116\375\137\146\357\164\326\266\237\211\164\113\045\326\173\311" -"\216\245\172\171" -, (PRUint32)20 }, - { (void *)"\033\321\255\027\213\177\042\023\044\365\046\342\135\116\271\020" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_6 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Personal Basic CA", (PRUint32)25 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\313\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006" -"\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013" -"\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040" -"\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157" -"\156\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167" -"\164\145\040\120\145\162\163\157\156\141\154\040\102\141\163\151" -"\143\040\103\101\061\050\060\046\006\011\052\206\110\206\367\015" -"\001\011\001\026\031\160\145\162\163\157\156\141\154\055\142\141" -"\163\151\143\100\164\150\141\167\164\145\056\143\157\155" -, (PRUint32)206 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\313\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006" -"\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013" -"\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040" -"\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157" -"\156\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167" -"\164\145\040\120\145\162\163\157\156\141\154\040\102\141\163\151" -"\143\040\103\101\061\050\060\046\006\011\052\206\110\206\367\015" -"\001\011\001\026\031\160\145\162\163\157\156\141\154\055\142\141" -"\163\151\143\100\164\150\141\167\164\145\056\143\157\155" -, (PRUint32)206 }, - { (void *)"\000" -, (PRUint32)1 }, - { (void *)"\060\202\003\041\060\202\002\212\240\003\002\001\002\002\001\000" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\313\061\013\060\011\006\003\125\004\006\023\002\132\101\061" -"\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162" -"\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023" -"\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006\003" -"\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156\163" -"\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013\023" -"\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123" -"\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156" -"\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167\164" -"\145\040\120\145\162\163\157\156\141\154\040\102\141\163\151\143" -"\040\103\101\061\050\060\046\006\011\052\206\110\206\367\015\001" -"\011\001\026\031\160\145\162\163\157\156\141\154\055\142\141\163" -"\151\143\100\164\150\141\167\164\145\056\143\157\155\060\036\027" -"\015\071\066\060\061\060\061\060\060\060\060\060\060\132\027\015" -"\062\060\061\062\063\061\062\063\065\071\065\071\132\060\201\313" -"\061\013\060\011\006\003\125\004\006\023\002\132\101\061\025\060" -"\023\006\003\125\004\010\023\014\127\145\163\164\145\162\156\040" -"\103\141\160\145\061\022\060\020\006\003\125\004\007\023\011\103" -"\141\160\145\040\124\157\167\156\061\032\060\030\006\003\125\004" -"\012\023\021\124\150\141\167\164\145\040\103\157\156\163\165\154" -"\164\151\156\147\061\050\060\046\006\003\125\004\013\023\037\103" -"\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162" -"\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061\041" -"\060\037\006\003\125\004\003\023\030\124\150\141\167\164\145\040" -"\120\145\162\163\157\156\141\154\040\102\141\163\151\143\040\103" -"\101\061\050\060\046\006\011\052\206\110\206\367\015\001\011\001" -"\026\031\160\145\162\163\157\156\141\154\055\142\141\163\151\143" -"\100\164\150\141\167\164\145\056\143\157\155\060\201\237\060\015" -"\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215" -"\000\060\201\211\002\201\201\000\274\274\223\123\155\300\120\117" -"\202\025\346\110\224\065\246\132\276\157\102\372\017\107\356\167" -"\165\162\335\215\111\233\226\127\240\170\324\312\077\121\263\151" -"\013\221\166\027\042\007\227\152\304\121\223\113\340\215\357\067" -"\225\241\014\115\332\064\220\035\027\211\227\340\065\070\127\112" -"\300\364\010\160\351\074\104\173\120\176\141\232\220\343\043\323" -"\210\021\106\047\365\013\007\016\273\335\321\177\040\012\210\271" -"\126\013\056\034\200\332\361\343\236\051\357\024\275\012\104\373" -"\033\133\030\321\277\043\223\041\002\003\001\000\001\243\023\060" -"\021\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001" -"\001\377\060\015\006\011\052\206\110\206\367\015\001\001\004\005" -"\000\003\201\201\000\055\342\231\153\260\075\172\211\327\131\242" -"\224\001\037\053\335\022\113\123\302\255\177\252\247\000\134\221" -"\100\127\045\112\070\252\204\160\271\331\200\017\245\173\134\373" -"\163\306\275\327\212\141\134\003\343\055\047\250\027\340\204\205" -"\102\334\136\233\306\267\262\155\273\164\257\344\077\313\247\267" -"\260\340\135\276\170\203\045\224\322\333\201\017\171\007\155\117" -"\364\071\025\132\122\001\173\336\062\326\115\070\366\022\134\006" -"\120\337\005\133\275\024\113\241\337\051\272\073\101\215\367\143" -"\126\241\337\042\261" -, (PRUint32)805 } -}; -static const NSSItem nss_builtins_items_7 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Personal Basic CA", (PRUint32)25 }, - { (void *)"\100\347\214\035\122\075\034\331\225\117\254\032\032\263\275\074" -"\272\241\133\374" -, (PRUint32)20 }, - { (void *)"\346\013\322\311\312\055\210\333\032\161\016\113\170\353\002\101" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_8 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Personal Premium CA", (PRUint32)27 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\317\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006" -"\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013" -"\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040" -"\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157" -"\156\061\043\060\041\006\003\125\004\003\023\032\124\150\141\167" -"\164\145\040\120\145\162\163\157\156\141\154\040\120\162\145\155" -"\151\165\155\040\103\101\061\052\060\050\006\011\052\206\110\206" -"\367\015\001\011\001\026\033\160\145\162\163\157\156\141\154\055" -"\160\162\145\155\151\165\155\100\164\150\141\167\164\145\056\143" -"\157\155" -, (PRUint32)210 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\317\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006" -"\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013" -"\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040" -"\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157" -"\156\061\043\060\041\006\003\125\004\003\023\032\124\150\141\167" -"\164\145\040\120\145\162\163\157\156\141\154\040\120\162\145\155" -"\151\165\155\040\103\101\061\052\060\050\006\011\052\206\110\206" -"\367\015\001\011\001\026\033\160\145\162\163\157\156\141\154\055" -"\160\162\145\155\151\165\155\100\164\150\141\167\164\145\056\143" -"\157\155" -, (PRUint32)210 }, - { (void *)"\000" -, (PRUint32)1 }, - { (void *)"\060\202\003\051\060\202\002\222\240\003\002\001\002\002\001\000" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\317\061\013\060\011\006\003\125\004\006\023\002\132\101\061" -"\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162" -"\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023" -"\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006\003" -"\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156\163" -"\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013\023" -"\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123" -"\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156" -"\061\043\060\041\006\003\125\004\003\023\032\124\150\141\167\164" -"\145\040\120\145\162\163\157\156\141\154\040\120\162\145\155\151" -"\165\155\040\103\101\061\052\060\050\006\011\052\206\110\206\367" -"\015\001\011\001\026\033\160\145\162\163\157\156\141\154\055\160" -"\162\145\155\151\165\155\100\164\150\141\167\164\145\056\143\157" -"\155\060\036\027\015\071\066\060\061\060\061\060\060\060\060\060" -"\060\132\027\015\062\060\061\062\063\061\062\063\065\071\065\071" -"\132\060\201\317\061\013\060\011\006\003\125\004\006\023\002\132" -"\101\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164" -"\145\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004" -"\007\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030" -"\006\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157" -"\156\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004" -"\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156" -"\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151" -"\157\156\061\043\060\041\006\003\125\004\003\023\032\124\150\141" -"\167\164\145\040\120\145\162\163\157\156\141\154\040\120\162\145" -"\155\151\165\155\040\103\101\061\052\060\050\006\011\052\206\110" -"\206\367\015\001\011\001\026\033\160\145\162\163\157\156\141\154" -"\055\160\162\145\155\151\165\155\100\164\150\141\167\164\145\056" -"\143\157\155\060\201\237\060\015\006\011\052\206\110\206\367\015" -"\001\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000" -"\311\146\331\370\007\104\317\271\214\056\360\241\357\023\105\154" -"\005\337\336\047\026\121\066\101\021\154\154\073\355\376\020\175" -"\022\236\345\233\102\232\376\140\061\303\146\267\163\072\110\256" -"\116\320\062\067\224\210\265\015\266\331\363\362\104\331\325\210" -"\022\335\166\115\362\032\374\157\043\036\172\361\330\230\105\116" -"\007\020\357\026\102\320\103\165\155\112\336\342\252\311\061\377" -"\037\000\160\174\146\317\020\045\010\272\372\356\000\351\106\003" -"\146\047\021\025\073\252\133\362\230\335\066\102\262\332\210\165" -"\002\003\001\000\001\243\023\060\021\060\017\006\003\125\035\023" -"\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206" -"\110\206\367\015\001\001\004\005\000\003\201\201\000\151\066\211" -"\367\064\052\063\162\057\155\073\324\042\262\270\157\232\305\066" -"\146\016\033\074\241\261\165\132\346\375\065\323\370\250\362\007" -"\157\205\147\216\336\053\271\342\027\260\072\240\360\016\242\000" -"\232\337\363\024\025\156\273\310\205\132\230\200\371\377\276\164" -"\035\075\363\376\060\045\321\067\064\147\372\245\161\171\060\141" -"\051\162\300\340\054\114\373\126\344\072\250\157\345\062\131\122" -"\333\165\050\120\131\014\370\013\031\344\254\331\257\226\215\057" -"\120\333\007\303\352\037\253\063\340\365\053\061\211" -, (PRUint32)813 } -}; -static const NSSItem nss_builtins_items_9 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Personal Premium CA", (PRUint32)27 }, - { (void *)"\066\206\065\143\375\121\050\307\276\246\360\005\317\351\264\066" -"\150\010\154\316" -, (PRUint32)20 }, - { (void *)"\072\262\336\042\232\040\223\111\371\355\310\322\212\347\150\015" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_10 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Personal Freemail CA", (PRUint32)28 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\321\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006" -"\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013" -"\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040" -"\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157" -"\156\061\044\060\042\006\003\125\004\003\023\033\124\150\141\167" -"\164\145\040\120\145\162\163\157\156\141\154\040\106\162\145\145" -"\155\141\151\154\040\103\101\061\053\060\051\006\011\052\206\110" -"\206\367\015\001\011\001\026\034\160\145\162\163\157\156\141\154" -"\055\146\162\145\145\155\141\151\154\100\164\150\141\167\164\145" -"\056\143\157\155" -, (PRUint32)212 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\321\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006" -"\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013" -"\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040" -"\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157" -"\156\061\044\060\042\006\003\125\004\003\023\033\124\150\141\167" -"\164\145\040\120\145\162\163\157\156\141\154\040\106\162\145\145" -"\155\141\151\154\040\103\101\061\053\060\051\006\011\052\206\110" -"\206\367\015\001\011\001\026\034\160\145\162\163\157\156\141\154" -"\055\146\162\145\145\155\141\151\154\100\164\150\141\167\164\145" -"\056\143\157\155" -, (PRUint32)212 }, - { (void *)"\000" -, (PRUint32)1 }, - { (void *)"\060\202\003\055\060\202\002\226\240\003\002\001\002\002\001\000" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\321\061\013\060\011\006\003\125\004\006\023\002\132\101\061" -"\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162" -"\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023" -"\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006\003" -"\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156\163" -"\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013\023" -"\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123" -"\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156" -"\061\044\060\042\006\003\125\004\003\023\033\124\150\141\167\164" -"\145\040\120\145\162\163\157\156\141\154\040\106\162\145\145\155" -"\141\151\154\040\103\101\061\053\060\051\006\011\052\206\110\206" -"\367\015\001\011\001\026\034\160\145\162\163\157\156\141\154\055" -"\146\162\145\145\155\141\151\154\100\164\150\141\167\164\145\056" -"\143\157\155\060\036\027\015\071\066\060\061\060\061\060\060\060" -"\060\060\060\132\027\015\062\060\061\062\063\061\062\063\065\071" -"\065\071\132\060\201\321\061\013\060\011\006\003\125\004\006\023" -"\002\132\101\061\025\060\023\006\003\125\004\010\023\014\127\145" -"\163\164\145\162\156\040\103\141\160\145\061\022\060\020\006\003" -"\125\004\007\023\011\103\141\160\145\040\124\157\167\156\061\032" -"\060\030\006\003\125\004\012\023\021\124\150\141\167\164\145\040" -"\103\157\156\163\165\154\164\151\156\147\061\050\060\046\006\003" -"\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151" -"\163\151\157\156\061\044\060\042\006\003\125\004\003\023\033\124" -"\150\141\167\164\145\040\120\145\162\163\157\156\141\154\040\106" -"\162\145\145\155\141\151\154\040\103\101\061\053\060\051\006\011" -"\052\206\110\206\367\015\001\011\001\026\034\160\145\162\163\157" -"\156\141\154\055\146\162\145\145\155\141\151\154\100\164\150\141" -"\167\164\145\056\143\157\155\060\201\237\060\015\006\011\052\206" -"\110\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211" -"\002\201\201\000\324\151\327\324\260\224\144\133\161\351\107\330" -"\014\121\266\352\162\221\260\204\136\175\055\015\217\173\022\337" -"\205\045\165\050\164\072\102\054\143\047\237\225\173\113\357\176" -"\031\207\035\206\352\243\335\271\316\226\144\032\302\024\156\104" -"\254\174\346\217\350\115\017\161\037\100\070\246\000\243\207\170" -"\366\371\224\206\136\255\352\300\136\166\353\331\024\243\135\156" -"\172\174\014\245\113\125\177\006\031\051\177\236\232\046\325\152" -"\273\070\044\010\152\230\307\261\332\243\230\221\375\171\333\345" -"\132\304\034\271\002\003\001\000\001\243\023\060\021\060\017\006" -"\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015" -"\006\011\052\206\110\206\367\015\001\001\004\005\000\003\201\201" -"\000\307\354\222\176\116\370\365\226\245\147\142\052\244\360\115" -"\021\140\320\157\215\140\130\141\254\046\273\122\065\134\010\317" -"\060\373\250\112\226\212\037\142\102\043\214\027\017\364\272\144" -"\234\027\254\107\051\337\235\230\136\322\154\140\161\134\242\254" -"\334\171\343\347\156\000\107\037\265\015\050\350\002\235\344\232" -"\375\023\364\246\331\174\261\370\334\137\043\046\011\221\200\163" -"\320\024\033\336\103\251\203\045\362\346\234\057\025\312\376\246" -"\253\212\007\165\213\014\335\121\204\153\344\370\321\316\167\242" -"\201" -, (PRUint32)817 } -}; -static const NSSItem nss_builtins_items_11 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Personal Freemail CA", (PRUint32)28 }, - { (void *)"\040\231\000\266\075\225\127\050\024\014\321\066\042\330\306\207" -"\244\353\000\205" -, (PRUint32)20 }, - { (void *)"\036\164\303\206\074\014\065\305\076\302\177\357\074\252\074\331" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_12 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Server CA", (PRUint32)17 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006" -"\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003" -"\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151" -"\163\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124" -"\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061" -"\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027" -"\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141" -"\167\164\145\056\143\157\155" -, (PRUint32)199 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006" -"\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003" -"\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151" -"\163\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124" -"\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061" -"\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027" -"\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141" -"\167\164\145\056\143\157\155" -, (PRUint32)199 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\003\023\060\202\002\174\240\003\002\001\002\002\001\001" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101\061" -"\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162" -"\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023" -"\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003" -"\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163" -"\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003\125" -"\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163" -"\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124\150" -"\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061\046" -"\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027\163" -"\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141\167" -"\164\145\056\143\157\155\060\036\027\015\071\066\060\070\060\061" -"\060\060\060\060\060\060\132\027\015\062\060\061\062\063\061\062" -"\063\065\071\065\071\132\060\201\304\061\013\060\011\006\003\125" -"\004\006\023\002\132\101\061\025\060\023\006\003\125\004\010\023" -"\014\127\145\163\164\145\162\156\040\103\141\160\145\061\022\060" -"\020\006\003\125\004\007\023\011\103\141\160\145\040\124\157\167" -"\156\061\035\060\033\006\003\125\004\012\023\024\124\150\141\167" -"\164\145\040\103\157\156\163\165\154\164\151\156\147\040\143\143" -"\061\050\060\046\006\003\125\004\013\023\037\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145" -"\163\040\104\151\166\151\163\151\157\156\061\031\060\027\006\003" -"\125\004\003\023\020\124\150\141\167\164\145\040\123\145\162\166" -"\145\162\040\103\101\061\046\060\044\006\011\052\206\110\206\367" -"\015\001\011\001\026\027\163\145\162\166\145\162\055\143\145\162" -"\164\163\100\164\150\141\167\164\145\056\143\157\155\060\201\237" -"\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003" -"\201\215\000\060\201\211\002\201\201\000\323\244\120\156\310\377" -"\126\153\346\317\135\266\352\014\150\165\107\242\252\302\332\204" -"\045\374\250\364\107\121\332\205\265\040\164\224\206\036\017\165" -"\311\351\010\141\365\006\155\060\156\025\031\002\351\122\300\142" -"\333\115\231\236\342\152\014\104\070\315\376\276\343\144\011\160" -"\305\376\261\153\051\266\057\111\310\073\324\047\004\045\020\227" -"\057\347\220\155\300\050\102\231\327\114\103\336\303\365\041\155" -"\124\237\135\303\130\341\300\344\331\133\260\270\334\264\173\337" -"\066\072\302\265\146\042\022\326\207\015\002\003\001\000\001\243" -"\023\060\021\060\017\006\003\125\035\023\001\001\377\004\005\060" -"\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001" -"\004\005\000\003\201\201\000\007\372\114\151\134\373\225\314\106" -"\356\205\203\115\041\060\216\312\331\250\157\111\032\346\332\121" -"\343\140\160\154\204\141\021\241\032\310\110\076\131\103\175\117" -"\225\075\241\213\267\013\142\230\172\165\212\335\210\116\116\236" -"\100\333\250\314\062\164\271\157\015\306\343\263\104\013\331\212" -"\157\232\051\233\231\030\050\073\321\343\100\050\232\132\074\325" -"\265\347\040\033\213\312\244\253\215\351\121\331\342\114\054\131" -"\251\332\271\262\165\033\366\102\362\357\307\362\030\371\211\274" -"\243\377\212\043\056\160\107" -, (PRUint32)791 } -}; -static const NSSItem nss_builtins_items_13 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Server CA", (PRUint32)17 }, - { (void *)"\043\345\224\224\121\225\362\101\110\003\264\325\144\322\243\243" -"\365\330\213\214" -, (PRUint32)20 }, - { (void *)"\305\160\304\242\355\123\170\014\310\020\123\201\144\313\320\035" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_14 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Premium Server CA", (PRUint32)25 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006" -"\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003" -"\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151" -"\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124" -"\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145" -"\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110" -"\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055" -"\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157" -"\155" -, (PRUint32)209 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006" -"\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003" -"\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151" -"\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124" -"\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145" -"\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110" -"\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055" -"\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157" -"\155" -, (PRUint32)209 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\003\047\060\202\002\220\240\003\002\001\002\002\001\001" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101\061" -"\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162" -"\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023" -"\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003" -"\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163" -"\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003\125" -"\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163" -"\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124\150" -"\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145\162" -"\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110\206" -"\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055\163" -"\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157\155" -"\060\036\027\015\071\066\060\070\060\061\060\060\060\060\060\060" -"\132\027\015\062\060\061\062\063\061\062\063\065\071\065\071\132" -"\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101" -"\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145" -"\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007" -"\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006" -"\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156" -"\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003" -"\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151" -"\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124" -"\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145" -"\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110" -"\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055" -"\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157" -"\155\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001" -"\001\005\000\003\201\215\000\060\201\211\002\201\201\000\322\066" -"\066\152\213\327\302\133\236\332\201\101\142\217\070\356\111\004" -"\125\326\320\357\034\033\225\026\107\357\030\110\065\072\122\364" -"\053\152\006\217\073\057\352\126\343\257\206\215\236\027\367\236" -"\264\145\165\002\115\357\313\011\242\041\121\330\233\320\147\320" -"\272\015\222\006\024\163\324\223\313\227\052\000\234\134\116\014" -"\274\372\025\122\374\362\104\156\332\021\112\156\010\237\057\055" -"\343\371\252\072\206\163\266\106\123\130\310\211\005\275\203\021" -"\270\163\077\252\007\215\364\102\115\347\100\235\034\067\002\003" -"\001\000\001\243\023\060\021\060\017\006\003\125\035\023\001\001" -"\377\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206" -"\367\015\001\001\004\005\000\003\201\201\000\046\110\054\026\302" -"\130\372\350\026\164\014\252\252\137\124\077\362\327\311\170\140" -"\136\136\156\067\143\042\167\066\176\262\027\304\064\271\365\010" -"\205\374\311\001\070\377\115\276\362\026\102\103\347\273\132\106" -"\373\301\306\021\037\361\112\260\050\106\311\303\304\102\175\274" -"\372\253\131\156\325\267\121\210\021\343\244\205\031\153\202\114" -"\244\014\022\255\351\244\256\077\361\303\111\145\232\214\305\310" -"\076\045\267\224\231\273\222\062\161\007\360\206\136\355\120\047" -"\246\015\246\043\371\273\313\246\007\024\102" -, (PRUint32)811 } -}; -static const NSSItem nss_builtins_items_15 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Premium Server CA", (PRUint32)25 }, - { (void *)"\142\177\215\170\047\145\143\231\322\175\177\220\104\311\376\263" -"\363\076\372\232" -, (PRUint32)20 }, - { (void *)"\006\237\151\171\026\146\220\002\033\214\214\242\303\007\157\072" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_16 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"BelSign Object Publishing CA", (PRUint32)29 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\273\061\013\060\011\006\003\125\004\006\023\002\102\105" -"\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163" -"\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145" -"\154\123\151\147\156\040\116\126\061\070\060\066\006\003\125\004" -"\013\023\057\102\145\154\123\151\147\156\040\117\142\152\145\143" -"\164\040\120\165\142\154\151\163\150\151\156\147\040\103\145\162" -"\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151" -"\164\171\061\045\060\043\006\003\125\004\003\023\034\102\145\154" -"\123\151\147\156\040\117\142\152\145\143\164\040\120\165\142\154" -"\151\163\150\151\156\147\040\103\101\061\043\060\041\006\011\052" -"\206\110\206\367\015\001\011\001\026\024\167\145\142\155\141\163" -"\164\145\162\100\142\145\154\163\151\147\156\056\142\145" -, (PRUint32)190 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\273\061\013\060\011\006\003\125\004\006\023\002\102\105" -"\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163" -"\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145" -"\154\123\151\147\156\040\116\126\061\070\060\066\006\003\125\004" -"\013\023\057\102\145\154\123\151\147\156\040\117\142\152\145\143" -"\164\040\120\165\142\154\151\163\150\151\156\147\040\103\145\162" -"\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151" -"\164\171\061\045\060\043\006\003\125\004\003\023\034\102\145\154" -"\123\151\147\156\040\117\142\152\145\143\164\040\120\165\142\154" -"\151\163\150\151\156\147\040\103\101\061\043\060\041\006\011\052" -"\206\110\206\367\015\001\011\001\026\024\167\145\142\155\141\163" -"\164\145\162\100\142\145\154\163\151\147\156\056\142\145" -, (PRUint32)190 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\003\003\060\202\002\154\240\003\002\001\002\002\001\001" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\273\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163\145" -"\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145\154" -"\123\151\147\156\040\116\126\061\070\060\066\006\003\125\004\013" -"\023\057\102\145\154\123\151\147\156\040\117\142\152\145\143\164" -"\040\120\165\142\154\151\163\150\151\156\147\040\103\145\162\164" -"\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164" -"\171\061\045\060\043\006\003\125\004\003\023\034\102\145\154\123" -"\151\147\156\040\117\142\152\145\143\164\040\120\165\142\154\151" -"\163\150\151\156\147\040\103\101\061\043\060\041\006\011\052\206" -"\110\206\367\015\001\011\001\026\024\167\145\142\155\141\163\164" -"\145\162\100\142\145\154\163\151\147\156\056\142\145\060\036\027" -"\015\071\067\060\071\061\071\062\062\060\063\060\060\132\027\015" -"\060\067\060\071\061\071\062\062\060\063\060\060\132\060\201\273" -"\061\013\060\011\006\003\125\004\006\023\002\102\105\061\021\060" -"\017\006\003\125\004\007\023\010\102\162\165\163\163\145\154\163" -"\061\023\060\021\006\003\125\004\012\023\012\102\145\154\123\151" -"\147\156\040\116\126\061\070\060\066\006\003\125\004\013\023\057" -"\102\145\154\123\151\147\156\040\117\142\152\145\143\164\040\120" -"\165\142\154\151\163\150\151\156\147\040\103\145\162\164\151\146" -"\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061" -"\045\060\043\006\003\125\004\003\023\034\102\145\154\123\151\147" -"\156\040\117\142\152\145\143\164\040\120\165\142\154\151\163\150" -"\151\156\147\040\103\101\061\043\060\041\006\011\052\206\110\206" -"\367\015\001\011\001\026\024\167\145\142\155\141\163\164\145\162" -"\100\142\145\154\163\151\147\156\056\142\145\060\201\237\060\015" -"\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215" -"\000\060\201\211\002\201\201\000\304\056\037\266\277\356\202\100" -"\335\371\267\056\101\325\236\005\261\132\320\046\174\142\125\003" -"\233\374\313\141\336\113\357\376\350\231\376\207\271\210\317\220" -"\332\017\011\074\166\337\027\227\266\313\077\045\105\375\264\274" -"\130\000\276\260\132\266\024\207\217\356\147\144\255\035\210\203" -"\273\147\237\145\141\000\130\010\200\120\237\200\311\061\366\052" -"\220\034\055\367\112\154\020\366\043\103\135\070\011\140\210\127" -"\002\315\026\154\030\374\315\373\222\052\167\320\236\223\243\135" -"\210\144\320\310\370\135\124\121\002\003\001\000\001\243\025\060" -"\023\060\021\006\011\140\206\110\001\206\370\102\001\001\004\004" -"\003\002\000\007\060\015\006\011\052\206\110\206\367\015\001\001" -"\004\005\000\003\201\201\000\143\166\027\174\226\360\123\245\135" -"\001\034\123\316\051\302\176\165\254\114\015\242\010\163\264\152" -"\061\375\002\006\024\231\334\124\004\244\277\310\226\206\237\061" -"\103\062\045\127\366\205\366\045\273\067\276\241\171\043\311\127" -"\006\045\161\153\105\117\370\364\002\100\026\202\042\257\124\352" -"\062\050\366\015\356\231\272\113\010\121\017\156\206\043\041\114" -"\055\045\210\201\304\056\016\361\023\054\070\212\225\002\044\303" -"\072\225\143\344\223\216\110\273\010\107\162\137\256\346\072\132" -"\107\326\161\306\236\232\122" -, (PRUint32)775 } -}; -static const NSSItem nss_builtins_items_17 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"BelSign Object Publishing CA", (PRUint32)29 }, - { (void *)"\373\224\125\030\075\227\133\343\150\140\204\227\152\247\052\201" -"\125\173\201\051" -, (PRUint32)20 }, - { (void *)"\212\002\370\337\270\341\204\237\132\302\140\044\145\321\163\373" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_18 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"BelSign Secure Server CA", (PRUint32)25 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\263\061\013\060\011\006\003\125\004\006\023\002\102\105" -"\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163" -"\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145" -"\154\123\151\147\156\040\116\126\061\064\060\062\006\003\125\004" -"\013\023\053\102\145\154\123\151\147\156\040\123\145\143\165\162" -"\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151" -"\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\041" -"\060\037\006\003\125\004\003\023\030\102\145\154\123\151\147\156" -"\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103" -"\101\061\043\060\041\006\011\052\206\110\206\367\015\001\011\001" -"\026\024\167\145\142\155\141\163\164\145\162\100\142\145\154\163" -"\151\147\156\056\142\145" -, (PRUint32)182 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\263\061\013\060\011\006\003\125\004\006\023\002\102\105" -"\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163" -"\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145" -"\154\123\151\147\156\040\116\126\061\064\060\062\006\003\125\004" -"\013\023\053\102\145\154\123\151\147\156\040\123\145\143\165\162" -"\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151" -"\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\041" -"\060\037\006\003\125\004\003\023\030\102\145\154\123\151\147\156" -"\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103" -"\101\061\043\060\041\006\011\052\206\110\206\367\015\001\011\001" -"\026\024\167\145\142\155\141\163\164\145\162\100\142\145\154\163" -"\151\147\156\056\142\145" -, (PRUint32)182 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\002\363\060\202\002\134\240\003\002\001\002\002\001\001" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\263\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163\145" -"\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145\154" -"\123\151\147\156\040\116\126\061\064\060\062\006\003\125\004\013" -"\023\053\102\145\154\123\151\147\156\040\123\145\143\165\162\145" -"\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151\143" -"\141\164\145\040\101\165\164\150\157\162\151\164\171\061\041\060" -"\037\006\003\125\004\003\023\030\102\145\154\123\151\147\156\040" -"\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103\101" -"\061\043\060\041\006\011\052\206\110\206\367\015\001\011\001\026" -"\024\167\145\142\155\141\163\164\145\162\100\142\145\154\163\151" -"\147\156\056\142\145\060\036\027\015\071\067\060\067\061\066\062" -"\062\060\060\065\064\132\027\015\060\067\060\067\061\066\062\062" -"\060\060\065\064\132\060\201\263\061\013\060\011\006\003\125\004" -"\006\023\002\102\105\061\021\060\017\006\003\125\004\007\023\010" -"\102\162\165\163\163\145\154\163\061\023\060\021\006\003\125\004" -"\012\023\012\102\145\154\123\151\147\156\040\116\126\061\064\060" -"\062\006\003\125\004\013\023\053\102\145\154\123\151\147\156\040" -"\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103\145" -"\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162" -"\151\164\171\061\041\060\037\006\003\125\004\003\023\030\102\145" -"\154\123\151\147\156\040\123\145\143\165\162\145\040\123\145\162" -"\166\145\162\040\103\101\061\043\060\041\006\011\052\206\110\206" -"\367\015\001\011\001\026\024\167\145\142\155\141\163\164\145\162" -"\100\142\145\154\163\151\147\156\056\142\145\060\201\237\060\015" -"\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215" -"\000\060\201\211\002\201\201\000\326\001\022\170\222\370\004\102" -"\177\311\307\042\203\374\174\107\160\060\053\111\013\076\066\100" -"\220\050\332\041\163\203\123\362\304\321\026\100\300\123\377\256" -"\246\306\044\263\047\155\245\263\075\071\167\135\250\006\366\346" -"\351\274\143\021\116\006\145\160\012\235\223\371\242\100\213\177" -"\112\204\016\215\026\261\326\314\010\144\022\014\340\050\113\310" -"\245\204\220\027\373\021\106\056\326\247\205\030\313\030\256\143" -"\232\260\130\006\364\000\317\370\304\011\032\065\014\241\371\356" -"\112\375\155\336\376\046\245\073\002\003\001\000\001\243\025\060" -"\023\060\021\006\011\140\206\110\001\206\370\102\001\001\004\004" -"\003\002\000\240\060\015\006\011\052\206\110\206\367\015\001\001" -"\004\005\000\003\201\201\000\154\075\231\303\005\342\035\312\345" -"\055\252\150\205\213\100\061\040\146\023\150\346\130\072\211\320" -"\215\165\262\305\142\330\175\202\217\367\331\062\201\167\366\065" -"\133\205\051\316\147\262\271\274\053\031\170\317\363\207\375\106" -"\361\225\165\262\011\127\003\060\301\172\315\162\107\161\200\312" -"\175\235\311\145\074\107\021\042\175\372\007\013\050\170\241\223" -"\350\005\105\110\342\062\062\112\075\350\123\034\020\267\307\163" -"\214\007\120\341\371\311\053\123\101\365\203\215\345\011\071\112" -"\216\003\142\252\100\143\213" -, (PRUint32)759 } -}; -static const NSSItem nss_builtins_items_19 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"BelSign Secure Server CA", (PRUint32)25 }, - { (void *)"\302\305\265\376\203\144\370\243\156\170\035\174\025\010\174\350" -"\205\241\206\230" -, (PRUint32)20 }, - { (void *)"\075\136\202\306\331\255\331\213\223\153\014\020\271\111\012\261" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_20 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 0 CA", (PRUint32)36 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\060\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\060\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\001" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061" -"\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162" -"\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142" -"\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103" -"\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162" -"\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164" -"\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061" -"\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\060" -"\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001" -"\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100" -"\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036" -"\027\015\071\070\060\063\060\071\061\063\065\064\064\070\132\027" -"\015\060\065\061\062\063\061\061\063\065\064\064\070\132\060\201" -"\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020" -"\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147" -"\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165" -"\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040" -"\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040" -"\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141" -"\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042" -"\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163" -"\164\103\145\156\164\145\162\040\103\154\141\163\163\040\060\040" -"\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011" -"\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164" -"\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237" -"\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003" -"\201\215\000\060\201\211\002\201\201\000\337\175\346\276\277\325" -"\360\057\155\116\016\321\340\215\013\177\073\124\350\212\342\260" -"\237\050\305\212\306\271\263\063\047\365\047\312\032\114\124\022" -"\153\264\262\106\263\035\113\263\364\041\013\113\002\056\241\302" -"\064\234\205\240\304\170\021\333\333\153\047\053\011\052\030\116" -"\100\314\237\161\031\147\231\164\242\174\077\301\330\213\043\310" -"\143\073\212\041\253\134\336\036\364\215\334\264\030\303\005\163" -"\364\152\264\241\372\001\010\053\001\017\155\067\133\252\070\206" -"\147\071\327\345\137\372\344\176\314\243\002\003\001\000\001\243" -"\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206" -"\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057" -"\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056" -"\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153" -"\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110" -"\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072" -"\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145" -"\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145" -"\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140" -"\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160" -"\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156" -"\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122" -"\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110" -"\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057" -"\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162" -"\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151" -"\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110" -"\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\060" -"\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001" -"\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015" -"\001\001\004\005\000\003\201\201\000\115\007\177\137\011\060\031" -"\222\252\005\107\172\224\165\124\052\256\317\374\330\014\102\341" -"\105\070\053\044\225\262\312\207\312\171\304\303\227\220\136\142" -"\030\306\311\070\141\114\150\065\323\114\024\021\353\304\315\241" -"\251\330\305\236\150\047\062\007\065\105\004\370\137\041\240\140" -"\036\034\000\110\004\130\322\305\313\256\155\062\156\075\167\225" -"\214\205\307\345\256\120\235\165\112\173\377\013\047\171\352\115" -"\244\131\377\354\132\352\046\245\071\203\244\321\170\316\247\251" -"\176\274\335\053\312\022\223\003\112" -, (PRUint32)1081 } -}; -static const NSSItem nss_builtins_items_21 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 0 CA", (PRUint32)36 }, - { (void *)"\104\201\247\326\311\104\165\204\317\355\212\107\311\256\152\360" -"\036\071\165\030" -, (PRUint32)20 }, - { (void *)"\065\205\111\216\156\127\376\275\227\361\311\106\043\072\266\175" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_22 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 1 CA", (PRUint32)36 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\061\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\061\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"\002" -, (PRUint32)1 }, - { (void *)"\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\002" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061" -"\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162" -"\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142" -"\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103" -"\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162" -"\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164" -"\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061" -"\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\061" -"\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001" -"\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100" -"\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036" -"\027\015\071\070\060\063\060\071\061\063\065\066\063\063\132\027" -"\015\060\065\061\062\063\061\061\063\065\066\063\063\132\060\201" -"\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020" -"\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147" -"\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165" -"\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040" -"\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040" -"\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141" -"\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042" -"\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163" -"\164\103\145\156\164\145\162\040\103\154\141\163\163\040\061\040" -"\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011" -"\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164" -"\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237" -"\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003" -"\201\215\000\060\201\211\002\201\201\000\260\051\353\264\166\263" -"\256\327\266\133\264\136\347\275\343\261\234\111\004\127\133\241" -"\253\331\177\023\033\375\272\141\253\330\347\161\337\055\000\224" -"\135\121\110\175\043\357\165\142\204\220\074\012\037\131\021\164" -"\057\216\200\245\375\060\002\075\051\122\315\162\032\111\041\234" -"\274\313\122\216\110\241\143\226\310\020\205\060\151\127\164\105" -"\300\132\206\306\325\075\340\150\127\175\061\152\044\215\105\227" -"\076\061\176\150\146\062\156\044\155\354\062\066\311\101\312\360" -"\061\104\310\243\141\312\033\240\066\037\002\003\001\000\001\243" -"\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206" -"\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057" -"\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056" -"\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153" -"\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110" -"\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072" -"\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145" -"\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145" -"\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140" -"\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160" -"\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156" -"\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122" -"\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110" -"\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057" -"\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162" -"\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151" -"\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110" -"\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\061" -"\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001" -"\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015" -"\001\001\004\005\000\003\201\201\000\005\102\122\046\244\014\047" -"\001\104\254\134\045\050\302\104\102\124\010\271\035\305\076\154" -"\131\146\304\263\116\120\247\370\370\226\165\241\226\165\350\026" -"\070\240\315\135\156\372\171\247\033\173\035\036\303\000\271\146" -"\276\132\326\142\017\347\362\173\270\357\114\340\300\077\131\256" -"\071\267\204\011\236\253\361\251\056\153\151\342\255\314\362\352" -"\170\011\005\040\070\102\161\030\176\307\262\227\346\325\002\005" -"\006\126\243\137\361\252\302\304\117\376\367\357\026\017\235\354" -"\252\205\317\075\051\044\361\004\315" -, (PRUint32)1081 } -}; -static const NSSItem nss_builtins_items_23 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 1 CA", (PRUint32)36 }, - { (void *)"\332\300\131\013\015\224\374\025\327\025\056\266\171\160\003\133" -"\215\271\365\053" -, (PRUint32)20 }, - { (void *)"\144\077\370\076\122\024\112\131\272\223\126\004\013\043\002\321" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_24 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 2 CA", (PRUint32)36 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\062\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\062\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"\003" -, (PRUint32)1 }, - { (void *)"\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\003" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061" -"\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162" -"\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142" -"\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103" -"\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162" -"\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164" -"\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061" -"\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\062" -"\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001" -"\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100" -"\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036" -"\027\015\071\070\060\063\060\071\061\063\065\067\064\064\132\027" -"\015\060\065\061\062\063\061\061\063\065\067\064\064\132\060\201" -"\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020" -"\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147" -"\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165" -"\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040" -"\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040" -"\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141" -"\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042" -"\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163" -"\164\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040" -"\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011" -"\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164" -"\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237" -"\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003" -"\201\215\000\060\201\211\002\201\201\000\332\070\350\355\062\000" -"\051\161\203\001\015\277\214\001\334\332\306\255\071\244\251\212" -"\057\325\213\134\150\137\120\306\142\365\146\275\312\221\042\354" -"\252\035\121\327\075\263\121\262\203\116\135\313\111\260\360\114" -"\125\345\153\055\307\205\013\060\034\222\116\202\324\312\002\355" -"\367\157\276\334\340\343\024\270\005\123\362\232\364\126\213\132" -"\236\205\223\321\264\202\126\256\115\273\250\113\127\026\274\376" -"\370\130\236\370\051\215\260\173\315\170\311\117\254\213\147\014" -"\361\234\373\374\127\233\127\134\117\015\002\003\001\000\001\243" -"\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206" -"\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057" -"\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056" -"\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153" -"\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110" -"\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072" -"\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145" -"\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145" -"\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140" -"\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160" -"\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156" -"\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122" -"\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110" -"\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057" -"\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162" -"\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151" -"\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110" -"\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\062" -"\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001" -"\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015" -"\001\001\004\005\000\003\201\201\000\211\033\364\357\351\070\342" -"\154\014\366\315\157\111\316\051\314\373\246\017\371\215\076\225" -"\106\326\374\107\062\211\262\310\006\141\172\322\347\015\023\002" -"\224\013\331\213\126\107\364\273\347\305\137\173\364\143\114\256" -"\174\064\352\015\242\251\263\054\205\363\343\376\047\124\020\222" -"\260\217\222\301\230\102\030\160\110\333\116\054\353\015\044\150" -"\344\321\367\276\011\251\051\207\273\350\332\334\076\243\210\102" -"\061\365\321\343\177\256\330\216\000\132\164\230\260\117\306\377" -"\043\173\134\163\000\170\311\333\116" -, (PRUint32)1081 } -}; -static const NSSItem nss_builtins_items_25 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 2 CA", (PRUint32)36 }, - { (void *)"\312\135\207\155\025\113\162\350\014\357\331\346\353\234\366\215" -"\002\037\253\354" -, (PRUint32)20 }, - { (void *)"\341\351\226\123\167\341\360\070\240\002\253\224\306\225\173\374" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_26 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 3 CA", (PRUint32)36 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\063\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\063\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"\004" -, (PRUint32)1 }, - { (void *)"\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\004" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061" -"\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162" -"\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142" -"\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103" -"\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162" -"\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164" -"\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061" -"\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\063" -"\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001" -"\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100" -"\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036" -"\027\015\071\070\060\063\060\071\061\063\065\070\064\071\132\027" -"\015\060\065\061\062\063\061\061\063\065\070\064\071\132\060\201" -"\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020" -"\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147" -"\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165" -"\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040" -"\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040" -"\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141" -"\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042" -"\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163" -"\164\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040" -"\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011" -"\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164" -"\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237" -"\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003" -"\201\215\000\060\201\211\002\201\201\000\266\264\301\065\005\056" -"\015\215\354\240\100\152\034\016\047\246\120\222\153\120\033\007" -"\336\056\347\166\314\340\332\374\204\250\136\214\143\152\053\115" -"\331\116\002\166\021\301\013\362\215\171\312\000\266\361\260\016" -"\327\373\244\027\075\257\253\151\172\226\047\277\257\063\241\232" -"\052\131\252\304\265\067\010\362\022\245\061\266\103\365\062\226" -"\161\050\050\253\215\050\206\337\273\356\343\014\175\060\326\303" -"\122\253\217\135\047\234\153\300\243\347\005\153\127\111\104\263" -"\156\352\144\317\322\216\172\120\167\167\002\003\001\000\001\243" -"\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206" -"\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057" -"\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056" -"\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153" -"\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110" -"\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072" -"\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145" -"\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145" -"\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140" -"\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160" -"\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156" -"\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122" -"\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110" -"\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057" -"\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162" -"\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151" -"\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110" -"\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\063" -"\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001" -"\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015" -"\001\001\004\005\000\003\201\201\000\204\206\120\142\171\240\047" -"\341\045\272\011\261\064\017\023\011\355\055\312\243\346\225\371" -"\060\254\315\027\245\316\075\227\235\354\174\217\046\177\300\141" -"\312\042\367\221\335\074\066\131\232\233\165\367\274\344\310\355" -"\354\002\266\042\247\363\054\361\310\222\170\155\266\356\305\050" -"\354\200\040\117\271\153\010\347\057\247\206\036\175\261\010\237" -"\124\271\000\067\074\240\330\032\310\226\034\364\062\024\234\071" -"\225\267\356\360\103\111\302\136\350\313\171\157\123\277\373\111" -"\212\054\330\113\331\125\362\022\160" -, (PRUint32)1081 } -}; -static const NSSItem nss_builtins_items_27 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 3 CA", (PRUint32)36 }, - { (void *)"\227\057\340\037\171\136\221\210\026\371\201\161\176\162\355\040" -"\241\377\020\143" -, (PRUint32)20 }, - { (void *)"\142\253\266\025\112\264\260\026\167\377\256\317\026\026\053\214" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_28 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 4 CA", (PRUint32)36 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\064\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105" -"\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165" -"\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155" -"\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124" -"\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157" -"\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141" -"\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110" -"\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162" -"\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040" -"\064\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015" -"\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145" -"\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145" -, (PRUint32)191 }, - { (void *)"\005" -, (PRUint32)1 }, - { (void *)"\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\005" -"\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060" -"\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061" -"\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162" -"\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142" -"\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103" -"\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162" -"\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164" -"\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061" -"\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\064" -"\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001" -"\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100" -"\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036" -"\027\015\071\070\060\063\060\071\061\064\060\060\062\060\132\027" -"\015\060\065\061\062\063\061\061\064\060\060\062\060\132\060\201" -"\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020" -"\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147" -"\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165" -"\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040" -"\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040" -"\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141" -"\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042" -"\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163" -"\164\103\145\156\164\145\162\040\103\154\141\163\163\040\064\040" -"\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011" -"\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164" -"\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237" -"\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003" -"\201\215\000\060\201\211\002\201\201\000\277\057\143\326\066\173" -"\262\015\323\125\365\144\154\346\045\135\306\264\310\024\272\045" -"\070\203\353\126\142\245\125\251\145\243\364\043\231\302\113\271" -"\320\315\124\147\246\243\240\243\251\063\053\166\344\275\255\167" -"\262\355\134\022\164\303\305\266\017\122\232\162\223\103\220\142" -"\146\025\017\105\245\335\340\335\270\157\100\156\127\301\171\162" -"\243\140\252\272\166\035\022\211\123\132\374\002\276\341\011\023" -"\305\112\057\334\075\213\031\255\327\213\044\105\373\114\364\315" -"\134\065\035\051\114\121\363\362\154\125\002\003\001\000\001\243" -"\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206" -"\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057" -"\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056" -"\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153" -"\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110" -"\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072" -"\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145" -"\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145" -"\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140" -"\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160" -"\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156" -"\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122" -"\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110" -"\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057" -"\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162" -"\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151" -"\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110" -"\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165" -"\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\064" -"\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001" -"\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015" -"\001\001\004\005\000\003\201\201\000\224\150\024\033\045\236\051" -"\231\261\262\043\322\104\263\225\237\321\236\125\004\335\343\057" -"\202\063\125\226\167\031\235\053\236\145\034\372\212\343\307\217" -"\045\374\261\036\125\106\017\217\377\117\067\057\244\166\131\246" -"\144\353\325\026\160\275\335\225\063\014\244\015\044\353\144\120" -"\264\103\021\362\103\276\015\161\230\042\354\001\257\354\367\307" -"\134\161\303\165\221\130\031\350\335\240\364\264\361\274\020\112" -"\363\223\264\006\111\273\037\146\322\275\164\107\341\232\371\353" -"\327\253\155\037\272\341\035\054\332" -, (PRUint32)1081 } -}; -static const NSSItem nss_builtins_items_29 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"TC TrustCenter, Germany, Class 4 CA", (PRUint32)36 }, - { (void *)"\161\162\311\174\001\016\161\014\375\350\321\363\171\263\300\074" -"\253\116\274\235" -, (PRUint32)20 }, - { (void *)"\277\257\354\304\332\371\060\371\312\065\312\045\344\077\215\211" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_30 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary Certification Authority", (PRUint32)56 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\000\315\272\177\126\360\337\344\274\124\376\042\254\263\162\252" -"\125" -, (PRUint32)17 }, - { (void *)"\060\202\002\075\060\202\001\246\002\021\000\315\272\177\126\360" -"\337\344\274\124\376\042\254\263\162\252\125\060\015\006\011\052" -"\206\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125" -"\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141" -"\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151\155" -"\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071" -"\066\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070" -"\060\070\060\061\062\063\065\071\065\071\132\060\137\061\013\060" -"\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003" -"\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154" -"\141\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151" -"\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060" -"\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201" -"\215\000\060\201\211\002\201\201\000\345\031\277\155\243\126\141" -"\055\231\110\161\366\147\336\271\215\353\267\236\206\200\012\221" -"\016\372\070\045\257\106\210\202\345\163\250\240\233\044\135\015" -"\037\314\145\156\014\260\320\126\204\030\207\232\006\233\020\241" -"\163\337\264\130\071\153\156\301\366\025\325\250\250\077\252\022" -"\006\215\061\254\177\260\064\327\217\064\147\210\011\315\024\021" -"\342\116\105\126\151\037\170\002\200\332\334\107\221\051\273\066" -"\311\143\134\305\340\327\055\207\173\241\267\062\260\173\060\272" -"\052\057\061\252\356\243\147\332\333\002\003\001\000\001\060\015" -"\006\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201" -"\000\114\077\270\213\306\150\337\356\103\063\016\135\351\246\313" -"\007\204\115\172\063\377\222\033\364\066\255\330\225\042\066\150" -"\021\154\174\102\314\363\234\056\304\007\077\024\260\017\117\377" -"\220\222\166\371\342\274\112\351\217\315\240\200\012\367\305\051" -"\361\202\042\135\270\261\335\201\043\243\173\045\025\106\060\171" -"\026\370\352\005\113\224\177\035\302\034\310\343\267\364\020\100" -"\074\023\303\137\037\123\350\110\344\206\264\173\241\065\260\173" -"\045\272\270\323\216\253\077\070\235\000\064\000\230\363\321\161" -"\224" -, (PRUint32)577 } -}; -static const NSSItem nss_builtins_items_31 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary Certification Authority", (PRUint32)56 }, - { (void *)"\220\256\242\151\205\377\024\200\114\103\111\122\354\351\140\204" -"\167\257\125\157" -, (PRUint32)20 }, - { (void *)"\227\140\350\127\137\323\120\107\345\103\014\224\066\212\260\142" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_32 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary Certification Authority", (PRUint32)56 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\062\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\062\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\055\033\374\112\027\215\243\221\353\347\377\365\213\105\276" -"\013" -, (PRUint32)16 }, - { (void *)"\060\202\002\074\060\202\001\245\002\020\055\033\374\112\027\215" -"\243\221\353\347\377\365\213\105\276\013\060\015\006\011\052\206" -"\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011\006" -"\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004" -"\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143" -"\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141\163" -"\163\040\062\040\120\165\142\154\151\143\040\120\162\151\155\141" -"\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156" -"\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\066" -"\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060" -"\070\060\061\062\063\065\071\065\071\132\060\137\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125" -"\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141" -"\163\163\040\062\040\120\165\142\154\151\143\040\120\162\151\155" -"\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060\015" -"\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215" -"\000\060\201\211\002\201\201\000\266\132\213\243\015\152\043\203" -"\200\153\317\071\207\364\041\023\063\006\114\045\242\355\125\022" -"\227\305\247\200\271\372\203\301\040\240\372\057\025\015\174\241" -"\140\153\176\171\054\372\006\017\072\256\366\033\157\261\322\377" -"\057\050\122\137\203\175\113\304\172\267\370\146\037\200\124\374" -"\267\302\216\131\112\024\127\106\321\232\223\276\101\221\003\273" -"\025\200\223\134\353\347\314\010\154\077\076\263\112\374\377\113" -"\154\043\325\120\202\046\104\031\216\043\303\161\352\031\044\107" -"\004\236\165\277\310\246\000\037\002\003\001\000\001\060\015\006" -"\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201\000" -"\212\033\053\372\071\301\164\327\136\330\031\144\242\130\112\055" -"\067\340\063\107\017\254\355\367\252\333\036\344\213\006\134\140" -"\047\312\105\122\316\026\357\077\006\144\347\224\150\174\140\063" -"\025\021\151\257\235\142\215\243\003\124\153\246\276\345\356\005" -"\030\140\004\277\102\200\375\320\250\250\036\001\073\367\243\134" -"\257\243\334\346\046\200\043\074\270\104\164\367\012\256\111\213" -"\141\170\314\044\277\210\212\247\016\352\163\031\101\375\115\003" -"\360\210\321\345\170\215\245\052\117\366\227\015\027\167\312\330" -, (PRUint32)576 } -}; -static const NSSItem nss_builtins_items_33 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary Certification Authority", (PRUint32)56 }, - { (void *)"\147\202\252\340\355\356\342\032\130\071\323\300\315\024\150\012" -"\117\140\024\052" -, (PRUint32)20 }, - { (void *)"\263\234\045\261\303\056\062\123\200\025\060\235\115\002\167\076" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_34 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary Certification Authority", (PRUint32)56 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\160\272\344\035\020\331\051\064\266\070\312\173\003\314\272\277" -, (PRUint32)16 }, - { (void *)"\060\202\002\074\060\202\001\245\002\020\160\272\344\035\020\331" -"\051\064\266\070\312\173\003\314\272\277\060\015\006\011\052\206" -"\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011\006" -"\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004" -"\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143" -"\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141\163" -"\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155\141" -"\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156" -"\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\066" -"\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060" -"\070\060\061\062\063\065\071\065\071\132\060\137\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125" -"\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141" -"\163\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155" -"\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060\015" -"\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215" -"\000\060\201\211\002\201\201\000\311\134\131\236\362\033\212\001" -"\024\264\020\337\004\100\333\343\127\257\152\105\100\217\204\014" -"\013\321\063\331\331\021\317\356\002\130\037\045\367\052\250\104" -"\005\252\354\003\037\170\177\236\223\271\232\000\252\043\175\326" -"\254\205\242\143\105\307\162\047\314\364\114\306\165\161\322\071" -"\357\117\102\360\165\337\012\220\306\216\040\157\230\017\370\254" -"\043\137\160\051\066\244\311\206\347\261\232\040\313\123\245\205" -"\347\075\276\175\232\376\044\105\063\334\166\025\355\017\242\161" -"\144\114\145\056\201\150\105\247\002\003\001\000\001\060\015\006" -"\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201\000" -"\273\114\022\053\317\054\046\000\117\024\023\335\246\373\374\012" -"\021\204\214\363\050\034\147\222\057\174\266\305\372\337\360\350" -"\225\274\035\217\154\054\250\121\314\163\330\244\300\123\360\116" -"\326\046\300\166\001\127\201\222\136\041\361\321\261\377\347\320" -"\041\130\315\151\027\343\104\034\234\031\104\071\211\134\334\234" -"\000\017\126\215\002\231\355\242\220\105\114\344\273\020\244\075" -"\360\062\003\016\361\316\370\350\311\121\214\346\142\237\346\237" -"\300\175\267\162\234\311\066\072\153\237\116\250\377\144\015\144" -, (PRUint32)576 } -}; -static const NSSItem nss_builtins_items_35 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary Certification Authority", (PRUint32)56 }, - { (void *)"\164\054\061\222\346\007\344\044\353\105\111\124\053\341\273\305" -"\076\141\164\342" -, (PRUint32)20 }, - { (void *)"\020\374\143\135\366\046\076\015\363\045\276\137\171\315\147\147" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_36 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\061\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\061\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"\114\307\352\252\230\076\161\323\223\020\370\075\072\211\221\222" -, (PRUint32)16 }, - { (void *)"\060\202\003\002\060\202\002\153\002\020\114\307\352\252\230\076" -"\161\323\223\020\370\075\072\211\221\222\060\015\006\011\052\206" -"\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125" -"\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141" -"\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151\155" -"\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062" -"\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061" -"\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151" -"\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027" -"\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015" -"\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301" -"\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060" -"\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023" -"\063\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040" -"\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050" -"\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164" -"\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171" -"\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123" -"\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162" -"\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001" -"\001\005\000\003\201\215\000\060\201\211\002\201\201\000\252\320" -"\272\276\026\055\270\203\324\312\322\017\274\166\061\312\224\330" -"\035\223\214\126\002\274\331\157\032\157\122\066\156\165\126\012" -"\125\323\337\103\207\041\021\145\212\176\217\275\041\336\153\062" -"\077\033\204\064\225\005\235\101\065\353\222\353\226\335\252\131" -"\077\001\123\155\231\117\355\345\342\052\132\220\301\271\304\246" -"\025\317\310\105\353\246\135\216\234\076\360\144\044\166\245\315" -"\253\032\157\266\330\173\121\141\156\246\177\207\310\342\267\345" -"\064\334\101\210\352\011\100\276\163\222\075\153\347\165\002\003" -"\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005" -"\005\000\003\201\201\000\251\117\303\015\307\147\276\054\313\331" -"\250\315\055\165\347\176\025\236\073\162\353\176\353\134\055\011" -"\207\326\153\155\140\174\345\256\305\220\043\014\134\112\320\257" -"\261\135\363\307\266\012\333\340\025\223\015\335\003\274\307\166" -"\212\265\335\117\303\233\023\165\270\001\300\346\311\133\153\245" -"\270\211\334\254\244\335\162\355\116\241\367\117\274\006\323\352" -"\310\144\164\173\302\225\101\234\145\163\130\361\220\232\074\152" -"\261\230\311\304\207\274\317\105\155\105\342\156\042\077\376\274" -"\017\061\134\350\362\331" -, (PRUint32)774 } -}; -static const NSSItem nss_builtins_items_37 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)"\047\076\341\044\127\375\304\371\014\125\350\053\126\026\177\142" -"\365\062\345\107" -, (PRUint32)20 }, - { (void *)"\333\043\075\371\151\372\113\271\225\200\104\163\136\175\101\203" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_38 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\062\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\062\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"\000\271\057\140\314\210\237\241\172\106\011\270\133\160\154\212" -"\257" -, (PRUint32)17 }, - { (void *)"\060\202\003\003\060\202\002\154\002\021\000\271\057\140\314\210" -"\237\241\172\106\011\270\133\160\154\212\257\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060" -"\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003" -"\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154" -"\141\163\163\040\062\040\120\165\142\154\151\143\040\120\162\151" -"\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151" -"\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107" -"\062\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040" -"\061\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162" -"\151\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060" -"\035\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156" -"\040\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036" -"\027\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027" -"\015\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201" -"\301\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027" -"\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147" -"\156\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013" -"\023\063\103\154\141\163\163\040\062\040\120\165\142\154\151\143" -"\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151" -"\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171" -"\040\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061" -"\050\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147" -"\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165" -"\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154" -"\171\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151" -"\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157" -"\162\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001" -"\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\247" -"\210\001\041\164\054\347\032\003\360\230\341\227\074\017\041\010" -"\361\234\333\227\351\232\374\302\004\006\023\276\137\122\310\314" -"\036\054\022\126\054\270\001\151\054\314\231\037\255\260\226\256" -"\171\004\362\023\071\301\173\230\272\010\054\350\302\204\023\054" -"\252\151\351\011\364\307\251\002\244\102\302\043\117\112\330\360" -"\016\242\373\061\154\311\346\157\231\047\007\365\346\364\114\170" -"\236\155\353\106\206\372\271\206\311\124\362\262\304\257\324\106" -"\034\132\311\025\060\377\015\154\365\055\016\155\316\177\167\002" -"\003\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001" -"\005\005\000\003\201\201\000\162\056\371\177\321\361\161\373\304" -"\236\366\305\136\121\212\100\230\270\150\370\233\034\203\330\342" -"\235\275\377\355\241\346\146\352\057\011\364\312\327\352\245\053" -"\225\366\044\140\206\115\104\056\203\245\304\055\240\323\256\170" -"\151\157\162\332\154\256\010\360\143\222\067\346\273\304\060\027" -"\255\167\314\111\065\252\317\330\217\321\276\267\030\226\107\163" -"\152\124\042\064\144\055\266\026\233\131\133\264\121\131\072\263" -"\013\024\364\022\337\147\240\364\255\062\144\136\261\106\162\047" -"\214\022\173\305\104\264\256" -, (PRUint32)775 } -}; -static const NSSItem nss_builtins_items_39 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)"\263\352\304\107\166\311\310\034\352\362\235\225\266\314\240\010" -"\033\147\354\235" -, (PRUint32)20 }, - { (void *)"\055\273\345\045\323\321\145\202\072\267\016\372\346\353\342\341" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_40 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\063\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\063\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"\175\331\376\007\317\250\036\267\020\171\147\373\247\211\064\306" -, (PRUint32)16 }, - { (void *)"\060\202\003\002\060\202\002\153\002\020\175\331\376\007\317\250" -"\036\267\020\171\147\373\247\211\064\306\060\015\006\011\052\206" -"\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125" -"\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141" -"\163\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155" -"\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062" -"\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061" -"\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151" -"\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027" -"\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015" -"\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301" -"\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060" -"\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023" -"\063\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040" -"\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050" -"\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164" -"\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171" -"\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123" -"\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162" -"\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001" -"\001\005\000\003\201\215\000\060\201\211\002\201\201\000\314\136" -"\321\021\135\134\151\320\253\323\271\152\114\231\037\131\230\060" -"\216\026\205\040\106\155\107\077\324\205\040\204\341\155\263\370" -"\244\355\014\361\027\017\073\371\247\371\045\327\301\317\204\143" -"\362\174\143\317\242\107\362\306\133\063\216\144\100\004\150\301" -"\200\271\144\034\105\167\307\330\156\365\225\051\074\120\350\064" -"\327\170\037\250\272\155\103\221\225\217\105\127\136\176\305\373" -"\312\244\004\353\352\227\067\124\060\157\273\001\107\062\063\315" -"\334\127\233\144\151\141\370\233\035\034\211\117\134\147\002\003" -"\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005" -"\005\000\003\201\201\000\121\115\315\276\134\313\230\031\234\025" -"\262\001\071\170\056\115\017\147\160\160\231\306\020\132\224\244" -"\123\115\124\155\053\257\015\135\100\213\144\323\327\356\336\126" -"\141\222\137\246\304\035\020\141\066\323\054\047\074\350\051\011" -"\271\021\144\164\314\265\163\237\034\110\251\274\141\001\356\342" -"\027\246\014\343\100\010\073\016\347\353\104\163\052\232\361\151" -"\222\357\161\024\303\071\254\161\247\221\011\157\344\161\006\263" -"\272\131\127\046\171\000\366\370\015\242\063\060\050\324\252\130" -"\240\235\235\151\221\375" -, (PRUint32)774 } -}; -static const NSSItem nss_builtins_items_41 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)"\205\067\034\246\345\120\024\075\316\050\003\107\033\336\072\011" -"\350\370\167\017" -, (PRUint32)20 }, - { (void *)"\242\063\233\114\164\170\163\324\154\347\301\363\215\313\134\351" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_42 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 4 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\064\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125" -"\004\013\023\063\103\154\141\163\163\040\064\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013" -"\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040" -"\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157" -"\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153" -, (PRUint32)196 }, - { (void *)"\062\210\216\232\322\365\353\023\107\370\177\304\040\067\045\370" -, (PRUint32)16 }, - { (void *)"\060\202\003\002\060\202\002\153\002\020\062\210\216\232\322\365" -"\353\023\107\370\177\304\040\067\045\370\060\015\006\011\052\206" -"\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125" -"\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141" -"\163\163\040\064\040\120\165\142\154\151\143\040\120\162\151\155" -"\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157" -"\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062" -"\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061" -"\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151" -"\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027" -"\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015" -"\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301" -"\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060" -"\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023" -"\063\103\154\141\163\163\040\064\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040" -"\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050" -"\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164" -"\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171" -"\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123" -"\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162" -"\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001" -"\001\005\000\003\201\215\000\060\201\211\002\201\201\000\272\360" -"\344\317\371\304\256\205\124\271\007\127\371\217\305\177\150\021" -"\370\304\027\260\104\334\343\060\163\325\052\142\052\270\320\314" -"\034\355\050\133\176\275\152\334\263\221\044\312\101\142\074\374" -"\002\001\277\034\026\061\224\005\227\166\156\242\255\275\141\027" -"\154\116\060\206\360\121\067\052\120\307\250\142\201\334\133\112" -"\252\301\240\264\156\353\057\345\127\305\261\053\100\160\333\132" -"\115\241\216\037\275\003\037\330\003\324\217\114\231\161\274\342" -"\202\314\130\350\230\072\206\323\206\070\363\000\051\037\002\003" -"\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005" -"\005\000\003\201\201\000\205\214\022\301\247\271\120\025\172\313" -"\076\254\270\103\212\334\252\335\024\272\211\201\176\001\074\043" -"\161\041\210\057\202\334\143\372\002\105\254\105\131\327\052\130" -"\104\133\267\237\201\073\222\150\075\342\067\044\365\173\154\217" -"\166\065\226\011\250\131\235\271\316\043\253\164\326\203\375\062" -"\163\047\330\151\076\103\164\366\256\305\211\232\347\123\174\351" -"\173\366\113\363\301\145\203\336\215\212\234\074\210\215\071\131" -"\374\252\077\042\215\241\301\146\120\201\162\114\355\042\144\117" -"\117\312\200\221\266\051" -, (PRUint32)774 } -}; -static const NSSItem nss_builtins_items_43 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 4 Public Primary Certification Authority - G2", (PRUint32)61 }, - { (void *)"\013\167\276\273\313\172\242\107\005\336\314\017\275\152\002\374" -"\172\275\233\122" -, (PRUint32)20 }, - { (void *)"\046\155\054\031\230\266\160\150\070\120\124\031\354\220\064\140" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_44 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Root CA", (PRUint32)19 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003" -"\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031" -"\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147" -"\156\040\122\157\157\164\040\103\101" -, (PRUint32)89 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003" -"\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031" -"\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147" -"\156\040\122\157\157\164\040\103\101" -, (PRUint32)89 }, - { (void *)"\002\000\000\000\000\000\326\170\267\224\005" -, (PRUint32)11 }, - { (void *)"\060\202\003\165\060\202\002\135\240\003\002\001\002\002\013\002" -"\000\000\000\000\000\326\170\267\224\005\060\015\006\011\052\206" -"\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006" -"\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004" -"\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166" -"\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157" -"\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022" -"\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040" -"\103\101\060\036\027\015\071\070\060\071\060\061\061\062\060\060" -"\060\060\132\027\015\061\064\060\061\062\070\061\062\060\060\060" -"\060\132\060\127\061\013\060\011\006\003\125\004\006\023\002\102" -"\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142" -"\141\154\123\151\147\156\040\156\166\055\163\141\061\020\060\016" -"\006\003\125\004\013\023\007\122\157\157\164\040\103\101\061\033" -"\060\031\006\003\125\004\003\023\022\107\154\157\142\141\154\123" -"\151\147\156\040\122\157\157\164\040\103\101\060\202\001\042\060" -"\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202" -"\001\017\000\060\202\001\012\002\202\001\001\000\332\016\346\231" -"\215\316\243\343\117\212\176\373\361\213\203\045\153\352\110\037" -"\361\052\260\271\225\021\004\275\360\143\321\342\147\146\317\034" -"\335\317\033\110\053\356\215\211\216\232\257\051\200\145\253\351" -"\307\055\022\313\253\034\114\160\007\241\075\012\060\315\025\215" -"\117\370\335\324\214\120\025\034\357\120\356\304\056\367\374\351" -"\122\362\221\175\340\155\325\065\060\216\136\103\163\362\101\351" -"\325\152\343\262\211\072\126\071\070\157\006\074\210\151\133\052" -"\115\305\247\124\270\154\211\314\233\371\074\312\345\375\211\365" -"\022\074\222\170\226\326\334\164\156\223\104\141\321\215\307\106" -"\262\165\016\206\350\031\212\325\155\154\325\170\026\225\242\351" -"\310\012\070\353\362\044\023\117\163\124\223\023\205\072\033\274" -"\036\064\265\213\005\214\271\167\213\261\333\037\040\221\253\011" -"\123\156\220\316\173\067\164\271\160\107\221\042\121\143\026\171" -"\256\261\256\101\046\010\310\031\053\321\106\252\110\326\144\052" -"\327\203\064\377\054\052\301\154\031\103\112\007\205\347\323\174" -"\366\041\150\357\352\362\122\237\177\223\220\317\002\003\001\000" -"\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004" -"\004\003\002\000\006\060\035\006\003\125\035\016\004\026\004\024" -"\140\173\146\032\105\015\227\312\211\120\057\175\004\315\064\250" -"\377\374\375\113\060\017\006\003\125\035\023\001\001\377\004\005" -"\060\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001" -"\001\004\005\000\003\202\001\001\000\256\252\237\374\267\322\313" -"\037\137\071\051\050\030\236\064\311\154\117\157\032\360\144\242" -"\160\112\117\023\206\233\140\050\236\350\201\111\230\175\012\273" -"\345\260\235\075\066\333\217\005\121\377\011\061\052\037\335\211" -"\167\236\017\056\154\225\004\355\206\313\264\000\077\204\002\115" -"\200\152\052\055\170\013\256\157\053\242\203\104\203\037\315\120" -"\202\114\044\257\275\367\245\264\310\132\017\364\347\107\136\111" -"\216\067\226\376\232\210\005\072\331\300\333\051\207\346\031\226" -"\107\247\072\246\214\213\074\167\376\106\143\247\123\332\041\321" -"\254\176\111\242\113\346\303\147\131\057\263\212\016\273\054\275" -"\251\252\102\174\065\301\330\177\325\247\061\072\116\143\103\071" -"\257\010\260\141\064\214\323\230\251\103\064\366\017\207\051\073" -"\235\302\126\130\230\167\303\367\033\254\366\235\370\076\252\247" -"\124\105\360\365\371\325\061\145\376\153\130\234\161\263\036\327" -"\122\352\062\027\374\100\140\035\311\171\044\262\366\154\375\250" -"\146\016\202\335\230\313\332\302\104\117\056\240\173\362\367\153" -"\054\166\021\204\106\212\170\243\343" -, (PRUint32)889 } -}; -static const NSSItem nss_builtins_items_45 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Root CA", (PRUint32)19 }, - { (void *)"\057\027\077\175\351\226\147\257\245\172\370\012\242\321\261\057" -"\254\203\003\070" -, (PRUint32)20 }, - { (void *)"\253\277\352\343\153\051\246\314\246\170\065\231\357\255\053\200" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_46 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Partners CA", (PRUint32)23 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\024\060\022\006\003" -"\125\004\013\023\013\120\141\162\164\156\145\162\163\040\103\101" -"\061\037\060\035\006\003\125\004\003\023\026\107\154\157\142\141" -"\154\123\151\147\156\040\120\141\162\164\156\145\162\163\040\103" -"\101" -, (PRUint32)97 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003" -"\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031" -"\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147" -"\156\040\122\157\157\164\040\103\101" -, (PRUint32)89 }, - { (void *)"\002\000\000\000\000\000\326\170\271\321\257" -, (PRUint32)11 }, - { (void *)"\060\202\003\236\060\202\002\206\240\003\002\001\002\002\013\002" -"\000\000\000\000\000\326\170\271\321\257\060\015\006\011\052\206" -"\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006" -"\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004" -"\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166" -"\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157" -"\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022" -"\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040" -"\103\101\060\036\027\015\071\071\060\061\062\070\061\062\060\060" -"\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060" -"\060\132\060\137\061\013\060\011\006\003\125\004\006\023\002\102" -"\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142" -"\141\154\123\151\147\156\040\156\166\055\163\141\061\024\060\022" -"\006\003\125\004\013\023\013\120\141\162\164\156\145\162\163\040" -"\103\101\061\037\060\035\006\003\125\004\003\023\026\107\154\157" -"\142\141\154\123\151\147\156\040\120\141\162\164\156\145\162\163" -"\040\103\101\060\202\001\042\060\015\006\011\052\206\110\206\367" -"\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002" -"\202\001\001\000\322\054\370\062\254\112\022\172\067\310\051\221" -"\245\256\214\156\036\016\300\064\063\210\345\063\161\026\034\170" -"\204\150\303\030\064\120\056\026\076\261\224\202\117\261\232\237" -"\000\370\306\021\065\306\151\173\230\002\255\000\006\210\154\347" -"\114\063\050\000\210\047\106\037\207\263\161\165\143\274\062\273" -"\210\336\146\030\016\120\006\223\264\366\274\024\067\060\075\042" -"\337\075\377\165\176\331\012\032\305\237\263\374\320\254\263\010" -"\172\211\323\001\350\000\134\347\112\013\075\115\173\046\242\267" -"\142\006\213\332\106\335\223\027\077\077\133\002\113\013\266\210" -"\040\021\222\000\255\273\307\056\324\343\105\256\365\211\132\174" -"\215\244\255\205\144\062\300\047\214\306\362\212\200\222\206\044" -"\126\131\215\164\150\242\203\102\263\236\075\120\101\206\157\040" -"\156\366\375\316\323\031\343\062\314\217\355\232\136\155\037\050" -"\365\122\254\156\030\136\370\075\321\222\345\272\154\001\210\113" -"\012\362\055\336\145\063\005\102\240\114\252\061\166\276\375\277" -"\201\170\371\161\034\106\136\055\025\225\055\060\131\216\114\101" -"\321\142\253\075\002\003\001\000\001\243\143\060\141\060\016\006" -"\003\125\035\017\001\001\377\004\004\003\002\000\006\060\035\006" -"\003\125\035\016\004\026\004\024\103\044\215\160\025\010\142\125" -"\234\117\014\100\027\135\206\136\017\242\114\373\060\037\006\003" -"\125\035\043\004\030\060\026\200\024\140\173\146\032\105\015\227" -"\312\211\120\057\175\004\315\064\250\377\374\375\113\060\017\006" -"\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015" -"\006\011\052\206\110\206\367\015\001\001\004\005\000\003\202\001" -"\001\000\146\355\264\210\151\021\231\202\041\203\254\241\155\213" -"\233\204\255\017\055\310\036\214\312\173\176\255\252\324\216\336" -"\007\326\236\105\307\245\270\234\007\071\140\045\125\032\300\117" -"\031\345\317\027\051\111\211\030\065\146\345\353\050\100\116\127" -"\311\257\263\344\270\040\005\243\073\225\120\221\111\224\051\175" -"\054\345\210\101\245\105\210\136\235\202\047\367\322\357\133\265" -"\117\237\276\376\065\145\054\125\144\237\341\121\332\042\141\167" -"\272\130\116\217\306\171\131\131\156\060\200\242\117\220\156\041" -"\013\255\320\150\071\220\020\233\355\042\145\157\036\021\070\346" -"\177\214\322\363\071\155\107\325\041\350\352\165\072\101\321\255" -"\366\026\235\135\013\041\275\363\037\143\006\045\035\301\037\065" -"\161\054\353\040\031\325\301\260\354\075\345\157\355\002\007\077" -"\023\173\146\222\326\104\301\230\367\137\120\213\172\133\302\157" -"\155\260\321\370\345\164\240\100\067\243\045\017\344\075\312\144" -"\061\223\220\134\060\173\271\071\061\232\136\114\315\271\101\117" -"\120\344\075\070\256\310\146\331\307\073\135\121\107\254\233\253" -"\362\255" -, (PRUint32)930 } -}; -static const NSSItem nss_builtins_items_47 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Partners CA", (PRUint32)23 }, - { (void *)"\204\304\217\000\351\221\354\336\333\264\030\251\213\357\241\172" -"\107\355\162\230" -, (PRUint32)20 }, - { (void *)"\074\165\315\114\275\251\320\212\171\117\120\026\067\204\364\053" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_48 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Primary Class 1 CA", (PRUint32)30 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\155\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\033\060\031\006\003" -"\125\004\013\023\022\120\162\151\155\141\162\171\040\103\154\141" -"\163\163\040\061\040\103\101\061\046\060\044\006\003\125\004\003" -"\023\035\107\154\157\142\141\154\123\151\147\156\040\120\162\151" -"\155\141\162\171\040\103\154\141\163\163\040\061\040\103\101" -, (PRUint32)111 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003" -"\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031" -"\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147" -"\156\040\122\157\157\164\040\103\101" -, (PRUint32)89 }, - { (void *)"\002\000\000\000\000\000\326\170\270\067\317" -, (PRUint32)11 }, - { (void *)"\060\202\003\254\060\202\002\224\240\003\002\001\002\002\013\002" -"\000\000\000\000\000\326\170\270\067\317\060\015\006\011\052\206" -"\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006" -"\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004" -"\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166" -"\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157" -"\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022" -"\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040" -"\103\101\060\036\027\015\071\070\060\071\061\065\061\062\060\060" -"\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060" -"\060\132\060\155\061\013\060\011\006\003\125\004\006\023\002\102" -"\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142" -"\141\154\123\151\147\156\040\156\166\055\163\141\061\033\060\031" -"\006\003\125\004\013\023\022\120\162\151\155\141\162\171\040\103" -"\154\141\163\163\040\061\040\103\101\061\046\060\044\006\003\125" -"\004\003\023\035\107\154\157\142\141\154\123\151\147\156\040\120" -"\162\151\155\141\162\171\040\103\154\141\163\163\040\061\040\103" -"\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001" -"\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001" -"\001\000\275\040\065\107\321\050\326\010\243\022\071\043\107\015" -"\275\160\041\122\016\127\061\225\246\064\127\153\354\176\103\171" -"\303\006\122\110\315\274\265\241\231\275\330\037\062\274\317\327" -"\156\162\155\056\167\042\220\202\116\113\217\232\014\001\102\232" -"\331\160\131\266\235\037\346\143\321\014\255\035\116\370\205\201" -"\371\256\357\237\246\122\141\104\171\032\165\105\340\141\126\105" -"\155\102\214\075\162\313\246\244\022\267\232\365\326\140\320\140" -"\120\263\216\246\246\354\264\364\022\315\177\250\316\357\263\341" -"\205\060\376\162\304\346\347\167\263\236\130\101\326\121\203\210" -"\007\306\266\151\117\066\336\321\013\110\077\275\326\237\041\164" -"\144\157\047\006\076\113\375\016\246\233\277\244\110\127\214\220" -"\356\211\030\013\002\201\030\276\147\376\123\140\210\047\272\243" -"\163\064\113\132\126\264\336\163\005\355\230\226\135\354\112\347" -"\100\374\113\011\142\353\320\343\061\117\205\321\172\253\131\147" -"\053\373\210\017\353\252\203\275\065\375\141\047\354\146\016\102" -"\127\367\151\302\014\357\374\152\302\156\111\332\217\101\070\256" -"\110\251\002\003\001\000\001\243\143\060\141\060\016\006\003\125" -"\035\017\001\001\377\004\004\003\002\000\006\060\035\006\003\125" -"\035\016\004\026\004\024\374\340\146\366\132\065\231\353\100\036" -"\322\270\036\103\274\230\216\037\212\303\060\037\006\003\125\035" -"\043\004\030\060\026\200\024\140\173\146\032\105\015\227\312\211" -"\120\057\175\004\315\064\250\377\374\375\113\060\017\006\003\125" -"\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011" -"\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001\000" -"\233\243\010\104\316\362\220\235\161\363\062\263\005\152\265\352" -"\317\051\230\336\125\076\240\026\175\006\172\104\326\257\322\372" -"\023\130\214\370\034\307\253\035\264\033\357\151\150\230\134\010" -"\071\217\340\367\373\110\314\041\347\270\063\333\005\252\064\044" -"\154\112\345\351\173\140\336\203\263\037\012\276\101\165\374\314" -"\060\110\267\301\046\035\004\063\252\266\170\355\052\313\272\126" -"\227\062\156\367\061\225\056\106\362\024\356\047\307\367\142\211" -"\271\134\132\323\070\212\144\365\067\264\361\263\064\162\325\325" -"\041\075\113\327\170\223\327\061\146\065\036\243\330\107\111\157" -"\034\255\341\200\177\370\230\044\154\163\254\016\302\032\167\002" -"\243\046\007\267\307\153\135\274\202\325\052\110\035\143\317\120" -"\062\246\373\034\030\107\025\012\133\014\134\070\044\232\004\230" -"\250\010\110\137\174\064\207\143\253\055\215\114\000\167\224\033" -"\166\272\365\026\030\243\025\257\057\224\366\051\000\166\301\025" -"\027\323\351\067\115\166\324\313\113\051\131\044\254\332\112\240" -"\352\143\336\137\124\261\372\363\321\105\313\305\144\264\163\041" -, (PRUint32)944 } -}; -static const NSSItem nss_builtins_items_49 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Primary Class 1 CA", (PRUint32)30 }, - { (void *)"\353\061\124\315\041\226\363\125\022\053\211\147\267\163\002\102" -"\355\321\336\113" -, (PRUint32)20 }, - { (void *)"\134\254\131\001\244\206\123\313\020\146\265\326\326\161\377\001" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_50 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Primary Class 2 CA", (PRUint32)30 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\155\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\033\060\031\006\003" -"\125\004\013\023\022\120\162\151\155\141\162\171\040\103\154\141" -"\163\163\040\062\040\103\101\061\046\060\044\006\003\125\004\003" -"\023\035\107\154\157\142\141\154\123\151\147\156\040\120\162\151" -"\155\141\162\171\040\103\154\141\163\163\040\062\040\103\101" -, (PRUint32)111 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003" -"\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031" -"\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147" -"\156\040\122\157\157\164\040\103\101" -, (PRUint32)89 }, - { (void *)"\002\000\000\000\000\000\326\170\270\215\215" -, (PRUint32)11 }, - { (void *)"\060\202\003\254\060\202\002\224\240\003\002\001\002\002\013\002" -"\000\000\000\000\000\326\170\270\215\215\060\015\006\011\052\206" -"\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006" -"\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004" -"\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166" -"\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157" -"\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022" -"\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040" -"\103\101\060\036\027\015\071\071\060\061\062\070\061\062\060\060" -"\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060" -"\060\132\060\155\061\013\060\011\006\003\125\004\006\023\002\102" -"\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142" -"\141\154\123\151\147\156\040\156\166\055\163\141\061\033\060\031" -"\006\003\125\004\013\023\022\120\162\151\155\141\162\171\040\103" -"\154\141\163\163\040\062\040\103\101\061\046\060\044\006\003\125" -"\004\003\023\035\107\154\157\142\141\154\123\151\147\156\040\120" -"\162\151\155\141\162\171\040\103\154\141\163\163\040\062\040\103" -"\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001" -"\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001" -"\001\000\222\214\376\357\364\105\216\027\101\156\374\330\277\041" -"\157\253\006\235\122\301\054\000\235\077\216\205\270\177\112\217" -"\275\240\143\052\312\111\047\256\132\202\364\164\342\125\222\377" -"\302\321\252\171\242\266\372\325\235\202\004\117\306\262\306\136" -"\143\247\072\272\330\356\353\212\157\237\266\273\050\101\300\042" -"\373\116\110\032\006\222\327\277\327\317\271\331\275\070\117\073" -"\015\104\156\125\101\376\374\011\333\330\277\363\216\041\361\350" -"\022\265\366\023\245\323\306\114\223\042\260\002\377\356\035\014" -"\304\250\153\117\165\150\126\350\334\050\022\120\367\250\044\235" -"\056\044\071\373\011\005\336\345\243\144\111\041\320\150\176\161" -"\060\221\261\140\340\071\364\120\370\172\115\230\000\153\174\171" -"\272\116\316\112\342\272\066\035\267\305\066\025\225\234\144\102" -"\352\137\304\272\365\100\005\276\341\072\131\275\204\247\031\270" -"\336\115\123\120\316\007\321\322\121\323\357\015\201\154\346\347" -"\155\313\135\174\077\174\314\354\117\203\047\045\377\160\120\366" -"\203\131\165\204\006\146\130\054\336\211\215\000\246\111\371\245" -"\103\167\002\003\001\000\001\243\143\060\141\060\016\006\003\125" -"\035\017\001\001\377\004\004\003\002\000\006\060\035\006\003\125" -"\035\016\004\026\004\024\174\347\262\261\054\336\261\247\153\351" -"\166\014\341\243\375\116\154\307\271\366\060\037\006\003\125\035" -"\043\004\030\060\026\200\024\140\173\146\032\105\015\227\312\211" -"\120\057\175\004\315\064\250\377\374\375\113\060\017\006\003\125" -"\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011" -"\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001\000" -"\143\335\131\316\212\171\252\230\235\116\305\211\144\067\176\212" -"\223\147\057\020\352\157\047\303\215\167\155\362\134\126\224\031" -"\032\151\140\060\106\135\217\362\155\105\074\216\065\227\174\057" -"\270\121\342\350\211\275\210\317\047\034\010\064\134\210\301\150" -"\044\333\221\205\344\317\373\373\103\215\350\045\001\033\304\016" -"\367\000\102\110\206\037\044\010\130\132\214\215\362\153\107\054" -"\150\221\261\151\102\375\015\215\311\046\346\222\206\246\144\156" -"\222\305\316\076\074\175\161\343\043\244\253\307\325\250\251\337" -"\202\247\073\350\206\325\303\117\030\343\104\320\340\334\363\305" -"\150\056\376\245\057\005\204\310\176\107\102\123\153\207\112\376" -"\062\377\136\076\160\214\267\250\025\314\027\302\377\106\354\320" -"\354\055\264\156\022\050\251\371\100\351\353\324\146\227\123\251" -"\151\125\300\251\252\262\056\315\321\151\364\276\370\273\174\151" -"\356\124\246\333\236\373\132\246\076\376\232\357\224\121\113\165" -"\356\330\324\341\232\361\002\126\023\211\016\247\102\213\226\213" -"\205\014\033\205\276\046\256\253\246\231\274\042\361\163\337\102" -, (PRUint32)944 } -}; -static const NSSItem nss_builtins_items_51 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Primary Class 2 CA", (PRUint32)30 }, - { (void *)"\203\376\336\325\161\343\226\317\307\144\367\073\337\026\166\207" -"\162\305\037\314" -, (PRUint32)20 }, - { (void *)"\251\251\102\131\176\276\132\224\344\054\306\213\034\052\104\266" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_52 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Primary Class 3 CA", (PRUint32)30 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\155\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\033\060\031\006\003" -"\125\004\013\023\022\120\162\151\155\141\162\171\040\103\154\141" -"\163\163\040\063\040\103\101\061\046\060\044\006\003\125\004\003" -"\023\035\107\154\157\142\141\154\123\151\147\156\040\120\162\151" -"\155\141\162\171\040\103\154\141\163\163\040\063\040\103\101" -, (PRUint32)111 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061" -"\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154" -"\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003" -"\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031" -"\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147" -"\156\040\122\157\157\164\040\103\101" -, (PRUint32)89 }, - { (void *)"\002\000\000\000\000\000\326\170\270\326\303" -, (PRUint32)11 }, - { (void *)"\060\202\003\254\060\202\002\224\240\003\002\001\002\002\013\002" -"\000\000\000\000\000\326\170\270\326\303\060\015\006\011\052\206" -"\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006" -"\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004" -"\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166" -"\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157" -"\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022" -"\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040" -"\103\101\060\036\027\015\071\071\060\061\062\070\061\062\060\060" -"\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060" -"\060\132\060\155\061\013\060\011\006\003\125\004\006\023\002\102" -"\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142" -"\141\154\123\151\147\156\040\156\166\055\163\141\061\033\060\031" -"\006\003\125\004\013\023\022\120\162\151\155\141\162\171\040\103" -"\154\141\163\163\040\063\040\103\101\061\046\060\044\006\003\125" -"\004\003\023\035\107\154\157\142\141\154\123\151\147\156\040\120" -"\162\151\155\141\162\171\040\103\154\141\163\163\040\063\040\103" -"\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001" -"\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001" -"\001\000\221\136\126\145\326\300\300\004\234\277\107\304\134\173" -"\172\061\001\371\130\226\231\343\034\204\057\334\126\217\255\365" -"\131\201\325\103\146\135\132\223\214\165\312\251\347\021\301\121" -"\020\024\140\311\054\324\173\257\306\167\206\253\172\047\256\157" -"\225\271\013\312\266\106\373\176\032\364\015\024\155\322\311\116" -"\262\256\360\124\366\134\100\114\066\110\164\350\124\214\145\146" -"\020\247\275\053\267\040\215\005\111\255\170\175\322\044\043\120" -"\343\360\264\171\233\001\071\377\257\073\323\055\356\341\111\215" -"\215\057\074\152\101\105\057\233\343\075\341\022\344\221\165\236" -"\317\240\076\074\222\201\157\212\056\030\334\340\362\214\214\375" -"\207\331\007\364\100\224\311\116\117\103\337\147\126\157\275\003" -"\120\174\231\147\244\271\074\221\154\002\156\204\326\374\106\367" -"\314\157\030\076\027\360\357\013\144\026\127\346\254\206\361\110" -"\252\103\301\311\047\170\163\104\105\342\205\175\272\377\263\341" -"\373\033\005\244\113\073\231\022\045\001\120\024\152\257\135\352" -"\310\014\356\344\332\354\113\213\134\150\023\225\334\303\265\060" -"\072\327\002\003\001\000\001\243\143\060\141\060\016\006\003\125" -"\035\017\001\001\377\004\004\003\002\000\006\060\035\006\003\125" -"\035\016\004\026\004\024\314\066\314\027\264\105\221\057\355\317" -"\073\060\110\167\373\265\024\231\276\343\060\037\006\003\125\035" -"\043\004\030\060\026\200\024\140\173\146\032\105\015\227\312\211" -"\120\057\175\004\315\064\250\377\374\375\113\060\017\006\003\125" -"\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011" -"\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001\000" -"\127\262\124\314\275\225\027\144\140\211\266\123\221\014\105\222" -"\303\075\250\154\303\314\262\030\365\170\101\164\330\175\243\047" -"\257\167\015\131\076\224\035\151\372\211\323\014\275\032\001\364" -"\077\350\340\167\032\202\050\132\346\142\327\267\343\066\311\016" -"\237\172\343\302\323\314\131\211\014\357\026\213\360\066\167\042" -"\312\244\266\267\301\102\147\001\100\143\314\347\070\144\207\133" -"\024\226\146\173\055\024\356\275\111\155\377\167\320\342\116\133" -"\323\200\302\115\017\312\270\235\201\227\247\064\156\307\343\234" -"\110\345\264\252\105\365\366\145\114\110\362\022\302\322\223\214" -"\302\025\044\363\053\122\377\343\010\256\270\156\326\054\022\317" -"\071\313\022\052\347\251\173\137\230\075\243\341\314\246\143\211" -"\134\175\061\165\371\325\326\135\362\320\324\075\337\236\161\250" -"\016\334\344\040\227\170\346\177\123\244\015\121\117\216\073\003" -"\256\243\015\132\115\303\171\347\065\130\160\102\311\136\241\136" -"\264\331\042\243\104\123\065\244\320\317\163\200\305\317\237\126" -"\230\166\371\024\114\167\207\202\311\334\176\135\064\325\066\165" -, (PRUint32)944 } -}; -static const NSSItem nss_builtins_items_53 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"GlobalSign Primary Class 3 CA", (PRUint32)30 }, - { (void *)"\164\003\311\063\110\252\304\367\016\051\364\320\025\022\364\106" -"\111\017\165\214" -, (PRUint32)20 }, - { (void *)"\230\022\243\113\225\251\226\144\224\347\120\214\076\341\203\132" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_54 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert Class 1 VA", (PRUint32)20 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154" -"\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157" -"\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125" -"\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166" -"\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036" -"\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146" -"\157\100\166\141\154\151\143\145\162\164\056\143\157\155" -, (PRUint32)190 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154" -"\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157" -"\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125" -"\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166" -"\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036" -"\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146" -"\157\100\166\141\154\151\143\145\162\164\056\143\157\155" -, (PRUint32)190 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060" -"\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164" -"\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167" -"\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141" -"\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063" -"\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040" -"\103\154\141\163\163\040\061\040\120\157\154\151\143\171\040\126" -"\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162" -"\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164" -"\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162" -"\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206" -"\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151" -"\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066" -"\062\065\062\062\062\063\064\070\132\027\015\061\071\060\066\062" -"\065\062\062\062\063\064\070\132\060\201\273\061\044\060\042\006" -"\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126" -"\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162" -"\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151" -"\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003" -"\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154" -"\141\163\163\040\061\040\120\157\154\151\143\171\040\126\141\154" -"\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160" -"\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056" -"\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015" -"\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145" -"\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110" -"\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002" -"\201\201\000\330\131\202\172\211\270\226\272\246\057\150\157\130" -"\056\247\124\034\006\156\364\352\215\110\274\061\224\027\360\363" -"\116\274\262\270\065\222\166\260\320\245\245\001\327\000\003\022" -"\042\031\010\370\377\021\043\233\316\007\365\277\151\032\046\376" -"\116\351\321\177\235\054\100\035\131\150\156\246\370\130\260\235" -"\032\217\323\077\361\334\031\006\201\250\016\340\072\335\310\123" -"\105\011\006\346\017\160\303\372\100\246\016\342\126\005\017\030" -"\115\374\040\202\321\163\125\164\215\166\162\240\035\235\035\300" -"\335\077\161\002\003\001\000\001\060\015\006\011\052\206\110\206" -"\367\015\001\001\005\005\000\003\201\201\000\120\150\075\111\364" -"\054\034\006\224\337\225\140\177\226\173\027\376\117\161\255\144" -"\310\335\167\322\357\131\125\350\077\350\216\005\052\041\362\007" -"\322\265\247\122\376\234\261\266\342\133\167\027\100\352\162\326" -"\043\313\050\201\062\303\000\171\030\354\131\027\211\311\306\152" -"\036\161\311\375\267\164\245\045\105\151\305\110\253\031\341\105" -"\212\045\153\031\356\345\273\022\365\177\367\246\215\121\303\360" -"\235\164\267\251\076\240\245\377\266\111\003\023\332\042\314\355" -"\161\202\053\231\317\072\267\365\055\162\310" -, (PRUint32)747 } -}; -static const NSSItem nss_builtins_items_55 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert Class 1 VA", (PRUint32)20 }, - { (void *)"\345\337\164\074\266\001\304\233\230\103\334\253\214\350\152\201" -"\020\237\344\216" -, (PRUint32)20 }, - { (void *)"\145\130\253\025\255\127\154\036\250\247\265\151\254\277\377\353" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_56 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert Class 2 VA", (PRUint32)20 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154" -"\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157" -"\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125" -"\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166" -"\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036" -"\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146" -"\157\100\166\141\154\151\143\145\162\164\056\143\157\155" -, (PRUint32)190 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154" -"\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157" -"\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125" -"\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166" -"\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036" -"\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146" -"\157\100\166\141\154\151\143\145\162\164\056\143\157\155" -, (PRUint32)190 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060" -"\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164" -"\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167" -"\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141" -"\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063" -"\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040" -"\103\154\141\163\163\040\062\040\120\157\154\151\143\171\040\126" -"\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162" -"\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164" -"\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162" -"\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206" -"\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151" -"\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066" -"\062\066\060\060\061\071\065\064\132\027\015\061\071\060\066\062" -"\066\060\060\061\071\065\064\132\060\201\273\061\044\060\042\006" -"\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126" -"\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162" -"\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151" -"\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003" -"\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154" -"\141\163\163\040\062\040\120\157\154\151\143\171\040\126\141\154" -"\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160" -"\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056" -"\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015" -"\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145" -"\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110" -"\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002" -"\201\201\000\316\072\161\312\345\253\310\131\222\125\327\253\330" -"\164\016\371\356\331\366\125\107\131\145\107\016\005\125\334\353" -"\230\066\074\134\123\135\323\060\317\070\354\275\101\211\355\045" -"\102\011\044\153\012\136\263\174\335\122\055\114\346\324\326\175" -"\132\131\251\145\324\111\023\055\044\115\034\120\157\265\301\205" -"\124\073\376\161\344\323\134\102\371\200\340\221\032\012\133\071" -"\066\147\363\077\125\174\033\077\264\137\144\163\064\343\264\022" -"\277\207\144\370\332\022\377\067\047\301\263\103\273\357\173\156" -"\056\151\367\002\003\001\000\001\060\015\006\011\052\206\110\206" -"\367\015\001\001\005\005\000\003\201\201\000\073\177\120\157\157" -"\120\224\231\111\142\070\070\037\113\370\245\310\076\247\202\201" -"\366\053\307\350\305\316\350\072\020\202\313\030\000\216\115\275" -"\250\130\177\241\171\000\265\273\351\215\257\101\331\017\064\356" -"\041\201\031\240\062\111\050\364\304\216\126\325\122\063\375\120" -"\325\176\231\154\003\344\311\114\374\313\154\253\146\263\112\041" -"\214\345\265\014\062\076\020\262\314\154\241\334\232\230\114\002" -"\133\363\316\271\236\245\162\016\112\267\077\074\346\026\150\370" -"\276\355\164\114\274\133\325\142\037\103\335" -, (PRUint32)747 } -}; -static const NSSItem nss_builtins_items_57 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert Class 2 VA", (PRUint32)20 }, - { (void *)"\061\172\052\320\177\053\063\136\365\241\303\116\113\127\350\267" -"\330\361\374\246" -, (PRUint32)20 }, - { (void *)"\251\043\165\233\272\111\066\156\061\302\333\362\347\146\272\207" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_58 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert Class 3 VA", (PRUint32)20 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154" -"\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157" -"\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125" -"\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166" -"\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036" -"\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146" -"\157\100\166\141\154\151\143\145\162\164\056\143\157\155" -, (PRUint32)190 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154" -"\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157" -"\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125" -"\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166" -"\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036" -"\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146" -"\157\100\166\141\154\151\143\145\162\164\056\143\157\155" -, (PRUint32)190 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060" -"\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164" -"\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167" -"\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141" -"\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063" -"\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040" -"\103\154\141\163\163\040\063\040\120\157\154\151\143\171\040\126" -"\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162" -"\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164" -"\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162" -"\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206" -"\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151" -"\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066" -"\062\066\060\060\062\062\063\063\132\027\015\061\071\060\066\062" -"\066\060\060\062\062\063\063\132\060\201\273\061\044\060\042\006" -"\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126" -"\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162" -"\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151" -"\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003" -"\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154" -"\141\163\163\040\063\040\120\157\154\151\143\171\040\126\141\154" -"\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160" -"\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056" -"\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015" -"\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145" -"\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110" -"\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002" -"\201\201\000\343\230\121\226\034\350\325\261\006\201\152\127\303" -"\162\165\223\253\317\236\246\374\363\026\122\326\055\115\237\065" -"\104\250\056\004\115\007\111\212\070\051\365\167\067\347\267\253" -"\135\337\066\161\024\231\217\334\302\222\361\347\140\222\227\354" -"\330\110\334\277\301\002\040\306\044\244\050\114\060\132\166\155" -"\261\134\363\335\336\236\020\161\241\210\307\133\233\101\155\312" -"\260\270\216\025\356\255\063\053\317\107\004\134\165\161\012\230" -"\044\230\051\247\111\131\245\335\370\267\103\142\141\363\323\342" -"\320\125\077\002\003\001\000\001\060\015\006\011\052\206\110\206" -"\367\015\001\001\005\005\000\003\201\201\000\126\273\002\130\204" -"\147\010\054\337\037\333\173\111\063\365\323\147\235\364\264\012" -"\020\263\311\305\054\342\222\152\161\170\047\362\160\203\102\323" -"\076\317\251\124\364\361\330\222\026\214\321\004\313\113\253\311" -"\237\105\256\074\212\251\260\161\063\135\310\305\127\337\257\250" -"\065\263\177\211\207\351\350\045\222\270\177\205\172\256\326\274" -"\036\067\130\052\147\311\221\317\052\201\076\355\306\071\337\300" -"\076\031\234\031\314\023\115\202\101\265\214\336\340\075\140\010" -"\040\017\105\176\153\242\177\243\214\025\356" -, (PRUint32)747 } -}; -static const NSSItem nss_builtins_items_59 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert Class 3 VA", (PRUint32)20 }, - { (void *)"\151\275\214\364\234\323\000\373\131\056\027\223\312\125\152\363" -"\354\252\065\373" -, (PRUint32)20 }, - { (void *)"\242\157\123\267\356\100\333\112\150\347\372\030\331\020\113\162" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_60 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Universal CA Root", (PRUint32)25 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\127\061\017\060\015\006\003\125\004\012\023\006\124\150\141" -"\167\164\145\061\041\060\037\006\003\125\004\013\023\030\124\150" -"\141\167\164\145\040\125\156\151\166\145\162\163\141\154\040\103" -"\101\040\122\157\157\164\061\041\060\037\006\003\125\004\003\023" -"\030\124\150\141\167\164\145\040\125\156\151\166\145\162\163\141" -"\154\040\103\101\040\122\157\157\164" -, (PRUint32)89 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\127\061\017\060\015\006\003\125\004\012\023\006\124\150\141" -"\167\164\145\061\041\060\037\006\003\125\004\013\023\030\124\150" -"\141\167\164\145\040\125\156\151\166\145\162\163\141\154\040\103" -"\101\040\122\157\157\164\061\041\060\037\006\003\125\004\003\023" -"\030\124\150\141\167\164\145\040\125\156\151\166\145\162\163\141" -"\154\040\103\101\040\122\157\157\164" -, (PRUint32)89 }, - { (void *)"\000" -, (PRUint32)1 }, - { (void *)"\060\202\021\042\060\202\011\012\002\001\000\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\127\061\017\060\015" -"\006\003\125\004\012\023\006\124\150\141\167\164\145\061\041\060" -"\037\006\003\125\004\013\023\030\124\150\141\167\164\145\040\125" -"\156\151\166\145\162\163\141\154\040\103\101\040\122\157\157\164" -"\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167\164" -"\145\040\125\156\151\166\145\162\163\141\154\040\103\101\040\122" -"\157\157\164\060\036\027\015\071\071\061\062\060\065\061\063\065" -"\066\060\065\132\027\015\063\067\060\064\060\063\061\063\065\066" -"\060\065\132\060\127\061\017\060\015\006\003\125\004\012\023\006" -"\124\150\141\167\164\145\061\041\060\037\006\003\125\004\013\023" -"\030\124\150\141\167\164\145\040\125\156\151\166\145\162\163\141" -"\154\040\103\101\040\122\157\157\164\061\041\060\037\006\003\125" -"\004\003\023\030\124\150\141\167\164\145\040\125\156\151\166\145" -"\162\163\141\154\040\103\101\040\122\157\157\164\060\202\010\042" -"\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003" -"\202\010\017\000\060\202\010\012\002\202\010\001\000\342\211\005" -"\155\303\177\255\246\211\072\377\273\307\315\235\067\261\341\322" -"\041\036\233\141\052\025\347\173\127\117\125\074\320\273\371\331" -"\075\076\246\274\354\264\255\123\232\026\002\353\013\162\375\212" -"\362\217\104\005\305\353\323\345\275\266\104\071\346\373\107\277" -"\152\236\012\225\030\342\150\342\326\226\326\041\255\210\375\365" -"\027\365\323\332\102\245\220\355\051\225\226\165\072\332\207\241" -"\324\365\323\207\336\005\142\246\343\146\164\222\317\245\274\273" -"\337\150\377\161\165\126\101\131\065\353\063\132\146\121\362\322" -"\243\012\301\214\316\163\134\021\157\055\214\225\214\221\261\375" -"\317\345\255\126\225\314\205\222\203\220\125\101\311\302\167\355" -"\371\243\164\102\012\150\010\363\320\321\145\375\147\054\064\377" -"\044\177\347\171\310\007\073\045\127\335\244\014\230\075\276\340" -"\314\031\145\333\362\124\242\257\102\324\235\342\256\204\043\045" -"\011\063\022\265\152\036\166\304\213\331\111\000\154\136\272\037" -"\362\033\332\147\312\047\252\243\104\043\033\203\202\316\362\253" -"\063\355\124\244\334\311\253\131\145\321\070\016\301\076\033\147" -"\217\326\165\001\340\125\042\335\166\167\354\216\335\364\317\171" -"\042\155\271\127\003\365\231\010\247\074\076\064\373\304\027\256" -"\043\130\315\044\363\043\312\152\002\050\224\001\201\064\264\154" -"\153\256\213\032\303\243\322\011\074\026\124\365\066\137\044\343" -"\237\112\241\342\144\306\026\303\246\201\172\044\066\107\216\301" -"\136\016\373\371\025\170\004\326\016\131\331\235\130\146\142\322" -"\224\051\062\062\310\170\271\146\366\265\126\341\154\306\024\113" -"\226\122\131\221\002\044\152\125\107\327\077\266\043\032\140\167" -"\227\056\342\100\257\236\004\127\236\255\021\305\311\103\160\357" -"\110\264\136\254\034\151\056\056\202\325\133\213\276\202\276\031" -"\024\136\347\015\042\307\121\033\377\036\233\361\060\217\161\061" -"\006\263\064\047\217\137\172\146\202\117\212\055\023\253\102\317" -"\041\126\236\227\216\146\066\017\226\233\345\053\364\002\251\052" -"\152\214\054\304\303\270\160\054\055\051\036\077\120\167\036\155" -"\052\124\344\125\012\221\070\241\305\265\146\242\166\132\356\017" -"\277\264\147\341\050\156\017\341\066\241\202\321\277\324\167\341" -"\304\147\062\223\170\310\347\124\123\376\043\171\346\150\314\046" -"\220\366\020\143\135\052\157\221\055\244\163\062\121\041\362\273" -"\025\337\252\044\010\110\006\336\241\236\046\277\272\203\277\174" -"\244\310\240\214\275\322\377\274\204\151\047\023\044\030\304\105" -"\030\043\046\136\030\024\312\056\210\207\142\243\123\346\041\267" -"\270\205\173\232\205\273\025\046\162\370\271\367\152\164\017\111" -"\077\222\276\251\005\267\231\047\277\277\011\027\113\231\114\255" -"\021\020\174\337\164\061\366\217\046\137\252\210\256\070\127\310" -"\125\055\323\373\330\033\121\231\276\045\033\072\272\300\175\033" -"\355\316\322\111\271\317\363\305\175\211\220\201\330\151\110\040" -"\020\243\370\357\222\121\030\062\213\021\030\300\077\033\205\126" -"\316\127\311\362\202\144\306\337\002\011\056\112\021\057\261\047" -"\155\067\122\360\360\026\141\361\147\215\337\207\162\257\207\332" -"\317\373\120\224\156\324\224\205\353\212\054\352\041\365\226\112" -"\104\325\340\316\152\164\104\115\320\005\323\207\025\355\066\320" -"\244\213\146\125\160\223\356\107\006\301\176\056\245\030\171\147" -"\363\050\205\361\160\367\016\203\244\176\124\236\132\166\062\313" -"\145\033\270\315\373\310\050\003\322\124\221\321\247\305\205\103" -"\010\027\166\245\346\057\147\010\330\241\242\202\055\014\370\301" -"\257\143\324\120\167\155\153\106\112\101\205\325\220\137\171\055" -"\304\354\327\021\207\100\212\341\150\342\144\370\125\062\373\157" -"\223\054\332\167\331\041\301\027\345\066\054\116\176\220\177\254" -"\224\053\062\147\276\070\120\166\270\256\101\271\327\041\305\011" -"\114\140\310\243\121\304\064\233\127\067\337\313\311\063\127\213" -"\353\373\166\237\031\115\305\152\037\052\105\256\053\355\057\215" -"\247\245\000\313\004\372\045\142\056\164\110\033\312\052\214\272" -"\333\266\176\366\273\002\174\251\303\333\130\170\241\277\360\376" -"\032\020\125\021\316\350\151\116\226\145\306\027\003\326\007\150" -"\214\124\202\256\034\042\125\077\361\364\011\227\050\300\106\367" -"\116\013\045\035\367\007\327\011\035\072\030\127\070\073\350\063" -"\006\347\217\170\106\036\133\365\006\266\354\270\246\015\361\272" -"\023\113\326\030\040\335\151\063\112\063\025\256\270\310\230\212" -"\047\054\223\274\055\373\356\063\277\146\346\115\272\266\233\006" -"\125\140\227\113\274\104\315\176\364\241\330\252\057\300\002\050" -"\041\026\142\170\333\010\124\362\374\364\064\343\306\217\034\103" -"\127\316\220\032\113\334\056\073\050\221\211\077\172\332\065\035" -"\216\054\356\111\354\364\063\255\311\123\250\214\237\004\123\076" -"\044\034\122\311\022\371\142\127\243\274\356\054\353\100\174\040" -"\043\160\053\225\371\163\027\212\321\301\034\151\246\267\070\232" -"\147\367\160\035\172\132\014\100\317\142\017\205\074\302\002\116" -"\176\265\366\305\052\051\204\263\037\067\052\341\252\162\102\304" -"\355\153\032\217\222\034\135\276\321\362\133\362\253\252\251\322" -"\365\270\244\101\053\053\221\156\022\110\312\230\330\067\215\310" -"\355\000\060\265\266\004\116\176\234\332\204\354\300\372\173\345" -"\035\210\244\123\106\260\224\344\134\033\241\045\054\017\110\122" -"\167\227\011\154\354\133\030\063\203\002\345\202\176\315\205\041" -"\060\021\375\047\117\317\344\036\354\077\245\127\154\351\052\060" -"\031\052\210\345\303\151\070\253\157\071\161\177\204\341\101\303" -"\341\314\052\211\040\122\056\203\017\154\071\077\113\055\026\254" -"\055\360\044\254\000\163\364\233\263\006\077\005\270\024\205\037" -"\253\236\134\074\236\142\235\016\155\073\200\011\374\002\352\242" -"\227\164\312\307\371\343\126\341\303\312\245\246\232\300\220\340" -"\044\022\123\322\302\213\332\276\355\002\103\136\147\341\211\230" -"\171\356\313\252\312\303\033\334\347\245\106\245\174\153\026\207" -"\266\132\050\327\333\047\074\136\245\275\266\121\335\037\103\317" -"\073\046\310\072\215\045\141\301\111\364\074\033\311\104\352\257" -"\034\302\053\224\001\052\016\060\321\133\213\053\107\345\303\321" -"\004\003\233\016\071\054\326\047\324\346\160\132\331\165\317\052" -"\330\311\000\005\344\023\210\354\303\071\373\207\141\060\066\103" -"\003\310\236\234\242\006\302\057\305\374\360\200\143\261\124\004" -"\240\114\251\056\306\365\166\172\330\320\344\324\224\021\345\025" -"\265\170\006\334\270\200\217\231\251\040\063\075\020\205\114\145" -"\011\312\076\130\136\140\223\232\252\142\135\300\121\006\034\135" -"\140\240\015\234\113\103\366\247\026\041\244\207\252\362\301\056" -"\356\222\060\270\236\337\337\020\001\213\206\011\160\330\154\250" -"\267\120\036\026\226\264\367\147\375\065\072\041\220\052\062\307" -"\000\173\115\007\020\011\271\057\163\330\030\176\147\231\004\117" -"\006\374\120\307\205\233\235\100\235\263\226\067\372\245\334\262" -"\162\116\357\116\011\054\375\221\375\115\367\273\246\241\076\253" -"\173\242\003\100\246\251\125\047\342\372\371\031\316\207\165\252" -"\361\165\066\363\363\270\221\370\221\303\213\165\023\216\114\145" -"\232\026\071\152\345\064\350\172\226\131\177\065\260\000\375\133" -"\151\374\103\046\372\365\050\156\376\207\331\176\044\373\264\240" -"\202\156\124\242\377\256\277\142\264\364\162\001\302\313\230\107" -"\230\341\114\265\027\200\200\316\217\246\050\356\036\105\152\373" -"\337\361\035\374\132\073\326\352\364\154\035\142\111\127\073\212" -"\217\206\352\360\123\004\316\234\026\150\377\272\271\374\210\017" -"\107\367\002\104\162\100\270\312\073\055\123\235\334\074\126\214" -"\131\173\150\032\054\215\161\273\154\000\307\032\316\157\100\222" -"\261\243\057\017\331\104\362\243\160\056\236\356\016\256\062\320" -"\073\076\213\007\352\346\171\263\134\051\342\175\153\250\136\371" -"\132\061\350\010\226\242\214\003\230\106\361\270\175\220\124\046" -"\355\166\142\376\236\351\232\156\136\311\111\307\134\064\123\051" -"\124\331\354\344\106\341\200\073\165\331\337\373\171\325\207\361" -"\272\236\353\031\316\114\122\163\346\133\207\256\045\117\071\171" -"\314\306\270\371\020\173\354\360\233\161\244\005\240\323\051\323" -"\116\177\037\364\055\050\170\314\125\225\173\036\221\057\314\126" -"\030\163\213\262\333\274\151\007\346\320\330\117\355\242\377\130" -"\205\243\155\340\112\123\267\147\175\215\014\134\133\173\167\050" -"\002\065\104\172\004\323\050\103\310\153\060\027\135\062\270\051" -"\065\272\166\332\073\024\112\166\030\130\244\370\222\074\236\115" -"\063\157\106\153\010\331\061\110\150\335\364\373\044\126\064\262" -"\317\151\146\276\110\322\212\146\042\315\362\151\315\302\123\023" -"\105\051\101\042\326\135\230\037\266\244\262\243\302\356\002\057" -"\121\033\334\203\244\354\160\045\250\324\010\141\062\157\344\241" -"\201\056\174\143\162\372\051\145\274\160\104\317\135\002\003\001" -"\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005\005" -"\000\003\202\010\001\000\125\232\064\152\042\006\151\011\105\063" -"\307\256\251\134\307\011\116\233\206\274\101\220\324\224\122\366" -"\315\043\051\224\113\042\315\350\275\376\235\315\122\362\275\355" -"\253\207\311\253\253\106\004\264\275\242\077\042\060\107\120\300" -"\113\214\166\017\003\365\222\322\261\055\304\172\065\234\311\163" -"\207\353\246\237\336\017\163\215\323\177\231\330\272\217\157\304" -"\363\276\032\256\213\242\224\066\220\342\345\353\215\005\364\374" -"\145\337\225\361\304\224\115\027\126\327\237\074\217\120\074\347" -"\167\277\225\206\046\144\373\152\377\306\332\351\214\256\102\273" -"\151\345\063\306\330\351\015\306\125\041\111\301\014\264\243\371" -"\233\113\134\336\203\117\101\003\316\052\171\150\070\175\360\124" -"\111\040\365\266\020\377\010\334\063\146\226\233\377\006\336\000" -"\236\327\316\126\103\232\121\374\160\315\366\360\121\243\267\315" -"\264\134\205\142\315\161\267\306\053\043\053\335\303\156\100\102" -"\372\067\377\067\034\366\172\127\224\207\205\043\327\324\311\307" -"\137\301\115\057\311\015\327\134\354\234\045\356\236\060\202\221" -"\226\162\270\165\035\370\011\150\127\227\262\055\113\356\045\354" -"\172\044\051\356\162\324\234\023\333\253\334\003\012\330\112\024" -"\311\010\127\104\135\241\265\123\200\064\362\024\227\317\122\336" -"\242\016\212\020\351\024\357\320\140\276\141\241\361\045\135\325" -"\030\163\077\223\020\312\226\356\263\100\322\333\243\125\317\127" -"\132\245\016\117\165\107\337\352\367\220\232\155\365\160\056\035" -"\024\034\067\144\004\131\120\260\334\162\206\157\234\067\075\135" -"\050\257\163\125\357\322\356\044\164\164\023\357\334\333\061\111" -"\373\077\143\365\323\010\076\063\245\347\235\012\336\123\054\121" -"\216\147\333\233\101\145\101\120\275\324\244\226\154\207\274\022" -"\340\224\307\323\300\344\313\163\130\000\203\341\254\047\205\326" -"\235\123\235\134\275\012\076\003\103\234\014\221\365\155\173\370" -"\100\162\165\253\021\166\221\053\341\306\252\037\160\151\166\160" -"\025\011\376\223\320\326\055\267\025\152\233\147\134\264\151\237" -"\045\246\175\212\373\175\042\251\161\362\316\116\214\270\041\055" -"\336\376\101\161\015\377\235\354\163\246\273\007\117\210\016\130" -"\107\056\176\251\302\307\170\335\272\172\236\116\340\060\116\143" -"\157\205\324\040\101\351\372\376\103\105\347\373\257\172\262\316" -"\244\005\035\042\232\130\206\337\344\316\114\251\376\330\026\245" -"\157\373\330\316\126\173\365\326\040\357\344\107\315\143\044\377" -"\271\276\361\110\243\301\001\162\346\275\300\255\355\046\015\312" -"\064\237\374\002\055\040\117\005\040\256\041\075\014\302\040\074" -"\077\360\004\204\334\317\211\375\271\045\221\216\320\103\346\263" -"\040\253\134\055\325\100\236\240\113\330\364\262\314\175\361\130" -"\012\216\207\355\210\254\066\226\344\126\240\021\212\362\232\320" -"\263\127\243\064\273\031\253\070\341\164\153\042\304\061\316\001" -"\325\033\066\343\036\070\114\063\223\337\100\343\131\127\116\254" -"\156\173\036\132\075\305\035\133\254\310\020\202\065\002\042\262" -"\374\165\350\020\221\215\304\175\170\223\107\236\034\235\254\153" -"\142\002\130\214\326\034\043\326\257\170\302\200\234\244\252\044" -"\124\024\265\024\230\306\370\053\032\044\313\161\062\012\342\233" -"\016\151\153\335\176\214\144\321\056\143\357\016\177\261\076\210" -"\114\235\125\345\311\156\027\004\267\101\377\275\212\101\313\045" -"\061\157\104\167\077\107\261\374\201\210\007\216\005\111\040\267" -"\021\331\151\003\052\003\235\271\063\204\232\337\337\172\343\106" -"\163\243\330\242\214\123\031\210\125\114\164\270\366\104\204\053" -"\321\024\055\116\071\056\222\150\377\151\374\205\142\033\353\125" -"\117\357\045\204\142\105\231\326\330\116\157\077\123\010\175\035" -"\006\225\201\200\177\117\116\164\066\230\265\342\207\160\230\334" -"\327\365\334\122\025\346\306\326\171\226\071\177\217\225\317\253" -"\200\123\255\033\013\105\100\016\324\030\275\054\336\212\167\166" -"\375\362\104\107\306\041\320\344\164\360\330\030\005\310\174\060" -"\162\307\337\361\273\374\002\060\251\364\102\046\131\015\223\005" -"\202\241\163\355\064\345\070\135\315\120\220\376\224\374\023\274" -"\275\374\250\242\210\247\163\304\262\250\321\135\210\304\002\242" -"\172\361\004\311\376\214\164\311\357\035\144\101\237\254\036\226" -"\147\144\254\253\050\101\307\235\367\300\230\033\156\007\302\144" -"\175\132\203\146\126\050\066\234\347\373\034\167\016\050\240\304" -"\367\153\171\071\004\040\204\307\127\223\274\033\240\352\274\353" -"\102\345\250\021\376\374\254\145\314\375\370\050\210\364\245\232" -"\345\163\121\340\250\233\015\003\167\116\345\340\230\263\210\332" -"\175\346\306\236\174\024\146\301\056\123\112\222\007\067\240\176" -"\351\075\011\344\025\174\317\375\270\101\245\357\236\146\235\304" -"\136\007\035\207\370\101\255\352\347\057\322\101\143\030\067\371" -"\024\343\115\320\345\367\103\375\025\343\371\066\163\006\046\337" -"\001\117\251\303\116\336\040\106\167\230\264\172\044\053\073\165" -"\053\116\130\215\233\135\244\307\026\240\274\062\210\077\241\203" -"\363\000\310\370\330\130\351\143\135\114\053\265\360\162\101\330" -"\253\167\067\326\162\164\256\266\066\234\310\246\203\111\113\340" -"\311\126\013\051\276\000\060\313\335\326\310\102\212\000\331\354" -"\025\321\064\161\362\133\144\207\366\047\322\267\353\206\260\220" -"\277\051\333\041\236\066\214\343\040\057\225\043\121\154\033\302" -"\244\325\346\330\002\103\147\240\376\233\120\003\104\177\273\344" -"\162\325\321\344\332\217\222\024\144\373\135\024\020\022\112\225" -"\006\311\145\010\051\312\041\243\046\070\021\311\047\337\160\147" -"\004\375\312\110\062\177\143\262\105\164\061\120\117\207\331\040" -"\160\322\041\160\261\326\020\235\063\135\170\203\221\155\125\202" -"\354\332\344\142\143\307\201\106\327\031\145\162\052\103\031\220" -"\270\327\043\115\114\034\340\104\251\146\147\254\356\161\171\047" -"\046\170\155\162\016\365\135\113\043\265\174\174\145\351\027\306" -"\072\013\015\335\136\036\121\303\206\270\354\177\307\047\112\245" -"\106\350\152\055\031\301\207\243\313\231\223\207\144\242\125\024" -"\114\267\103\245\223\327\347\322\116\171\100\312\145\231\106\075" -"\077\172\200\172\210\152\314\036\345\153\063\106\364\120\300\325" -"\037\011\270\315\212\056\241\047\353\135\163\247\350\153\012\345" -"\127\202\052\260\374\342\124\122\126\360\253\251\022\306\043\226" -"\007\044\234\340\274\106\245\264\040\004\332\011\223\143\345\324" -"\056\302\176\305\061\355\265\025\164\206\027\271\263\363\046\212" -"\035\002\152\332\032\077\350\272\361\004\155\224\121\124\342\132" -"\264\131\203\035\140\320\055\163\314\007\265\046\214\371\327\306" -"\210\221\357\200\317\135\017\241\140\313\105\324\102\042\321\261" -"\160\035\375\320\267\060\220\072\306\110\155\147\345\062\332\217" -"\333\343\250\343\035\040\045\242\034\341\114\271\244\366\306\077" -"\134\130\015\273\306\262\167\001\026\221\237\027\006\015\267\100" -"\076\314\217\216\234\113\340\235\176\233\036\005\253\210\042\372" -"\323\050\033\127\024\144\112\076\044\054\070\115\041\151\000\163" -"\056\320\125\055\164\362\025\350\224\103\076\100\052\306\306\271" -"\152\133\336\242\314\030\120\124\135\116\052\205\154\366\222\213" -"\051\031\176\347\352\112\340\042\053\045\274\367\146\317\167\232" -"\101\164\362\074\024\015\164\151\365\120\203\315\315\057\041\333" -"\042\106\212\320\367\121\032\225\127\362\005\213\032\031\355\073" -"\105\350\066\302\156\176\373\127\042\000\037\006\123\251\256\223" -"\306\217\161\052\061\105\222\347\216\155\346\231\042\300\203\374" -"\357\334\127\146\167\117\242\066\061\373\241\023\215\345\312\243" -"\225\175\001\014\144\160\073\123\102\150\200\307\273\235\250\000" -"\065\151\230\014\250\147\330\103\345\252\317\225\340\121\225\244" -"\027\077\102\235\270\004\316\323\171\171\310\323\212\026\062\222" -"\340\327\242\356\327\067\114\057\254\270\173\276\105\366\361\030" -"\063\234\173\067\246\044\331\274\100\253\000\351\303\067\213\253" -"\330\266\363\136\201\116\260\024\153\007\076\037\354\302\366\104" -"\042\225\273\263\346\157\326\371\160\145\272\012\203\145\252\016" -"\023\057\203\023\043\123\213\100\026\372\316\057\374\115\004\370" -"\353\330\254\305\066\302\025\127\110\070\354\125\263\264\036\272" -"\255\322\102\006\027\015\163\310\127\246\276\226\115\251\362\300" -"\373\172\041\034\365\311\160\251\202\220\265\361\014\324\171\020" -"\276\201\246\351\134\141\234\167\171\232\244\303\067\046\127\067" -"\311\122\054\372\010\377\320\137\306\141\300\364\166\276\374\336" -"\116\317\253\121\231\161\307\337\176\364\326\317\006\126\031\023" -"\123\013\155\164\131\110\031\233\123\005\055\235\062\124\323\345" -"\054\123\213\144\076\324\144\173\343\200\011\024\314\376\026\106" -"\143\153\161\151\370\371\313\047\366\210\124\274\105\263\316\002" -"\310\224\356\100\133\371\102\002\302\377\260\330\054\353\050\177" -"\136\311\046\001\231\247" -, (PRUint32)4390 } -}; -static const NSSItem nss_builtins_items_61 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Thawte Universal CA Root", (PRUint32)25 }, - { (void *)"\213\302\212\044\257\373\126\135\350\120\025\173\172\153\157\024" -"\170\114\220\343" -, (PRUint32)20 }, - { (void *)"\027\257\161\026\122\173\163\145\042\005\051\050\204\161\235\023" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_62 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"\000\213\133\165\126\204\124\205\013\000\317\257\070\110\316\261" -"\244" -, (PRUint32)17 }, - { (void *)"\060\202\004\032\060\202\003\002\002\021\000\213\133\165\126\204" -"\124\205\013\000\317\257\070\110\316\261\244\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060" -"\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003" -"\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050" -"\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164" -"\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171" -"\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123" -"\151\147\156\040\103\154\141\163\163\040\061\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060" -"\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066" -"\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003" -"\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012" -"\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056" -"\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123" -"\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162" -"\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040" -"\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162" -"\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060" -"\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156" -"\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040" -"\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206" -"\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012" -"\002\202\001\001\000\335\204\324\271\264\371\247\330\363\004\170" -"\234\336\075\334\154\023\026\331\172\335\044\121\146\300\307\046" -"\131\015\254\006\010\302\224\321\063\037\360\203\065\037\156\033" -"\310\336\252\156\025\116\124\047\357\304\155\032\354\013\343\016" -"\360\104\245\127\307\100\130\036\243\107\037\161\354\140\366\155" -"\224\310\030\071\355\376\102\030\126\337\344\114\111\020\170\116" -"\001\166\065\143\022\066\335\146\274\001\004\066\243\125\150\325" -"\242\066\011\254\253\041\046\124\006\255\077\312\024\340\254\312" -"\255\006\035\225\342\370\235\361\340\140\377\302\177\165\053\114" -"\314\332\376\207\231\041\352\272\376\076\124\327\322\131\170\333" -"\074\156\317\240\023\000\032\270\047\241\344\276\147\226\312\240" -"\305\263\234\335\311\165\236\353\060\232\137\243\315\331\256\170" -"\031\077\043\351\134\333\051\275\255\125\310\033\124\214\143\366" -"\350\246\352\307\067\022\134\243\051\036\002\331\333\037\073\264" -"\327\017\126\107\201\025\004\112\257\203\047\321\305\130\210\301" -"\335\366\252\247\243\030\332\150\252\155\021\121\341\277\145\153" -"\237\226\166\321\075\002\003\001\000\001\060\015\006\011\052\206" -"\110\206\367\015\001\001\005\005\000\003\202\001\001\000\253\146" -"\215\327\263\272\307\232\266\346\125\320\005\361\237\061\215\132" -"\252\331\252\106\046\017\161\355\245\255\123\126\142\001\107\052" -"\104\351\376\077\164\013\023\233\271\364\115\033\262\321\137\262" -"\266\322\210\134\263\237\315\313\324\247\331\140\225\204\072\370" -"\301\067\035\141\312\347\260\305\345\221\332\124\246\254\061\201" -"\256\227\336\315\010\254\270\300\227\200\177\156\162\244\347\151" -"\023\225\145\037\304\223\074\375\171\217\004\324\076\117\352\367" -"\236\316\315\147\174\117\145\002\377\221\205\124\163\307\377\066" -"\367\206\055\354\320\136\117\377\021\237\162\006\326\270\032\361" -"\114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354" -"\245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216" -"\274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042" -"\171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170" -"\023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043" -"\363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243" -"\113\336\006\226\161\054\362\333\266\037\244\357\077\356" -, (PRUint32)1054 } -}; -static const NSSItem nss_builtins_items_63 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)"\040\102\205\334\367\353\166\101\225\127\216\023\153\324\267\321" -"\351\216\106\245" -, (PRUint32)20 }, - { (void *)"\261\107\274\030\127\321\030\240\170\055\354\161\350\052\225\163" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_64 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"\141\160\313\111\214\137\230\105\051\347\260\246\331\120\133\172" -, (PRUint32)16 }, - { (void *)"\060\202\004\031\060\202\003\001\002\020\141\160\313\111\214\137" -"\230\105\051\347\260\246\331\120\133\172\060\015\006\011\052\206" -"\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060\011" -"\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125" -"\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162" -"\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167" -"\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143" -"\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156\054" -"\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150" -"\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061" -"\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151" -"\147\156\040\103\154\141\163\163\040\062\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060\061" -"\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066\062" -"\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003\125" -"\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012\023" -"\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056\061" -"\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123\151" -"\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162\153" -"\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061" -"\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111\156" -"\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151" -"\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060\103" -"\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156\040" -"\103\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120" -"\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141" -"\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055" -"\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206\367" -"\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002" -"\202\001\001\000\257\012\015\302\325\054\333\147\271\055\345\224" -"\047\335\245\276\340\260\115\217\263\141\126\074\326\174\303\364" -"\315\076\206\313\242\210\342\341\330\244\151\305\265\342\277\301" -"\246\107\120\136\106\071\213\325\226\272\265\157\024\277\020\316" -"\047\023\236\005\107\233\061\172\023\330\037\331\323\002\067\213" -"\255\054\107\360\216\201\006\247\015\060\014\353\367\074\017\040" -"\035\334\162\106\356\245\002\310\133\303\311\126\151\114\305\030" -"\301\221\173\013\325\023\000\233\274\357\303\110\076\106\140\040" -"\205\052\325\220\266\315\213\240\314\062\335\267\375\100\125\262" -"\120\034\126\256\314\215\167\115\307\040\115\247\061\166\357\150" -"\222\212\220\036\010\201\126\262\255\151\243\122\320\313\034\304" -"\043\075\037\231\376\114\350\026\143\216\306\010\216\366\061\366" -"\322\372\345\166\335\265\034\222\243\111\315\315\001\315\150\315" -"\251\151\272\243\353\035\015\234\244\040\246\301\240\305\321\106" -"\114\027\155\322\254\146\077\226\214\340\204\324\066\377\042\131" -"\305\371\021\140\250\137\004\175\362\032\366\045\102\141\017\304" -"\112\270\076\211\002\003\001\000\001\060\015\006\011\052\206\110" -"\206\367\015\001\001\005\005\000\003\202\001\001\000\064\046\025" -"\074\300\215\115\103\111\035\275\351\041\222\327\146\234\267\336" -"\305\270\320\344\135\137\166\042\300\046\371\204\072\072\371\214" -"\265\373\354\140\361\350\316\004\260\310\335\247\003\217\060\363" -"\230\337\244\346\244\061\337\323\034\013\106\334\162\040\077\256" -"\356\005\074\244\063\077\013\071\254\160\170\163\113\231\053\337" -"\060\302\124\260\250\073\125\241\376\026\050\315\102\275\164\156" -"\200\333\047\104\247\316\104\135\324\033\220\230\015\036\102\224" -"\261\000\054\004\320\164\243\002\005\042\143\143\315\203\265\373" -"\301\155\142\153\151\165\375\135\160\101\271\365\277\174\337\276" -"\301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110" -"\260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153" -"\106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045" -"\342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317" -"\162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263" -"\377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125" -"\311\130\020\371\252\357\132\266\317\113\113\337\052" -, (PRUint32)1053 } -}; -static const NSSItem nss_builtins_items_65 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)"\141\357\103\327\177\312\324\141\121\274\230\340\303\131\022\257" -"\237\353\143\021" -, (PRUint32)20 }, - { (void *)"\370\276\304\143\042\311\250\106\164\213\270\035\036\112\053\366" -, (PRUint32)16 }, - { (void *)&ckt_netscape_valid, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_66 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"\000\233\176\006\111\243\076\142\271\325\356\220\110\161\051\357" -"\127" -, (PRUint32)17 }, - { (void *)"\060\202\004\032\060\202\003\002\002\021\000\233\176\006\111\243" -"\076\142\271\325\356\220\110\161\051\357\127\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060" -"\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003" -"\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050" -"\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164" -"\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171" -"\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123" -"\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060" -"\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066" -"\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003" -"\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012" -"\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056" -"\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123" -"\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162" -"\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040" -"\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162" -"\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060" -"\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156" -"\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040" -"\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206" -"\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012" -"\002\202\001\001\000\313\272\234\122\374\170\037\032\036\157\033" -"\067\163\275\370\311\153\224\022\060\117\360\066\107\365\320\221" -"\012\365\027\310\245\141\301\026\100\115\373\212\141\220\345\166" -"\040\301\021\006\175\253\054\156\246\365\021\101\216\372\055\255" -"\052\141\131\244\147\046\114\320\350\274\122\133\160\040\004\130" -"\321\172\311\244\151\274\203\027\144\255\005\213\274\320\130\316" -"\215\214\365\353\360\102\111\013\235\227\047\147\062\156\341\256" -"\223\025\034\160\274\040\115\057\030\336\222\210\350\154\205\127" -"\021\032\351\176\343\046\021\124\242\105\226\125\203\312\060\211" -"\350\334\330\243\355\052\200\077\177\171\145\127\076\025\040\146" -"\010\057\225\223\277\252\107\057\250\106\227\360\022\342\376\302" -"\012\053\121\346\166\346\267\106\267\342\015\246\314\250\303\114" -"\131\125\211\346\350\123\134\034\352\235\360\142\026\013\247\311" -"\137\014\360\336\302\166\316\257\367\152\362\372\101\246\242\063" -"\024\311\345\172\143\323\236\142\067\325\205\145\236\016\346\123" -"\044\164\033\136\035\022\123\133\307\054\347\203\111\073\025\256" -"\212\150\271\127\227\002\003\001\000\001\060\015\006\011\052\206" -"\110\206\367\015\001\001\005\005\000\003\202\001\001\000\021\024" -"\226\301\253\222\010\367\077\057\311\262\376\344\132\237\144\336" -"\333\041\117\206\231\064\166\066\127\335\320\025\057\305\255\177" -"\025\037\067\142\163\076\324\347\137\316\027\003\333\065\372\053" -"\333\256\140\011\137\036\137\217\156\273\013\075\352\132\023\036" -"\014\140\157\265\300\265\043\042\056\007\013\313\251\164\313\107" -"\273\035\301\327\245\153\314\057\322\102\375\111\335\247\211\317" -"\123\272\332\000\132\050\277\202\337\370\272\023\035\120\206\202" -"\375\216\060\217\051\106\260\036\075\065\332\070\142\026\030\112" -"\255\346\266\121\154\336\257\142\353\001\320\036\044\376\172\217" -"\022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151" -"\027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246" -"\124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156" -"\352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255" -"\117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126" -"\200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255" -"\153\271\012\172\116\117\113\204\356\113\361\175\335\021" -, (PRUint32)1054 } -}; -static const NSSItem nss_builtins_items_67 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)"\023\055\015\105\123\113\151\227\315\262\325\303\071\342\125\166" -"\140\233\134\306" -, (PRUint32)20 }, - { (void *)"\315\150\266\247\307\304\316\165\340\035\117\127\104\141\222\011" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_68 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 4 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\064\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123" -"\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123" -"\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125" -"\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165" -"\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003" -"\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106" -"\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163" -"\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023" -"\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040" -"\064\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171" -"\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\107\063" -, (PRUint32)205 }, - { (void *)"\000\354\240\247\213\156\165\152\001\317\304\174\314\057\224\136" -"\327" -, (PRUint32)17 }, - { (void *)"\060\202\004\032\060\202\003\002\002\021\000\354\240\247\213\156" -"\165\152\001\317\304\174\314\057\224\136\327\060\015\006\011\052" -"\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060" -"\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003" -"\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145" -"\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164" -"\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050" -"\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164" -"\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171" -"\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123" -"\151\147\156\040\103\154\141\163\163\040\064\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151" -"\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151" -"\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060" -"\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066" -"\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003" -"\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012" -"\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056" -"\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123" -"\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162" -"\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040" -"\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111" -"\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162" -"\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060" -"\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156" -"\040\103\154\141\163\163\040\064\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040" -"\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206" -"\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012" -"\002\202\001\001\000\255\313\245\021\151\306\131\253\361\217\265" -"\031\017\126\316\314\265\037\040\344\236\046\045\113\340\163\145" -"\211\131\336\320\203\344\365\017\265\273\255\361\174\350\041\374" -"\344\350\014\356\174\105\042\031\166\222\264\023\267\040\133\011" -"\372\141\256\250\362\245\215\205\302\052\326\336\146\066\322\233" -"\002\364\250\222\140\174\234\151\264\217\044\036\320\206\122\366" -"\062\234\101\130\036\042\275\315\105\142\225\010\156\320\146\335" -"\123\242\314\360\020\334\124\163\213\004\241\106\063\063\134\027" -"\100\271\236\115\323\363\276\125\203\350\261\211\216\132\174\232" -"\226\042\220\073\210\045\362\322\123\210\002\014\013\170\362\346" -"\067\027\113\060\106\007\344\200\155\246\330\226\056\350\054\370" -"\021\263\070\015\146\246\233\352\311\043\133\333\216\342\363\023" -"\216\032\131\055\252\002\360\354\244\207\146\334\301\077\365\330" -"\271\364\354\202\306\322\075\225\035\345\300\117\204\311\331\243" -"\104\050\006\152\327\105\254\360\153\152\357\116\137\370\021\202" -"\036\070\143\064\146\120\324\076\223\163\372\060\303\146\255\377" -"\223\055\227\357\003\002\003\001\000\001\060\015\006\011\052\206" -"\110\206\367\015\001\001\005\005\000\003\202\001\001\000\217\372" -"\045\153\117\133\344\244\116\047\125\253\042\025\131\074\312\265" -"\012\324\112\333\253\335\241\137\123\305\240\127\071\302\316\107" -"\053\276\072\310\126\277\302\331\047\020\072\261\005\074\300\167" -"\061\273\072\323\005\173\155\232\034\060\214\200\313\223\223\052" -"\203\253\005\121\202\002\000\021\147\153\363\210\141\107\137\003" -"\223\325\133\015\340\361\324\241\062\065\205\262\072\333\260\202" -"\253\321\313\012\274\117\214\133\305\113\000\073\037\052\202\246" -"\176\066\205\334\176\074\147\000\265\344\073\122\340\250\353\135" -"\025\371\306\155\360\255\035\016\205\267\251\232\163\024\132\133" -"\217\101\050\300\325\350\055\115\244\136\315\252\331\355\316\334" -"\330\325\074\102\035\027\301\022\135\105\070\303\070\363\374\205" -"\056\203\106\110\262\327\040\137\222\066\217\347\171\017\230\136" -"\231\350\360\320\244\273\365\123\275\052\316\131\260\257\156\177" -"\154\273\322\036\000\260\041\355\370\101\142\202\271\330\262\304" -"\273\106\120\363\061\305\217\001\250\164\353\365\170\047\332\347" -"\367\146\103\363\236\203\076\040\252\303\065\140\221\316" -, (PRUint32)1054 } -}; -static const NSSItem nss_builtins_items_69 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 4 Public Primary Certification Authority - G3", (PRUint32)61 }, - { (void *)"\310\354\214\207\222\151\313\113\253\071\351\215\176\127\147\363" -"\024\225\163\235" -, (PRUint32)20 }, - { (void *)"\333\310\362\047\056\261\352\152\051\043\135\376\126\076\063\337" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_70 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert OCSP Responder", (PRUint32)24 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\262\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\054\060\052\006\003\125\004\013\023\043\103\154\141" -"\163\163\040\061\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\040\055\040\117\103\123\120" -"\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160\072" -"\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056\156" -"\145\164\057\061\040\060\036\006\011\052\206\110\206\367\015\001" -"\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145\162" -"\164\056\143\157\155" -, (PRUint32)181 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\201\262\061\044\060\042\006\003\125\004\007\023\033\126\141" -"\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157" -"\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125" -"\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156" -"\143\056\061\054\060\052\006\003\125\004\013\023\043\103\154\141" -"\163\163\040\061\040\126\141\154\151\144\141\164\151\157\156\040" -"\101\165\164\150\157\162\151\164\171\040\055\040\117\103\123\120" -"\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160\072" -"\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056\156" -"\145\164\057\061\040\060\036\006\011\052\206\110\206\367\015\001" -"\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145\162" -"\164\056\143\157\155" -, (PRUint32)181 }, - { (void *)"\001" -, (PRUint32)1 }, - { (void *)"\060\202\003\110\060\202\002\261\240\003\002\001\002\002\001\001" -"\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060" -"\201\262\061\044\060\042\006\003\125\004\007\023\033\126\141\154" -"\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157\156" -"\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125\004" -"\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156\143" -"\056\061\054\060\052\006\003\125\004\013\023\043\103\154\141\163" -"\163\040\061\040\126\141\154\151\144\141\164\151\157\156\040\101" -"\165\164\150\157\162\151\164\171\040\055\040\117\103\123\120\061" -"\041\060\037\006\003\125\004\003\023\030\150\164\164\160\072\057" -"\057\167\167\167\056\166\141\154\151\143\145\162\164\056\156\145" -"\164\057\061\040\060\036\006\011\052\206\110\206\367\015\001\011" -"\001\026\021\151\156\146\157\100\166\141\154\151\143\145\162\164" -"\056\143\157\155\060\036\027\015\060\060\060\062\061\062\061\061" -"\065\060\060\065\132\027\015\060\065\060\062\061\060\061\061\065" -"\060\060\065\132\060\201\262\061\044\060\042\006\003\125\004\007" -"\023\033\126\141\154\151\103\145\162\164\040\126\141\154\151\144" -"\141\164\151\157\156\040\116\145\164\167\157\162\153\061\027\060" -"\025\006\003\125\004\012\023\016\126\141\154\151\103\145\162\164" -"\054\040\111\156\143\056\061\054\060\052\006\003\125\004\013\023" -"\043\103\154\141\163\163\040\061\040\126\141\154\151\144\141\164" -"\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040" -"\117\103\123\120\061\041\060\037\006\003\125\004\003\023\030\150" -"\164\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145" -"\162\164\056\156\145\164\057\061\040\060\036\006\011\052\206\110" -"\206\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154" -"\151\143\145\162\164\056\143\157\155\060\201\237\060\015\006\011" -"\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060" -"\201\211\002\201\201\000\307\214\057\247\303\100\207\073\075\327" -"\304\232\130\024\144\012\303\010\071\142\032\317\322\353\251\361" -"\151\164\212\312\016\132\166\314\242\122\116\320\363\304\172\265" -"\370\246\034\273\243\247\244\123\207\133\215\300\000\273\325\146" -"\044\347\164\306\026\310\257\310\003\142\325\062\207\242\122\221" -"\104\224\225\250\107\103\155\245\110\234\366\114\165\325\117\142" -"\347\311\377\173\364\044\214\247\274\050\166\265\062\240\045\163" -"\267\107\057\170\370\106\371\207\024\360\167\374\012\167\350\117" -"\375\214\037\372\142\331\002\003\001\000\001\243\154\060\152\060" -"\017\006\011\053\006\001\005\005\007\060\001\005\004\002\005\000" -"\060\023\006\003\125\035\045\004\014\060\012\006\010\053\006\001" -"\005\005\007\003\011\060\013\006\003\125\035\017\004\004\003\002" -"\001\206\060\065\006\010\053\006\001\005\005\007\001\001\004\051" -"\060\047\060\045\006\010\053\006\001\005\005\007\060\001\206\031" -"\150\164\164\160\072\057\057\157\143\163\160\062\056\166\141\154" -"\151\143\145\162\164\056\156\145\164\060\015\006\011\052\206\110" -"\206\367\015\001\001\005\005\000\003\201\201\000\025\305\340\270" -"\064\162\022\006\040\250\142\225\223\321\274\223\272\220\253\334" -"\116\215\216\215\230\114\343\062\365\053\077\263\227\373\252\242" -"\255\100\227\255\150\275\134\255\123\016\320\246\263\015\254\032" -"\231\215\252\060\036\317\016\160\377\002\260\167\145\203\315\332" -"\007\134\122\315\131\273\242\310\342\264\026\203\217\324\225\171" -"\223\055\350\277\104\223\061\222\060\323\064\064\361\020\373\041" -"\254\056\364\303\135\144\143\172\231\341\232\253\102\035\110\146" -"\246\167\067\270\125\074\255\376\145\260\142\351" -, (PRUint32)844 } -}; -static const NSSItem nss_builtins_items_71 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"ValiCert OCSP Responder", (PRUint32)24 }, - { (void *)"\133\166\261\274\342\212\360\366\161\221\205\147\046\215\021\151" -"\017\027\077\163" -, (PRUint32)20 }, - { (void *)"\325\036\040\137\321\365\035\202\127\010\122\071\035\372\212\255" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_72 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary OCSP Responder", (PRUint32)47 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060" -"\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146" -"\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057" -"\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155" -"\057\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003" -"\125\004\003\023\045\103\154\141\163\163\040\061\040\120\165\142" -"\154\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120" -"\040\122\145\163\160\157\156\144\145\162" -, (PRUint32)170 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\053\150\324\243\106\236\305\073\050\011\253\070\135\177\047\040" -, (PRUint32)16 }, - { (void *)"\060\202\003\236\060\202\003\007\240\003\002\001\002\002\020\053" -"\150\324\243\106\236\305\073\050\011\253\070\135\177\047\040\060" -"\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137" -"\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060" -"\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023" -"\056\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060" -"\036\027\015\060\060\060\070\060\064\060\060\060\060\060\060\132" -"\027\015\060\064\060\070\060\063\062\063\065\071\065\071\132\060" -"\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145\162" -"\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035\006" -"\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040\124" -"\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060\071" -"\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146\040" -"\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057\167" -"\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155\057" -"\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003\125" -"\004\003\023\045\103\154\141\163\163\040\061\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120\040" -"\122\145\163\160\157\156\144\145\162\060\201\237\060\015\006\011" -"\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060" -"\201\211\002\201\201\000\271\355\136\172\072\167\137\316\137\072" -"\122\374\315\144\367\161\265\157\152\226\306\131\222\125\224\135" -"\057\133\056\301\021\352\046\212\313\247\201\074\366\132\104\336" -"\172\023\057\375\132\121\331\173\067\046\112\300\047\077\004\003" -"\152\126\301\203\054\341\157\133\251\124\120\044\112\306\056\172" -"\114\241\133\067\124\044\041\061\037\241\170\030\166\247\261\160" -"\332\042\320\152\376\007\142\100\306\367\366\233\175\014\006\270" -"\113\307\050\344\146\043\204\121\357\106\267\223\330\201\063\313" -"\345\066\254\306\350\005\002\003\001\000\001\243\202\001\020\060" -"\202\001\014\060\040\006\003\125\035\021\004\031\060\027\244\025" -"\060\023\061\021\060\017\006\003\125\004\003\023\010\117\103\123" -"\120\040\061\055\061\060\061\006\003\125\035\037\004\052\060\050" -"\060\046\240\044\240\042\206\040\150\164\164\160\072\057\057\143" -"\162\154\056\166\145\162\151\163\151\147\156\056\143\157\155\057" -"\160\143\141\061\056\143\162\154\060\023\006\003\125\035\045\004" -"\014\060\012\006\010\053\006\001\005\005\007\003\011\060\102\006" -"\010\053\006\001\005\005\007\001\001\004\066\060\064\060\062\006" -"\010\053\006\001\005\005\007\060\001\246\046\026\044\150\164\164" -"\160\072\057\057\157\143\163\160\056\166\145\162\151\163\151\147" -"\156\056\143\157\155\057\157\143\163\160\057\163\164\141\164\165" -"\163\060\104\006\003\125\035\040\004\075\060\073\060\071\006\013" -"\140\206\110\001\206\370\105\001\007\001\001\060\052\060\050\006" -"\010\053\006\001\005\005\007\002\001\026\034\150\164\164\160\163" -"\072\057\057\167\167\167\056\166\145\162\151\163\151\147\156\056" -"\143\157\155\057\122\120\101\060\011\006\003\125\035\023\004\002" -"\060\000\060\013\006\003\125\035\017\004\004\003\002\007\200\060" -"\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201" -"\201\000\160\220\335\270\344\276\123\027\174\177\002\351\325\367" -"\213\231\223\061\140\215\176\346\140\153\044\357\140\254\322\316" -"\221\336\200\155\011\244\323\270\070\345\104\312\162\136\015\055" -"\301\167\234\275\054\003\170\051\215\244\245\167\207\365\361\053" -"\046\255\314\007\154\072\124\132\050\340\011\363\115\012\004\312" -"\324\130\151\013\247\263\365\335\001\245\347\334\360\037\272\301" -"\135\220\215\263\352\117\301\021\131\227\152\262\053\023\261\332" -"\255\227\241\263\261\240\040\133\312\062\253\215\317\023\360\037" -"\051\303" -, (PRUint32)930 } -}; -static const NSSItem nss_builtins_items_73 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 1 Public Primary OCSP Responder", (PRUint32)47 }, - { (void *)"\004\226\110\344\112\311\314\255\105\203\230\331\074\175\221\365" -"\042\104\033\212" -, (PRUint32)20 }, - { (void *)"\176\157\072\123\033\174\276\260\060\333\103\036\036\224\211\262" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_74 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary OCSP Responder", (PRUint32)47 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060" -"\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146" -"\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057" -"\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155" -"\057\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003" -"\125\004\003\023\045\103\154\141\163\163\040\062\040\120\165\142" -"\154\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120" -"\040\122\145\163\160\157\156\144\145\162" -, (PRUint32)170 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\062\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\011\106\027\346\035\330\324\034\240\014\240\142\350\171\212\247" -, (PRUint32)16 }, - { (void *)"\060\202\003\236\060\202\003\007\240\003\002\001\002\002\020\011" -"\106\027\346\035\330\324\034\240\014\240\142\350\171\212\247\060" -"\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137" -"\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060" -"\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023" -"\056\103\154\141\163\163\040\062\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060" -"\036\027\015\060\060\060\070\060\061\060\060\060\060\060\060\132" -"\027\015\060\064\060\067\063\061\062\063\065\071\065\071\132\060" -"\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145\162" -"\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035\006" -"\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040\124" -"\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060\071" -"\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146\040" -"\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057\167" -"\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155\057" -"\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003\125" -"\004\003\023\045\103\154\141\163\163\040\062\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120\040" -"\122\145\163\160\157\156\144\145\162\060\201\237\060\015\006\011" -"\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060" -"\201\211\002\201\201\000\320\312\143\061\141\177\104\064\174\005" -"\175\013\075\152\220\313\171\113\167\012\077\113\307\043\345\300" -"\142\055\176\234\176\076\210\207\221\320\254\350\115\111\207\242" -"\226\220\212\335\004\245\002\077\214\233\351\211\376\142\240\342" -"\132\275\310\335\264\170\346\245\102\223\010\147\001\300\040\115" -"\327\134\364\135\332\263\343\067\246\122\032\054\114\145\115\212" -"\207\331\250\243\361\111\124\273\074\134\200\121\150\306\373\111" -"\377\013\125\253\025\335\373\232\301\271\035\164\015\262\214\104" -"\135\211\374\237\371\203\002\003\001\000\001\243\202\001\020\060" -"\202\001\014\060\040\006\003\125\035\021\004\031\060\027\244\025" -"\060\023\061\021\060\017\006\003\125\004\003\023\010\117\103\123" -"\120\040\061\055\062\060\061\006\003\125\035\037\004\052\060\050" -"\060\046\240\044\240\042\206\040\150\164\164\160\072\057\057\143" -"\162\154\056\166\145\162\151\163\151\147\156\056\143\157\155\057" -"\160\143\141\062\056\143\162\154\060\023\006\003\125\035\045\004" -"\014\060\012\006\010\053\006\001\005\005\007\003\011\060\102\006" -"\010\053\006\001\005\005\007\001\001\004\066\060\064\060\062\006" -"\010\053\006\001\005\005\007\060\001\246\046\026\044\150\164\164" -"\160\072\057\057\157\143\163\160\056\166\145\162\151\163\151\147" -"\156\056\143\157\155\057\157\143\163\160\057\163\164\141\164\165" -"\163\060\104\006\003\125\035\040\004\075\060\073\060\071\006\013" -"\140\206\110\001\206\370\105\001\007\001\001\060\052\060\050\006" -"\010\053\006\001\005\005\007\002\001\026\034\150\164\164\160\163" -"\072\057\057\167\167\167\056\166\145\162\151\163\151\147\156\056" -"\143\157\155\057\122\120\101\060\011\006\003\125\035\023\004\002" -"\060\000\060\013\006\003\125\035\017\004\004\003\002\007\200\060" -"\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201" -"\201\000\037\175\011\156\044\106\165\004\234\363\046\233\343\071" -"\156\027\357\274\275\242\033\322\002\204\206\253\320\100\227\054" -"\304\103\210\067\031\153\042\250\003\161\120\235\040\334\066\140" -"\040\232\163\055\163\125\154\130\233\054\302\264\064\054\172\063" -"\102\312\221\331\351\103\257\317\036\340\365\304\172\253\077\162" -"\143\036\251\067\341\133\073\210\263\023\206\202\220\127\313\127" -"\377\364\126\276\042\335\343\227\250\341\274\042\103\302\335\115" -"\333\366\201\236\222\024\236\071\017\023\124\336\202\330\300\136" -"\064\215" -, (PRUint32)930 } -}; -static const NSSItem nss_builtins_items_75 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 2 Public Primary OCSP Responder", (PRUint32)47 }, - { (void *)"\042\171\151\276\320\122\116\115\035\066\262\361\162\041\167\361" -"\124\123\110\167" -, (PRUint32)20 }, - { (void *)"\363\105\275\020\226\015\205\113\357\237\021\142\064\247\136\265" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_76 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary OCSP Responder", (PRUint32)47 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060" -"\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146" -"\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057" -"\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155" -"\057\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003" -"\125\004\003\023\045\103\154\141\163\163\040\063\040\120\165\142" -"\154\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120" -"\040\122\145\163\160\157\156\144\145\162" -, (PRUint32)170 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151" -"\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004" -"\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151" -"\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\056\226\236\277\266\142\154\354\173\351\163\314\343\154\301\204" -, (PRUint32)16 }, - { (void *)"\060\202\003\242\060\202\003\013\240\003\002\001\002\002\020\056" -"\226\236\277\266\142\154\354\173\351\163\314\343\154\301\204\060" -"\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137" -"\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060" -"\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156" -"\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023" -"\056\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040" -"\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143" -"\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060" -"\036\027\015\060\060\060\070\060\064\060\060\060\060\060\060\132" -"\027\015\060\064\060\070\060\063\062\063\065\071\065\071\132\060" -"\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145\162" -"\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035\006" -"\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040\124" -"\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060\071" -"\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146\040" -"\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057\167" -"\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155\057" -"\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003\125" -"\004\003\023\045\103\154\141\163\163\040\063\040\120\165\142\154" -"\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120\040" -"\122\145\163\160\157\156\144\145\162\060\201\237\060\015\006\011" -"\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060" -"\201\211\002\201\201\000\361\344\010\016\203\273\165\343\110\345" -"\270\333\246\360\271\253\351\074\142\307\136\065\133\320\002\124" -"\021\330\311\321\126\271\166\113\271\253\172\346\315\272\366\014" -"\004\326\176\326\260\012\145\254\116\071\343\361\367\055\243\045" -"\071\357\260\213\317\276\333\014\135\156\160\364\007\315\160\367" -"\072\300\076\065\026\355\170\214\103\317\302\046\056\107\326\206" -"\175\234\361\276\326\147\014\042\045\244\312\145\346\037\172\170" -"\050\057\077\005\333\004\041\277\341\105\146\376\074\267\202\355" -"\132\270\026\025\271\125\002\003\001\000\001\243\202\001\024\060" -"\202\001\020\060\040\006\003\125\035\021\004\031\060\027\244\025" -"\060\023\061\021\060\017\006\003\125\004\003\023\010\117\103\123" -"\120\040\061\055\063\060\065\006\003\125\035\037\004\056\060\054" -"\060\052\240\050\240\046\206\044\150\164\164\160\072\057\057\143" -"\162\154\056\166\145\162\151\163\151\147\156\056\143\157\155\057" -"\160\143\141\063\056\061\056\061\056\143\162\154\060\023\006\003" -"\125\035\045\004\014\060\012\006\010\053\006\001\005\005\007\003" -"\011\060\102\006\010\053\006\001\005\005\007\001\001\004\066\060" -"\064\060\062\006\010\053\006\001\005\005\007\060\001\246\046\026" -"\044\150\164\164\160\072\057\057\157\143\163\160\056\166\145\162" -"\151\163\151\147\156\056\143\157\155\057\157\143\163\160\057\163" -"\164\141\164\165\163\060\104\006\003\125\035\040\004\075\060\073" -"\060\071\006\013\140\206\110\001\206\370\105\001\007\001\001\060" -"\052\060\050\006\010\053\006\001\005\005\007\002\001\026\034\150" -"\164\164\160\163\072\057\057\167\167\167\056\166\145\162\151\163" -"\151\147\156\056\143\157\155\057\122\120\101\060\011\006\003\125" -"\035\023\004\002\060\000\060\013\006\003\125\035\017\004\004\003" -"\002\007\200\060\015\006\011\052\206\110\206\367\015\001\001\005" -"\005\000\003\201\201\000\002\366\123\143\300\251\036\362\320\213" -"\063\060\217\110\233\114\260\126\264\203\161\112\276\334\120\330" -"\365\266\340\013\333\275\170\117\351\317\011\064\332\051\111\235" -"\001\163\132\221\221\202\124\054\023\012\323\167\043\317\067\374" -"\143\336\247\343\366\267\265\151\105\050\111\303\221\334\252\107" -"\034\251\210\231\054\005\052\215\215\212\372\142\342\132\267\000" -"\040\135\071\304\050\302\313\374\236\250\211\256\133\075\216\022" -"\352\062\262\374\353\024\327\011\025\032\300\315\033\325\265\025" -"\116\101\325\226\343\116" -, (PRUint32)934 } -}; -static const NSSItem nss_builtins_items_77 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Class 3 Public Primary OCSP Responder", (PRUint32)47 }, - { (void *)"\265\355\267\332\046\072\126\164\322\042\105\060\324\307\217\172" -"\007\365\345\137" -, (PRUint32)20 }, - { (void *)"\175\121\222\311\166\203\230\026\336\214\263\206\304\175\146\373" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; -static const NSSItem nss_builtins_items_78 [] = { - { (void *)&cko_certificate, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Secure Server OCSP Responder", (PRUint32)38 }, - { (void *)&ckc_x_509, (PRUint32)sizeof(CK_CERTIFICATE_TYPE) }, - { (void *)"\060\201\236\061\027\060\025\006\003\125\004\012\023\016\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060" -"\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146" -"\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057" -"\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155" -"\057\122\120\101\040\050\143\051\060\060\061\045\060\043\006\003" -"\125\004\003\023\034\123\145\143\165\162\145\040\123\145\162\166" -"\145\162\040\117\103\123\120\040\122\145\163\160\157\156\144\145" -"\162" -, (PRUint32)161 }, - { (void *)"0", (PRUint32)2 }, - { (void *)"\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061" -"\040\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141" -"\164\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143" -"\056\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165" -"\162\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146" -"\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164" -"\171" -, (PRUint32)97 }, - { (void *)"\000\377\105\325\047\135\044\373\263\302\071\044\123\127\341\117" -"\336" -, (PRUint32)17 }, - { (void *)"\060\202\003\237\060\202\003\014\240\003\002\001\002\002\021\000" -"\377\105\325\047\135\044\373\263\302\071\044\123\127\341\117\336" -"\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060" -"\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040" -"\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141\164" -"\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143\056" -"\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165\162" -"\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151" -"\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171" -"\060\036\027\015\060\060\060\070\060\064\060\060\060\060\060\060" -"\132\027\015\060\064\060\070\060\063\062\063\065\071\065\071\132" -"\060\201\236\061\027\060\025\006\003\125\004\012\023\016\126\145" -"\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035" -"\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040" -"\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060" -"\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146" -"\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057" -"\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155" -"\057\122\120\101\040\050\143\051\060\060\061\045\060\043\006\003" -"\125\004\003\023\034\123\145\143\165\162\145\040\123\145\162\166" -"\145\162\040\117\103\123\120\040\122\145\163\160\157\156\144\145" -"\162\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001" -"\001\005\000\003\201\215\000\060\201\211\002\201\201\000\270\121" -"\231\144\205\016\356\263\012\150\360\277\143\166\035\123\365\374" -"\241\170\214\063\356\237\364\276\071\332\233\017\115\107\251\217" -"\040\350\113\104\275\316\315\173\220\321\060\350\220\304\045\173" -"\211\050\336\275\366\223\035\377\271\377\222\265\251\215\344\256" -"\314\342\303\007\203\152\243\162\020\001\047\142\042\246\065\046" -"\071\055\236\317\140\014\374\107\244\327\320\102\170\247\035\154" -"\320\313\117\025\247\051\012\264\225\105\304\261\347\132\011\327" -"\071\225\330\035\065\236\302\275\263\135\301\014\113\037\002\003" -"\001\000\001\243\202\001\035\060\202\001\031\060\040\006\003\125" -"\035\021\004\031\060\027\244\025\060\023\061\021\060\017\006\003" -"\125\004\003\023\010\117\103\123\120\040\061\055\064\060\076\006" -"\003\125\035\037\004\067\060\065\060\063\240\061\240\057\206\055" -"\150\164\164\160\072\057\057\143\162\154\056\166\145\162\151\163" -"\151\147\156\056\143\157\155\057\122\123\101\123\145\143\165\162" -"\145\123\145\162\166\145\162\055\160\056\143\162\154\060\023\006" -"\003\125\035\045\004\014\060\012\006\010\053\006\001\005\005\007" -"\003\011\060\102\006\010\053\006\001\005\005\007\001\001\004\066" -"\060\064\060\062\006\010\053\006\001\005\005\007\060\001\246\046" -"\026\044\150\164\164\160\072\057\057\157\143\163\160\056\166\145" -"\162\151\163\151\147\156\056\143\157\155\057\157\143\163\160\057" -"\163\164\141\164\165\163\060\104\006\003\125\035\040\004\075\060" -"\073\060\071\006\013\140\206\110\001\206\370\105\001\007\001\001" -"\060\052\060\050\006\010\053\006\001\005\005\007\002\001\026\034" -"\150\164\164\160\163\072\057\057\167\167\167\056\166\145\162\151" -"\163\151\147\156\056\143\157\155\057\122\120\101\060\011\006\003" -"\125\035\023\004\002\060\000\060\013\006\003\125\035\017\004\004" -"\003\002\007\200\060\015\006\011\052\206\110\206\367\015\001\001" -"\005\005\000\003\176\000\000\263\020\123\146\234\111\223\056\061" -"\240\002\102\322\130\127\176\146\241\376\033\212\141\030\120\100" -"\054\036\053\101\245\326\333\377\254\010\034\132\005\155\002\134" -"\052\266\226\117\107\333\276\116\333\316\314\272\206\270\030\316" -"\261\022\221\137\143\367\363\110\076\314\361\115\023\344\155\011" -"\224\170\000\222\313\243\040\235\006\013\152\240\103\007\316\321" -"\031\154\217\030\165\232\237\027\063\375\251\046\270\343\342\336" -"\302\250\304\132\212\177\230\326\007\006\153\314\126\236\206\160" -"\316\324\357" -, (PRUint32)931 } -}; -static const NSSItem nss_builtins_items_79 [] = { - { (void *)&cko_netscape_trust, (PRUint32)sizeof(CK_OBJECT_CLASS) }, - { (void *)&ck_true, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)&ck_false, (PRUint32)sizeof(CK_BBOOL) }, - { (void *)"Verisign Secure Server OCSP Responder", (PRUint32)38 }, - { (void *)"\161\236\140\141\327\175\054\203\361\242\135\074\366\215\002\274" -"\224\070\305\056" -, (PRUint32)20 }, - { (void *)"\054\142\303\330\200\001\026\011\352\131\352\170\253\020\103\366" -, (PRUint32)16 }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) }, - { (void *)&ckt_netscape_trusted_delegator, (PRUint32)sizeof(CK_TRUST) } -}; - -PR_IMPLEMENT_DATA(const builtinsInternalObject) -nss_builtins_data[] = { -#ifdef DEBUG - { 7, nss_builtins_types_0, nss_builtins_items_0 }, -#endif /* DEBUG */ - { 5, nss_builtins_types_1, nss_builtins_items_1 }, - { 11, nss_builtins_types_2, nss_builtins_items_2 }, - { 10, nss_builtins_types_3, nss_builtins_items_3 }, - { 11, nss_builtins_types_4, nss_builtins_items_4 }, - { 10, nss_builtins_types_5, nss_builtins_items_5 }, - { 11, nss_builtins_types_6, nss_builtins_items_6 }, - { 10, nss_builtins_types_7, nss_builtins_items_7 }, - { 11, nss_builtins_types_8, nss_builtins_items_8 }, - { 10, nss_builtins_types_9, nss_builtins_items_9 }, - { 11, nss_builtins_types_10, nss_builtins_items_10 }, - { 10, nss_builtins_types_11, nss_builtins_items_11 }, - { 11, nss_builtins_types_12, nss_builtins_items_12 }, - { 10, nss_builtins_types_13, nss_builtins_items_13 }, - { 11, nss_builtins_types_14, nss_builtins_items_14 }, - { 10, nss_builtins_types_15, nss_builtins_items_15 }, - { 11, nss_builtins_types_16, nss_builtins_items_16 }, - { 10, nss_builtins_types_17, nss_builtins_items_17 }, - { 11, nss_builtins_types_18, nss_builtins_items_18 }, - { 10, nss_builtins_types_19, nss_builtins_items_19 }, - { 11, nss_builtins_types_20, nss_builtins_items_20 }, - { 10, nss_builtins_types_21, nss_builtins_items_21 }, - { 11, nss_builtins_types_22, nss_builtins_items_22 }, - { 10, nss_builtins_types_23, nss_builtins_items_23 }, - { 11, nss_builtins_types_24, nss_builtins_items_24 }, - { 10, nss_builtins_types_25, nss_builtins_items_25 }, - { 11, nss_builtins_types_26, nss_builtins_items_26 }, - { 10, nss_builtins_types_27, nss_builtins_items_27 }, - { 11, nss_builtins_types_28, nss_builtins_items_28 }, - { 10, nss_builtins_types_29, nss_builtins_items_29 }, - { 11, nss_builtins_types_30, nss_builtins_items_30 }, - { 10, nss_builtins_types_31, nss_builtins_items_31 }, - { 11, nss_builtins_types_32, nss_builtins_items_32 }, - { 10, nss_builtins_types_33, nss_builtins_items_33 }, - { 11, nss_builtins_types_34, nss_builtins_items_34 }, - { 10, nss_builtins_types_35, nss_builtins_items_35 }, - { 11, nss_builtins_types_36, nss_builtins_items_36 }, - { 10, nss_builtins_types_37, nss_builtins_items_37 }, - { 11, nss_builtins_types_38, nss_builtins_items_38 }, - { 10, nss_builtins_types_39, nss_builtins_items_39 }, - { 11, nss_builtins_types_40, nss_builtins_items_40 }, - { 10, nss_builtins_types_41, nss_builtins_items_41 }, - { 11, nss_builtins_types_42, nss_builtins_items_42 }, - { 10, nss_builtins_types_43, nss_builtins_items_43 }, - { 11, nss_builtins_types_44, nss_builtins_items_44 }, - { 10, nss_builtins_types_45, nss_builtins_items_45 }, - { 11, nss_builtins_types_46, nss_builtins_items_46 }, - { 10, nss_builtins_types_47, nss_builtins_items_47 }, - { 11, nss_builtins_types_48, nss_builtins_items_48 }, - { 10, nss_builtins_types_49, nss_builtins_items_49 }, - { 11, nss_builtins_types_50, nss_builtins_items_50 }, - { 10, nss_builtins_types_51, nss_builtins_items_51 }, - { 11, nss_builtins_types_52, nss_builtins_items_52 }, - { 10, nss_builtins_types_53, nss_builtins_items_53 }, - { 11, nss_builtins_types_54, nss_builtins_items_54 }, - { 10, nss_builtins_types_55, nss_builtins_items_55 }, - { 11, nss_builtins_types_56, nss_builtins_items_56 }, - { 10, nss_builtins_types_57, nss_builtins_items_57 }, - { 11, nss_builtins_types_58, nss_builtins_items_58 }, - { 10, nss_builtins_types_59, nss_builtins_items_59 }, - { 11, nss_builtins_types_60, nss_builtins_items_60 }, - { 10, nss_builtins_types_61, nss_builtins_items_61 }, - { 11, nss_builtins_types_62, nss_builtins_items_62 }, - { 10, nss_builtins_types_63, nss_builtins_items_63 }, - { 11, nss_builtins_types_64, nss_builtins_items_64 }, - { 10, nss_builtins_types_65, nss_builtins_items_65 }, - { 11, nss_builtins_types_66, nss_builtins_items_66 }, - { 10, nss_builtins_types_67, nss_builtins_items_67 }, - { 11, nss_builtins_types_68, nss_builtins_items_68 }, - { 10, nss_builtins_types_69, nss_builtins_items_69 }, - { 11, nss_builtins_types_70, nss_builtins_items_70 }, - { 10, nss_builtins_types_71, nss_builtins_items_71 }, - { 11, nss_builtins_types_72, nss_builtins_items_72 }, - { 10, nss_builtins_types_73, nss_builtins_items_73 }, - { 11, nss_builtins_types_74, nss_builtins_items_74 }, - { 10, nss_builtins_types_75, nss_builtins_items_75 }, - { 11, nss_builtins_types_76, nss_builtins_items_76 }, - { 10, nss_builtins_types_77, nss_builtins_items_77 }, - { 11, nss_builtins_types_78, nss_builtins_items_78 }, - { 10, nss_builtins_types_79, nss_builtins_items_79 } -}; -PR_IMPLEMENT_DATA(const PRUint32) -#ifdef DEBUG - nss_builtins_nObjects = 79+1; -#else - nss_builtins_nObjects = 79; -#endif /* DEBUG */ diff --git a/security/nss/lib/ckfw/builtins/certdata.perl b/security/nss/lib/ckfw/builtins/certdata.perl deleted file mode 100644 index 3d070e9bd..000000000 --- a/security/nss/lib/ckfw/builtins/certdata.perl +++ /dev/null @@ -1,292 +0,0 @@ -#!perl -w -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -my $cvs_id = '@(#) $RCSfile$ $Revision$ $Date$ $Name$'; -use strict; - -my %constants; -my $count = 0; -my $o; -my @objects = (); -my @objsize; -my $cvsid; - -$constants{CKO_DATA} = "static const CK_OBJECT_CLASS cko_data = CKO_DATA;\n"; -$constants{CK_TRUE} = "static const CK_BBOOL ck_true = CK_TRUE;\n"; -$constants{CK_FALSE} = "static const CK_BBOOL ck_false = CK_FALSE;\n"; - -while(<>) { - my @fields = (); - my $size; - - s/^((?:[^"#]+|"[^"]*")*)(\s*#.*$)/$1/; - next if (/^\s*$/); - - if( /(^CVS_ID\s+)(.*)/ ) { -# print "The CVS ID is $2\n"; - $cvsid = $2 . "\"; $cvs_id\""; - my $scratch = $cvsid; - $size = 1 + $scratch =~ s/[^"\n]//g; - @{$objects[0][0]} = ( "CKA_CLASS", "&cko_data", "sizeof(CK_OBJECT_CLASS)" ); - @{$objects[0][1]} = ( "CKA_TOKEN", "&ck_true", "sizeof(CK_BBOOL)" ); - @{$objects[0][2]} = ( "CKA_PRIVATE", "&ck_false", "sizeof(CK_BBOOL)" ); - @{$objects[0][3]} = ( "CKA_MODIFIABLE", "&ck_false", "sizeof(CK_BBOOL)" ); - @{$objects[0][4]} = ( "CKA_LABEL", "\"CVS ID\"", "7" ); - @{$objects[0][5]} = ( "CKA_APPLICATION", "\"NSS\"", "4" ); - @{$objects[0][6]} = ( "CKA_VALUE", $cvsid, "$size" ); - $objsize[0] = 7; - next; - } - - # This was taken from the perl faq #4. - my $text = $_; - push(@fields, $+) while $text =~ m{ - "([^\"\\]*(?:\\.[^\"\\]*)*)"\s? # groups the phrase inside the quotes - | ([^\s]+)\s? - | \s - }gx; - push(@fields, undef) if substr($text,-1,1) eq '\s'; - - if( $fields[0] =~ /BEGINDATA/ ) { - next; - } - - if( $fields[1] =~ /MULTILINE/ ) { - $fields[2] = ""; - while(<>) { - last if /END/; - chomp; - $fields[2] .= "\"$_\"\n"; - } - } - - if( $fields[1] =~ /UTF8/ ) { - if( $fields[2] =~ /^"/ ) { - ; - } else { - $fields[2] = "\"" . $fields[2] . "\""; - } - - my $scratch = $fields[2]; - $size = $scratch =~ s/[^"\n]//g; # should supposedly handle multilines, too.. - $size += 1; # null terminate - } - - if( $fields[1] =~ /OCTAL/ ) { - if( $fields[2] =~ /^"/ ) { - ; - } else { - $fields[2] = "\"" . $fields[2] . "\""; - } - - my $scratch = $fields[2]; - $size = $scratch =~ tr/\\//; - # no null termination - } - - if( $fields[1] =~ /^CK_/ ) { - my $lcv = $fields[2]; - $lcv =~ tr/A-Z/a-z/; - if( !defined($constants{$fields[2]}) ) { - $constants{$fields[2]} = "static const $fields[1] $lcv = $fields[2];\n"; - } - - $size = "sizeof($fields[1])"; - $fields[2] = "&$lcv"; - } - - if( $fields[0] =~ /CKA_CLASS/ ) { - $count++; - $objsize[$count] = 0; - } - - @{$objects[$count][$objsize[$count]++]} = ( "$fields[0]", $fields[2], "$size" ); - - # print "$fields[0] | $fields[1] | $size | $fields[2]\n"; -} - -doprint(); - -sub dudump { -my $i; -for( $i = 0; $i <= $count; $i++ ) { - print "\n"; - $o = $objects[$i]; - my @ob = @{$o}; - my $l; - my $j; - for( $j = 0; $j < @ob; $j++ ) { - $l = $ob[$j]; - my @a = @{$l}; - print "$a[0] ! $a[1] ! $a[2]\n"; - } -} - -} - -sub doprint { -my $i; - -open(CFILE, ">certdata.c") || die "Can't open certdata.c: $!"; - -print CFILE <<EOD -/* THIS IS A GENERATED FILE */ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ -#ifdef DEBUG -static const char CVS_ID[] = $cvsid; -#endif /* DEBUG */ - -#ifndef BUILTINS_H -#include "builtins.h" -#endif /* BUILTINS_H */ - -EOD - ; - -while(($a,$b) = each(%constants)) { - print CFILE $b; -} - -for( $i = 0; $i <= $count; $i++ ) { - if( 0 == $i ) { - print CFILE "#ifdef DEBUG\n"; - } - - print CFILE "static const CK_ATTRIBUTE_TYPE nss_builtins_types_$i [] = {\n"; - $o = $objects[$i]; - # print STDOUT "type $i object $o \n"; - my @ob = @{$o}; - my $j; - for( $j = 0; $j < @ob; $j++ ) { - my $l = $ob[$j]; - my @a = @{$l}; - print CFILE " $a[0]"; - if( $j+1 != @ob ) { - print CFILE ", "; - } - } - print CFILE "\n};\n"; - - if( 0 == $i ) { - print CFILE "#endif /* DEBUG */\n"; - } -} - -for( $i = 0; $i <= $count; $i++ ) { - if( 0 == $i ) { - print CFILE "#ifdef DEBUG\n"; - } - - print CFILE "static const NSSItem nss_builtins_items_$i [] = {\n"; - $o = $objects[$i]; - my @ob = @{$o}; - my $j; - for( $j = 0; $j < @ob; $j++ ) { - my $l = $ob[$j]; - my @a = @{$l}; - print CFILE " { (void *)$a[1], (PRUint32)$a[2] }"; - if( $j+1 != @ob ) { - print CFILE ",\n"; - } else { - print CFILE "\n"; - } - } - print CFILE "};\n"; - - if( 0 == $i ) { - print CFILE "#endif /* DEBUG */\n"; - } -} - -print CFILE "\nPR_IMPLEMENT_DATA(const builtinsInternalObject)\n"; -print CFILE "nss_builtins_data[] = {\n"; - -for( $i = 0; $i <= $count; $i++ ) { - - if( 0 == $i ) { - print CFILE "#ifdef DEBUG\n"; - } - - print CFILE " { $objsize[$i], nss_builtins_types_$i, nss_builtins_items_$i }"; - - if( $i == $count ) { - print CFILE "\n"; - } else { - print CFILE ",\n"; - } - - if( 0 == $i ) { - print CFILE "#endif /* DEBUG */\n"; - } -} - -print CFILE "};\n"; - -print CFILE "PR_IMPLEMENT_DATA(const PRUint32)\n"; -print CFILE "#ifdef DEBUG\n"; -print CFILE " nss_builtins_nObjects = $count+1;\n"; -print CFILE "#else\n"; -print CFILE " nss_builtins_nObjects = $count;\n"; -print CFILE "#endif /* DEBUG */\n"; -} diff --git a/security/nss/lib/ckfw/builtins/certdata.txt b/security/nss/lib/ckfw/builtins/certdata.txt deleted file mode 100644 index 654cadf1d..000000000 --- a/security/nss/lib/ckfw/builtins/certdata.txt +++ /dev/null @@ -1,4704 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -CVS_ID "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -# -# certdata.txt -# -# This file contains the object definitions for the certs and other -# information "built into" NSS. -# -# Object definitions: -# -# Certificates -# -# -- Attribute -- -- type -- -- value -- -# CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -# CKA_TOKEN CK_BBOOL CK_TRUE -# CKA_PRIVATE CK_BBOOL CK_FALSE -# CKA_MODIFIABLE CK_BBOOL CK_FALSE -# CKA_LABEL UTF8 (varies) -# CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -# CKA_SUBJECT DER+base64 (varies) -# CKA_ID byte array (varies) -# CKA_ISSUER DER+base64 (varies) -# CKA_SERIAL_NUMBER DER+base64 (varies) -# CKA_VALUE DER+base64 (varies) -# CKA_NETSCAPE_EMAIL ASCII7 (unused here) -# -# Trust -# -# -- Attribute -- -- type -- -- value -- -# CKA_CLASS CK_OBJECT_CLASS CKO_TRUST -# CKA_TOKEN CK_BBOOL CK_TRUE -# CKA_PRIVATE CK_BBOOL CK_FALSE -# CKA_MODIFIABLE CK_BBOOL CK_FALSE -# CKA_LABEL UTF8 (varies) -# CKA_ISSUER DER+base64 (varies) -# CKA_SERIAL_NUMBER DER+base64 (varies) -# CKA_CERT_HASH binary+base64 (varies) -# CKA_EXPIRES CK_DATE (not used here) -# CKA_TRUST_DIGITAL_SIGNATURE CK_TRUST (varies) -# CKA_TRUST_NON_REPUDIATION CK_TRUST (varies) -# CKA_TRUST_KEY_ENCIPHERMENT CK_TRUST (varies) -# CKA_TRUST_DATA_ENCIPHERMENT CK_TRUST (varies) -# CKA_TRUST_KEY_AGREEMENT CK_TRUST (varies) -# CKA_TRUST_KEY_CERT_SIGN CK_TRUST (varies) -# CKA_TRUST_CRL_SIGN CK_TRUST (varies) -# CKA_TRUST_SERVER_AUTH CK_TRUST (varies) -# CKA_TRUST_CLIENT_AUTH CK_TRUST (varies) -# CKA_TRUST_CODE_SIGNING CK_TRUST (varies) -# CKA_TRUST_EMAIL_PROTECTION CK_TRUST (varies) -# CKA_TRUST_IPSEC_END_SYSTEM CK_TRUST (varies) -# CKA_TRUST_IPSEC_TUNNEL CK_TRUST (varies) -# CKA_TRUST_IPSEC_USER CK_TRUST (varies) -# CKA_TRUST_TIME_STAMPING CK_TRUST (varies) -# (other trust attributes can be defined) -# - -# -# The object to tell NSS that this is a root list and we don't -# have to go looking for others. -# -BEGINDATA -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_BUILTIN_ROOT_LIST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Mozilla Builtin Roots" - -# -# Certificate "Verisign/RSA Secure Server CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign/RSA Secure Server CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141 -\164\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143 -\056\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165 -\162\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141 -\164\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143 -\056\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165 -\162\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\255\146\176\116\105\376\136\127\157\074\230\031\136\335\300 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\064\060\202\001\241\002\020\002\255\146\176\116\105 -\376\136\127\157\074\230\031\136\335\300\060\015\006\011\052\206 -\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004 -\012\023\027\122\123\101\040\104\141\164\141\040\123\145\143\165 -\162\151\164\171\054\040\111\156\143\056\061\056\060\054\006\003 -\125\004\013\023\045\123\145\143\165\162\145\040\123\145\162\166 -\145\162\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\064 -\061\061\060\071\060\060\060\060\060\060\132\027\015\061\060\060 -\061\060\067\062\063\065\071\065\071\132\060\137\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\040\060\036\006\003\125 -\004\012\023\027\122\123\101\040\104\141\164\141\040\123\145\143 -\165\162\151\164\171\054\040\111\156\143\056\061\056\060\054\006 -\003\125\004\013\023\045\123\145\143\165\162\145\040\123\145\162 -\166\145\162\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\060\201\233\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\211 -\000\060\201\205\002\176\000\222\316\172\301\256\203\076\132\252 -\211\203\127\254\045\001\166\014\255\256\216\054\067\316\353\065 -\170\144\124\003\345\204\100\121\311\277\217\010\342\212\202\010 -\322\026\206\067\125\351\261\041\002\255\166\150\201\232\005\242 -\113\311\113\045\146\042\126\154\210\007\217\367\201\131\155\204 -\007\145\160\023\161\166\076\233\167\114\343\120\211\126\230\110 -\271\035\247\051\032\023\056\112\021\131\234\036\025\325\111\124 -\054\163\072\151\202\261\227\071\234\155\160\147\110\345\335\055 -\326\310\036\173\002\003\001\000\001\060\015\006\011\052\206\110 -\206\367\015\001\001\002\005\000\003\176\000\145\335\176\341\262 -\354\260\342\072\340\354\161\106\232\031\021\270\323\307\240\264 -\003\100\046\002\076\011\234\341\022\263\321\132\366\067\245\267 -\141\003\266\133\026\151\073\306\104\010\014\210\123\014\153\227 -\111\307\076\065\334\154\271\273\252\337\134\273\072\057\223\140 -\266\251\113\115\362\040\367\315\137\177\144\173\216\334\000\134 -\327\372\167\312\071\026\131\157\016\352\323\265\203\177\115\115 -\102\126\166\264\311\137\004\370\070\370\353\322\137\165\137\315 -\173\374\345\216\200\174\374\120 -END - -# Trust for Certificate "Verisign/RSA Secure Server CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign/RSA Secure Server CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\104\143\305\061\327\314\301\000\147\224\141\053\266\126\323\277 -\202\127\204\157 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\164\173\202\003\103\360\000\236\153\263\354\107\277\205\245\223 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "VeriSign Class 4 Primary CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Class 4 Primary CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\064\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\064\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\246\000\000\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\061\060\202\001\232\002\005\002\246\000\000\001\060 -\015\006\011\052\206\110\206\367\015\001\001\002\005\000\060\137 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060 -\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023 -\056\103\154\141\163\163\040\064\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060 -\036\027\015\071\066\060\061\062\071\060\060\060\060\060\060\132 -\027\015\071\071\061\062\063\061\062\063\065\071\065\071\132\060 -\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 -\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013 -\023\056\103\154\141\163\163\040\064\040\120\165\142\154\151\143 -\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001\001 -\005\000\003\201\215\000\060\201\211\002\201\201\000\320\262\165 -\366\170\320\256\132\120\364\351\120\251\237\214\327\357\221\224 -\160\350\322\044\220\166\211\205\326\337\254\346\001\027\062\200 -\360\235\223\107\274\232\145\235\037\227\256\277\351\206\165\143 -\040\211\275\200\130\235\004\014\235\250\301\044\351\013\345\061 -\170\275\374\055\014\067\152\236\170\200\351\106\165\371\355\243 -\373\023\173\310\301\114\322\243\357\365\074\260\142\217\112\135 -\073\335\225\147\217\023\271\301\074\326\247\046\233\354\303\073 -\172\331\115\274\155\233\350\025\001\343\360\107\251\002\003\001 -\000\001\060\015\006\011\052\206\110\206\367\015\001\001\002\005 -\000\003\201\201\000\123\335\323\360\234\044\176\100\252\342\374 -\000\032\327\332\014\374\062\141\270\025\015\226\363\372\127\033 -\177\063\174\257\351\230\232\141\310\172\263\267\377\261\334\231 -\203\334\254\022\374\160\311\037\070\102\355\104\366\200\056\133 -\153\063\151\254\234\323\134\347\137\132\030\307\261\055\171\004 -\226\101\221\231\101\261\074\015\272\204\071\306\073\227\360\046 -\311\216\356\275\314\102\225\377\036\307\002\077\124\014\170\365 -\274\252\140\174\002\151\350\334\254\342\002\166\141\304\076\003 -\352\322\212\044\321 -END - -# Trust for Certificate "VeriSign Class 4 Primary CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Class 4 Primary CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\116\375\137\146\357\164\326\266\237\211\164\113\045\326\173\311 -\216\245\172\171 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\033\321\255\027\213\177\042\023\044\365\046\342\135\116\271\020 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Thawte Personal Basic CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Personal Basic CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\313\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006 -\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167 -\164\145\040\120\145\162\163\157\156\141\154\040\102\141\163\151 -\143\040\103\101\061\050\060\046\006\011\052\206\110\206\367\015 -\001\011\001\026\031\160\145\162\163\157\156\141\154\055\142\141 -\163\151\143\100\164\150\141\167\164\145\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\313\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006 -\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167 -\164\145\040\120\145\162\163\157\156\141\154\040\102\141\163\151 -\143\040\103\101\061\050\060\046\006\011\052\206\110\206\367\015 -\001\011\001\026\031\160\145\162\163\157\156\141\154\055\142\141 -\163\151\143\100\164\150\141\167\164\145\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\041\060\202\002\212\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\313\061\013\060\011\006\003\125\004\006\023\002\132\101\061 -\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162 -\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023 -\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006\003 -\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156\163 -\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013\023 -\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123 -\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156 -\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167\164 -\145\040\120\145\162\163\157\156\141\154\040\102\141\163\151\143 -\040\103\101\061\050\060\046\006\011\052\206\110\206\367\015\001 -\011\001\026\031\160\145\162\163\157\156\141\154\055\142\141\163 -\151\143\100\164\150\141\167\164\145\056\143\157\155\060\036\027 -\015\071\066\060\061\060\061\060\060\060\060\060\060\132\027\015 -\062\060\061\062\063\061\062\063\065\071\065\071\132\060\201\313 -\061\013\060\011\006\003\125\004\006\023\002\132\101\061\025\060 -\023\006\003\125\004\010\023\014\127\145\163\164\145\162\156\040 -\103\141\160\145\061\022\060\020\006\003\125\004\007\023\011\103 -\141\160\145\040\124\157\167\156\061\032\060\030\006\003\125\004 -\012\023\021\124\150\141\167\164\145\040\103\157\156\163\165\154 -\164\151\156\147\061\050\060\046\006\003\125\004\013\023\037\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162 -\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061\041 -\060\037\006\003\125\004\003\023\030\124\150\141\167\164\145\040 -\120\145\162\163\157\156\141\154\040\102\141\163\151\143\040\103 -\101\061\050\060\046\006\011\052\206\110\206\367\015\001\011\001 -\026\031\160\145\162\163\157\156\141\154\055\142\141\163\151\143 -\100\164\150\141\167\164\145\056\143\157\155\060\201\237\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 -\000\060\201\211\002\201\201\000\274\274\223\123\155\300\120\117 -\202\025\346\110\224\065\246\132\276\157\102\372\017\107\356\167 -\165\162\335\215\111\233\226\127\240\170\324\312\077\121\263\151 -\013\221\166\027\042\007\227\152\304\121\223\113\340\215\357\067 -\225\241\014\115\332\064\220\035\027\211\227\340\065\070\127\112 -\300\364\010\160\351\074\104\173\120\176\141\232\220\343\043\323 -\210\021\106\047\365\013\007\016\273\335\321\177\040\012\210\271 -\126\013\056\034\200\332\361\343\236\051\357\024\275\012\104\373 -\033\133\030\321\277\043\223\041\002\003\001\000\001\243\023\060 -\021\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\015\006\011\052\206\110\206\367\015\001\001\004\005 -\000\003\201\201\000\055\342\231\153\260\075\172\211\327\131\242 -\224\001\037\053\335\022\113\123\302\255\177\252\247\000\134\221 -\100\127\045\112\070\252\204\160\271\331\200\017\245\173\134\373 -\163\306\275\327\212\141\134\003\343\055\047\250\027\340\204\205 -\102\334\136\233\306\267\262\155\273\164\257\344\077\313\247\267 -\260\340\135\276\170\203\045\224\322\333\201\017\171\007\155\117 -\364\071\025\132\122\001\173\336\062\326\115\070\366\022\134\006 -\120\337\005\133\275\024\113\241\337\051\272\073\101\215\367\143 -\126\241\337\042\261 -END - -# Trust for Certificate "Thawte Personal Basic CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Personal Basic CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\100\347\214\035\122\075\034\331\225\117\254\032\032\263\275\074 -\272\241\133\374 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\346\013\322\311\312\055\210\333\032\161\016\113\170\353\002\101 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Thawte Personal Premium CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Personal Premium CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\317\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006 -\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\043\060\041\006\003\125\004\003\023\032\124\150\141\167 -\164\145\040\120\145\162\163\157\156\141\154\040\120\162\145\155 -\151\165\155\040\103\101\061\052\060\050\006\011\052\206\110\206 -\367\015\001\011\001\026\033\160\145\162\163\157\156\141\154\055 -\160\162\145\155\151\165\155\100\164\150\141\167\164\145\056\143 -\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\317\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006 -\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\043\060\041\006\003\125\004\003\023\032\124\150\141\167 -\164\145\040\120\145\162\163\157\156\141\154\040\120\162\145\155 -\151\165\155\040\103\101\061\052\060\050\006\011\052\206\110\206 -\367\015\001\011\001\026\033\160\145\162\163\157\156\141\154\055 -\160\162\145\155\151\165\155\100\164\150\141\167\164\145\056\143 -\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\051\060\202\002\222\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\317\061\013\060\011\006\003\125\004\006\023\002\132\101\061 -\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162 -\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023 -\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006\003 -\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156\163 -\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013\023 -\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123 -\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156 -\061\043\060\041\006\003\125\004\003\023\032\124\150\141\167\164 -\145\040\120\145\162\163\157\156\141\154\040\120\162\145\155\151 -\165\155\040\103\101\061\052\060\050\006\011\052\206\110\206\367 -\015\001\011\001\026\033\160\145\162\163\157\156\141\154\055\160 -\162\145\155\151\165\155\100\164\150\141\167\164\145\056\143\157 -\155\060\036\027\015\071\066\060\061\060\061\060\060\060\060\060 -\060\132\027\015\062\060\061\062\063\061\062\063\065\071\065\071 -\132\060\201\317\061\013\060\011\006\003\125\004\006\023\002\132 -\101\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164 -\145\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004 -\007\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030 -\006\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157 -\156\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004 -\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151 -\157\156\061\043\060\041\006\003\125\004\003\023\032\124\150\141 -\167\164\145\040\120\145\162\163\157\156\141\154\040\120\162\145 -\155\151\165\155\040\103\101\061\052\060\050\006\011\052\206\110 -\206\367\015\001\011\001\026\033\160\145\162\163\157\156\141\154 -\055\160\162\145\155\151\165\155\100\164\150\141\167\164\145\056 -\143\157\155\060\201\237\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000 -\311\146\331\370\007\104\317\271\214\056\360\241\357\023\105\154 -\005\337\336\047\026\121\066\101\021\154\154\073\355\376\020\175 -\022\236\345\233\102\232\376\140\061\303\146\267\163\072\110\256 -\116\320\062\067\224\210\265\015\266\331\363\362\104\331\325\210 -\022\335\166\115\362\032\374\157\043\036\172\361\330\230\105\116 -\007\020\357\026\102\320\103\165\155\112\336\342\252\311\061\377 -\037\000\160\174\146\317\020\045\010\272\372\356\000\351\106\003 -\146\047\021\025\073\252\133\362\230\335\066\102\262\332\210\165 -\002\003\001\000\001\243\023\060\021\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206 -\110\206\367\015\001\001\004\005\000\003\201\201\000\151\066\211 -\367\064\052\063\162\057\155\073\324\042\262\270\157\232\305\066 -\146\016\033\074\241\261\165\132\346\375\065\323\370\250\362\007 -\157\205\147\216\336\053\271\342\027\260\072\240\360\016\242\000 -\232\337\363\024\025\156\273\310\205\132\230\200\371\377\276\164 -\035\075\363\376\060\045\321\067\064\147\372\245\161\171\060\141 -\051\162\300\340\054\114\373\126\344\072\250\157\345\062\131\122 -\333\165\050\120\131\014\370\013\031\344\254\331\257\226\215\057 -\120\333\007\303\352\037\253\063\340\365\053\061\211 -END - -# Trust for Certificate "Thawte Personal Premium CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Personal Premium CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\066\206\065\143\375\121\050\307\276\246\360\005\317\351\264\066 -\150\010\154\316 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\072\262\336\042\232\040\223\111\371\355\310\322\212\347\150\015 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Thawte Personal Freemail CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Personal Freemail CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\321\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006 -\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\044\060\042\006\003\125\004\003\023\033\124\150\141\167 -\164\145\040\120\145\162\163\157\156\141\154\040\106\162\145\145 -\155\141\151\154\040\103\101\061\053\060\051\006\011\052\206\110 -\206\367\015\001\011\001\026\034\160\145\162\163\157\156\141\154 -\055\146\162\145\145\155\141\151\154\100\164\150\141\167\164\145 -\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\321\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006 -\003\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\044\060\042\006\003\125\004\003\023\033\124\150\141\167 -\164\145\040\120\145\162\163\157\156\141\154\040\106\162\145\145 -\155\141\151\154\040\103\101\061\053\060\051\006\011\052\206\110 -\206\367\015\001\011\001\026\034\160\145\162\163\157\156\141\154 -\055\146\162\145\145\155\141\151\154\100\164\150\141\167\164\145 -\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\055\060\202\002\226\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\321\061\013\060\011\006\003\125\004\006\023\002\132\101\061 -\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162 -\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023 -\011\103\141\160\145\040\124\157\167\156\061\032\060\030\006\003 -\125\004\012\023\021\124\150\141\167\164\145\040\103\157\156\163 -\165\154\164\151\156\147\061\050\060\046\006\003\125\004\013\023 -\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123 -\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156 -\061\044\060\042\006\003\125\004\003\023\033\124\150\141\167\164 -\145\040\120\145\162\163\157\156\141\154\040\106\162\145\145\155 -\141\151\154\040\103\101\061\053\060\051\006\011\052\206\110\206 -\367\015\001\011\001\026\034\160\145\162\163\157\156\141\154\055 -\146\162\145\145\155\141\151\154\100\164\150\141\167\164\145\056 -\143\157\155\060\036\027\015\071\066\060\061\060\061\060\060\060 -\060\060\060\132\027\015\062\060\061\062\063\061\062\063\065\071 -\065\071\132\060\201\321\061\013\060\011\006\003\125\004\006\023 -\002\132\101\061\025\060\023\006\003\125\004\010\023\014\127\145 -\163\164\145\162\156\040\103\141\160\145\061\022\060\020\006\003 -\125\004\007\023\011\103\141\160\145\040\124\157\167\156\061\032 -\060\030\006\003\125\004\012\023\021\124\150\141\167\164\145\040 -\103\157\156\163\165\154\164\151\156\147\061\050\060\046\006\003 -\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151 -\163\151\157\156\061\044\060\042\006\003\125\004\003\023\033\124 -\150\141\167\164\145\040\120\145\162\163\157\156\141\154\040\106 -\162\145\145\155\141\151\154\040\103\101\061\053\060\051\006\011 -\052\206\110\206\367\015\001\011\001\026\034\160\145\162\163\157 -\156\141\154\055\146\162\145\145\155\141\151\154\100\164\150\141 -\167\164\145\056\143\157\155\060\201\237\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211 -\002\201\201\000\324\151\327\324\260\224\144\133\161\351\107\330 -\014\121\266\352\162\221\260\204\136\175\055\015\217\173\022\337 -\205\045\165\050\164\072\102\054\143\047\237\225\173\113\357\176 -\031\207\035\206\352\243\335\271\316\226\144\032\302\024\156\104 -\254\174\346\217\350\115\017\161\037\100\070\246\000\243\207\170 -\366\371\224\206\136\255\352\300\136\166\353\331\024\243\135\156 -\172\174\014\245\113\125\177\006\031\051\177\236\232\046\325\152 -\273\070\044\010\152\230\307\261\332\243\230\221\375\171\333\345 -\132\304\034\271\002\003\001\000\001\243\023\060\021\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015 -\006\011\052\206\110\206\367\015\001\001\004\005\000\003\201\201 -\000\307\354\222\176\116\370\365\226\245\147\142\052\244\360\115 -\021\140\320\157\215\140\130\141\254\046\273\122\065\134\010\317 -\060\373\250\112\226\212\037\142\102\043\214\027\017\364\272\144 -\234\027\254\107\051\337\235\230\136\322\154\140\161\134\242\254 -\334\171\343\347\156\000\107\037\265\015\050\350\002\235\344\232 -\375\023\364\246\331\174\261\370\334\137\043\046\011\221\200\163 -\320\024\033\336\103\251\203\045\362\346\234\057\025\312\376\246 -\253\212\007\165\213\014\335\121\204\153\344\370\321\316\167\242 -\201 -END - -# Trust for Certificate "Thawte Personal Freemail CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Personal Freemail CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\040\231\000\266\075\225\127\050\024\014\321\066\042\330\306\207 -\244\353\000\205 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\036\164\303\206\074\014\065\305\076\302\177\357\074\252\074\331 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "Thawte Server CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Server CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 -\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003 -\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151 -\163\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124 -\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061 -\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027 -\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141 -\167\164\145\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 -\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003 -\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151 -\163\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124 -\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061 -\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027 -\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141 -\167\164\145\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\023\060\202\002\174\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101\061 -\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162 -\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023 -\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003 -\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163 -\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003\125 -\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163 -\151\157\156\061\031\060\027\006\003\125\004\003\023\020\124\150 -\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061\046 -\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027\163 -\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141\167 -\164\145\056\143\157\155\060\036\027\015\071\066\060\070\060\061 -\060\060\060\060\060\060\132\027\015\062\060\061\062\063\061\062 -\063\065\071\065\071\132\060\201\304\061\013\060\011\006\003\125 -\004\006\023\002\132\101\061\025\060\023\006\003\125\004\010\023 -\014\127\145\163\164\145\162\156\040\103\141\160\145\061\022\060 -\020\006\003\125\004\007\023\011\103\141\160\145\040\124\157\167 -\156\061\035\060\033\006\003\125\004\012\023\024\124\150\141\167 -\164\145\040\103\157\156\163\165\154\164\151\156\147\040\143\143 -\061\050\060\046\006\003\125\004\013\023\037\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145 -\163\040\104\151\166\151\163\151\157\156\061\031\060\027\006\003 -\125\004\003\023\020\124\150\141\167\164\145\040\123\145\162\166 -\145\162\040\103\101\061\046\060\044\006\011\052\206\110\206\367 -\015\001\011\001\026\027\163\145\162\166\145\162\055\143\145\162 -\164\163\100\164\150\141\167\164\145\056\143\157\155\060\201\237 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\201\215\000\060\201\211\002\201\201\000\323\244\120\156\310\377 -\126\153\346\317\135\266\352\014\150\165\107\242\252\302\332\204 -\045\374\250\364\107\121\332\205\265\040\164\224\206\036\017\165 -\311\351\010\141\365\006\155\060\156\025\031\002\351\122\300\142 -\333\115\231\236\342\152\014\104\070\315\376\276\343\144\011\160 -\305\376\261\153\051\266\057\111\310\073\324\047\004\045\020\227 -\057\347\220\155\300\050\102\231\327\114\103\336\303\365\041\155 -\124\237\135\303\130\341\300\344\331\133\260\270\334\264\173\337 -\066\072\302\265\146\042\022\326\207\015\002\003\001\000\001\243 -\023\060\021\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001 -\004\005\000\003\201\201\000\007\372\114\151\134\373\225\314\106 -\356\205\203\115\041\060\216\312\331\250\157\111\032\346\332\121 -\343\140\160\154\204\141\021\241\032\310\110\076\131\103\175\117 -\225\075\241\213\267\013\142\230\172\165\212\335\210\116\116\236 -\100\333\250\314\062\164\271\157\015\306\343\263\104\013\331\212 -\157\232\051\233\231\030\050\073\321\343\100\050\232\132\074\325 -\265\347\040\033\213\312\244\253\215\351\121\331\342\114\054\131 -\251\332\271\262\165\033\366\102\362\357\307\362\030\371\211\274 -\243\377\212\043\056\160\107 -END - -# Trust for Certificate "Thawte Server CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Server CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\043\345\224\224\121\225\362\101\110\003\264\325\144\322\243\243 -\365\330\213\214 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\305\160\304\242\355\123\170\014\310\020\123\201\144\313\320\035 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Thawte Premium Server CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Premium Server CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 -\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003 -\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151 -\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124 -\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145 -\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110 -\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055 -\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157 -\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 -\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003 -\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151 -\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124 -\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145 -\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110 -\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055 -\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157 -\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\047\060\202\002\220\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101\061 -\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162 -\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023 -\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003 -\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163 -\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003\125 -\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151\163 -\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124\150 -\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145\162 -\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110\206 -\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055\163 -\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157\155 -\060\036\027\015\071\066\060\070\060\061\060\060\060\060\060\060 -\132\027\015\062\060\061\062\063\061\062\063\065\071\065\071\132 -\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101 -\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 -\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 -\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 -\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 -\163\165\154\164\151\156\147\040\143\143\061\050\060\046\006\003 -\125\004\013\023\037\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\123\145\162\166\151\143\145\163\040\104\151\166\151 -\163\151\157\156\061\041\060\037\006\003\125\004\003\023\030\124 -\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145 -\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110 -\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055 -\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157 -\155\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\201\215\000\060\201\211\002\201\201\000\322\066 -\066\152\213\327\302\133\236\332\201\101\142\217\070\356\111\004 -\125\326\320\357\034\033\225\026\107\357\030\110\065\072\122\364 -\053\152\006\217\073\057\352\126\343\257\206\215\236\027\367\236 -\264\145\165\002\115\357\313\011\242\041\121\330\233\320\147\320 -\272\015\222\006\024\163\324\223\313\227\052\000\234\134\116\014 -\274\372\025\122\374\362\104\156\332\021\112\156\010\237\057\055 -\343\371\252\072\206\163\266\106\123\130\310\211\005\275\203\021 -\270\163\077\252\007\215\364\102\115\347\100\235\034\067\002\003 -\001\000\001\243\023\060\021\060\017\006\003\125\035\023\001\001 -\377\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206 -\367\015\001\001\004\005\000\003\201\201\000\046\110\054\026\302 -\130\372\350\026\164\014\252\252\137\124\077\362\327\311\170\140 -\136\136\156\067\143\042\167\066\176\262\027\304\064\271\365\010 -\205\374\311\001\070\377\115\276\362\026\102\103\347\273\132\106 -\373\301\306\021\037\361\112\260\050\106\311\303\304\102\175\274 -\372\253\131\156\325\267\121\210\021\343\244\205\031\153\202\114 -\244\014\022\255\351\244\256\077\361\303\111\145\232\214\305\310 -\076\045\267\224\231\273\222\062\161\007\360\206\136\355\120\047 -\246\015\246\043\371\273\313\246\007\024\102 -END - -# Trust for Certificate "Thawte Premium Server CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Premium Server CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\142\177\215\170\047\145\143\231\322\175\177\220\104\311\376\263 -\363\076\372\232 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\006\237\151\171\026\146\220\002\033\214\214\242\303\007\157\072 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "BelSign Object Publishing CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "BelSign Object Publishing CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\273\061\013\060\011\006\003\125\004\006\023\002\102\105 -\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163 -\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145 -\154\123\151\147\156\040\116\126\061\070\060\066\006\003\125\004 -\013\023\057\102\145\154\123\151\147\156\040\117\142\152\145\143 -\164\040\120\165\142\154\151\163\150\151\156\147\040\103\145\162 -\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151 -\164\171\061\045\060\043\006\003\125\004\003\023\034\102\145\154 -\123\151\147\156\040\117\142\152\145\143\164\040\120\165\142\154 -\151\163\150\151\156\147\040\103\101\061\043\060\041\006\011\052 -\206\110\206\367\015\001\011\001\026\024\167\145\142\155\141\163 -\164\145\162\100\142\145\154\163\151\147\156\056\142\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\273\061\013\060\011\006\003\125\004\006\023\002\102\105 -\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163 -\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145 -\154\123\151\147\156\040\116\126\061\070\060\066\006\003\125\004 -\013\023\057\102\145\154\123\151\147\156\040\117\142\152\145\143 -\164\040\120\165\142\154\151\163\150\151\156\147\040\103\145\162 -\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151 -\164\171\061\045\060\043\006\003\125\004\003\023\034\102\145\154 -\123\151\147\156\040\117\142\152\145\143\164\040\120\165\142\154 -\151\163\150\151\156\147\040\103\101\061\043\060\041\006\011\052 -\206\110\206\367\015\001\011\001\026\024\167\145\142\155\141\163 -\164\145\162\100\142\145\154\163\151\147\156\056\142\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\003\060\202\002\154\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\273\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163\145 -\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145\154 -\123\151\147\156\040\116\126\061\070\060\066\006\003\125\004\013 -\023\057\102\145\154\123\151\147\156\040\117\142\152\145\143\164 -\040\120\165\142\154\151\163\150\151\156\147\040\103\145\162\164 -\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164 -\171\061\045\060\043\006\003\125\004\003\023\034\102\145\154\123 -\151\147\156\040\117\142\152\145\143\164\040\120\165\142\154\151 -\163\150\151\156\147\040\103\101\061\043\060\041\006\011\052\206 -\110\206\367\015\001\011\001\026\024\167\145\142\155\141\163\164 -\145\162\100\142\145\154\163\151\147\156\056\142\145\060\036\027 -\015\071\067\060\071\061\071\062\062\060\063\060\060\132\027\015 -\060\067\060\071\061\071\062\062\060\063\060\060\132\060\201\273 -\061\013\060\011\006\003\125\004\006\023\002\102\105\061\021\060 -\017\006\003\125\004\007\023\010\102\162\165\163\163\145\154\163 -\061\023\060\021\006\003\125\004\012\023\012\102\145\154\123\151 -\147\156\040\116\126\061\070\060\066\006\003\125\004\013\023\057 -\102\145\154\123\151\147\156\040\117\142\152\145\143\164\040\120 -\165\142\154\151\163\150\151\156\147\040\103\145\162\164\151\146 -\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061 -\045\060\043\006\003\125\004\003\023\034\102\145\154\123\151\147 -\156\040\117\142\152\145\143\164\040\120\165\142\154\151\163\150 -\151\156\147\040\103\101\061\043\060\041\006\011\052\206\110\206 -\367\015\001\011\001\026\024\167\145\142\155\141\163\164\145\162 -\100\142\145\154\163\151\147\156\056\142\145\060\201\237\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 -\000\060\201\211\002\201\201\000\304\056\037\266\277\356\202\100 -\335\371\267\056\101\325\236\005\261\132\320\046\174\142\125\003 -\233\374\313\141\336\113\357\376\350\231\376\207\271\210\317\220 -\332\017\011\074\166\337\027\227\266\313\077\045\105\375\264\274 -\130\000\276\260\132\266\024\207\217\356\147\144\255\035\210\203 -\273\147\237\145\141\000\130\010\200\120\237\200\311\061\366\052 -\220\034\055\367\112\154\020\366\043\103\135\070\011\140\210\127 -\002\315\026\154\030\374\315\373\222\052\167\320\236\223\243\135 -\210\144\320\310\370\135\124\121\002\003\001\000\001\243\025\060 -\023\060\021\006\011\140\206\110\001\206\370\102\001\001\004\004 -\003\002\000\007\060\015\006\011\052\206\110\206\367\015\001\001 -\004\005\000\003\201\201\000\143\166\027\174\226\360\123\245\135 -\001\034\123\316\051\302\176\165\254\114\015\242\010\163\264\152 -\061\375\002\006\024\231\334\124\004\244\277\310\226\206\237\061 -\103\062\045\127\366\205\366\045\273\067\276\241\171\043\311\127 -\006\045\161\153\105\117\370\364\002\100\026\202\042\257\124\352 -\062\050\366\015\356\231\272\113\010\121\017\156\206\043\041\114 -\055\045\210\201\304\056\016\361\023\054\070\212\225\002\044\303 -\072\225\143\344\223\216\110\273\010\107\162\137\256\346\072\132 -\107\326\161\306\236\232\122 -END - -# Trust for Certificate "BelSign Object Publishing CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "BelSign Object Publishing CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\373\224\125\030\075\227\133\343\150\140\204\227\152\247\052\201 -\125\173\201\051 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\212\002\370\337\270\341\204\237\132\302\140\044\145\321\163\373 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "BelSign Secure Server CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "BelSign Secure Server CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\263\061\013\060\011\006\003\125\004\006\023\002\102\105 -\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163 -\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145 -\154\123\151\147\156\040\116\126\061\064\060\062\006\003\125\004 -\013\023\053\102\145\154\123\151\147\156\040\123\145\143\165\162 -\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151 -\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\041 -\060\037\006\003\125\004\003\023\030\102\145\154\123\151\147\156 -\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103 -\101\061\043\060\041\006\011\052\206\110\206\367\015\001\011\001 -\026\024\167\145\142\155\141\163\164\145\162\100\142\145\154\163 -\151\147\156\056\142\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\263\061\013\060\011\006\003\125\004\006\023\002\102\105 -\061\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163 -\145\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145 -\154\123\151\147\156\040\116\126\061\064\060\062\006\003\125\004 -\013\023\053\102\145\154\123\151\147\156\040\123\145\143\165\162 -\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151 -\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061\041 -\060\037\006\003\125\004\003\023\030\102\145\154\123\151\147\156 -\040\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103 -\101\061\043\060\041\006\011\052\206\110\206\367\015\001\011\001 -\026\024\167\145\142\155\141\163\164\145\162\100\142\145\154\163 -\151\147\156\056\142\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\363\060\202\002\134\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\263\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\021\060\017\006\003\125\004\007\023\010\102\162\165\163\163\145 -\154\163\061\023\060\021\006\003\125\004\012\023\012\102\145\154 -\123\151\147\156\040\116\126\061\064\060\062\006\003\125\004\013 -\023\053\102\145\154\123\151\147\156\040\123\145\143\165\162\145 -\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151\143 -\141\164\145\040\101\165\164\150\157\162\151\164\171\061\041\060 -\037\006\003\125\004\003\023\030\102\145\154\123\151\147\156\040 -\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103\101 -\061\043\060\041\006\011\052\206\110\206\367\015\001\011\001\026 -\024\167\145\142\155\141\163\164\145\162\100\142\145\154\163\151 -\147\156\056\142\145\060\036\027\015\071\067\060\067\061\066\062 -\062\060\060\065\064\132\027\015\060\067\060\067\061\066\062\062 -\060\060\065\064\132\060\201\263\061\013\060\011\006\003\125\004 -\006\023\002\102\105\061\021\060\017\006\003\125\004\007\023\010 -\102\162\165\163\163\145\154\163\061\023\060\021\006\003\125\004 -\012\023\012\102\145\154\123\151\147\156\040\116\126\061\064\060 -\062\006\003\125\004\013\023\053\102\145\154\123\151\147\156\040 -\123\145\143\165\162\145\040\123\145\162\166\145\162\040\103\145 -\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162 -\151\164\171\061\041\060\037\006\003\125\004\003\023\030\102\145 -\154\123\151\147\156\040\123\145\143\165\162\145\040\123\145\162 -\166\145\162\040\103\101\061\043\060\041\006\011\052\206\110\206 -\367\015\001\011\001\026\024\167\145\142\155\141\163\164\145\162 -\100\142\145\154\163\151\147\156\056\142\145\060\201\237\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 -\000\060\201\211\002\201\201\000\326\001\022\170\222\370\004\102 -\177\311\307\042\203\374\174\107\160\060\053\111\013\076\066\100 -\220\050\332\041\163\203\123\362\304\321\026\100\300\123\377\256 -\246\306\044\263\047\155\245\263\075\071\167\135\250\006\366\346 -\351\274\143\021\116\006\145\160\012\235\223\371\242\100\213\177 -\112\204\016\215\026\261\326\314\010\144\022\014\340\050\113\310 -\245\204\220\027\373\021\106\056\326\247\205\030\313\030\256\143 -\232\260\130\006\364\000\317\370\304\011\032\065\014\241\371\356 -\112\375\155\336\376\046\245\073\002\003\001\000\001\243\025\060 -\023\060\021\006\011\140\206\110\001\206\370\102\001\001\004\004 -\003\002\000\240\060\015\006\011\052\206\110\206\367\015\001\001 -\004\005\000\003\201\201\000\154\075\231\303\005\342\035\312\345 -\055\252\150\205\213\100\061\040\146\023\150\346\130\072\211\320 -\215\165\262\305\142\330\175\202\217\367\331\062\201\167\366\065 -\133\205\051\316\147\262\271\274\053\031\170\317\363\207\375\106 -\361\225\165\262\011\127\003\060\301\172\315\162\107\161\200\312 -\175\235\311\145\074\107\021\042\175\372\007\013\050\170\241\223 -\350\005\105\110\342\062\062\112\075\350\123\034\020\267\307\163 -\214\007\120\341\371\311\053\123\101\365\203\215\345\011\071\112 -\216\003\142\252\100\143\213 -END - -# Trust for Certificate "BelSign Secure Server CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "BelSign Secure Server CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\302\305\265\376\203\144\370\243\156\170\035\174\025\010\174\350 -\205\241\206\230 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\075\136\202\306\331\255\331\213\223\153\014\020\271\111\012\261 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "TC TrustCenter, Germany, Class 0 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 0 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\060\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\060\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162 -\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142 -\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103 -\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162 -\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164 -\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061 -\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\060 -\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001 -\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100 -\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036 -\027\015\071\070\060\063\060\071\061\063\065\064\064\070\132\027 -\015\060\065\061\062\063\061\061\063\065\064\064\070\132\060\201 -\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020 -\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147 -\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165 -\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040 -\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040 -\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141 -\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042 -\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163 -\164\103\145\156\164\145\162\040\103\154\141\163\163\040\060\040 -\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011 -\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164 -\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\201\215\000\060\201\211\002\201\201\000\337\175\346\276\277\325 -\360\057\155\116\016\321\340\215\013\177\073\124\350\212\342\260 -\237\050\305\212\306\271\263\063\047\365\047\312\032\114\124\022 -\153\264\262\106\263\035\113\263\364\041\013\113\002\056\241\302 -\064\234\205\240\304\170\021\333\333\153\047\053\011\052\030\116 -\100\314\237\161\031\147\231\164\242\174\077\301\330\213\043\310 -\143\073\212\041\253\134\336\036\364\215\334\264\030\303\005\163 -\364\152\264\241\372\001\010\053\001\017\155\067\133\252\070\206 -\147\071\327\345\137\372\344\176\314\243\002\003\001\000\001\243 -\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206 -\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057 -\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056 -\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153 -\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110 -\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072 -\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145 -\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145 -\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140 -\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160 -\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156 -\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122 -\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110 -\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057 -\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162 -\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151 -\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110 -\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\060 -\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001 -\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015 -\001\001\004\005\000\003\201\201\000\115\007\177\137\011\060\031 -\222\252\005\107\172\224\165\124\052\256\317\374\330\014\102\341 -\105\070\053\044\225\262\312\207\312\171\304\303\227\220\136\142 -\030\306\311\070\141\114\150\065\323\114\024\021\353\304\315\241 -\251\330\305\236\150\047\062\007\065\105\004\370\137\041\240\140 -\036\034\000\110\004\130\322\305\313\256\155\062\156\075\167\225 -\214\205\307\345\256\120\235\165\112\173\377\013\047\171\352\115 -\244\131\377\354\132\352\046\245\071\203\244\321\170\316\247\251 -\176\274\335\053\312\022\223\003\112 -END - -# Trust for Certificate "TC TrustCenter, Germany, Class 0 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 0 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\104\201\247\326\311\104\165\204\317\355\212\107\311\256\152\360 -\036\071\165\030 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\065\205\111\216\156\127\376\275\227\361\311\106\043\072\266\175 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "TC TrustCenter, Germany, Class 1 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 1 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\061\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\061\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\002 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162 -\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142 -\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103 -\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162 -\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164 -\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061 -\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\061 -\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001 -\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100 -\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036 -\027\015\071\070\060\063\060\071\061\063\065\066\063\063\132\027 -\015\060\065\061\062\063\061\061\063\065\066\063\063\132\060\201 -\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020 -\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147 -\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165 -\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040 -\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040 -\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141 -\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042 -\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163 -\164\103\145\156\164\145\162\040\103\154\141\163\163\040\061\040 -\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011 -\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164 -\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\201\215\000\060\201\211\002\201\201\000\260\051\353\264\166\263 -\256\327\266\133\264\136\347\275\343\261\234\111\004\127\133\241 -\253\331\177\023\033\375\272\141\253\330\347\161\337\055\000\224 -\135\121\110\175\043\357\165\142\204\220\074\012\037\131\021\164 -\057\216\200\245\375\060\002\075\051\122\315\162\032\111\041\234 -\274\313\122\216\110\241\143\226\310\020\205\060\151\127\164\105 -\300\132\206\306\325\075\340\150\127\175\061\152\044\215\105\227 -\076\061\176\150\146\062\156\044\155\354\062\066\311\101\312\360 -\061\104\310\243\141\312\033\240\066\037\002\003\001\000\001\243 -\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206 -\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057 -\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056 -\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153 -\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110 -\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072 -\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145 -\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145 -\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140 -\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160 -\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156 -\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122 -\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110 -\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057 -\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162 -\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151 -\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110 -\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\061 -\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001 -\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015 -\001\001\004\005\000\003\201\201\000\005\102\122\046\244\014\047 -\001\104\254\134\045\050\302\104\102\124\010\271\035\305\076\154 -\131\146\304\263\116\120\247\370\370\226\165\241\226\165\350\026 -\070\240\315\135\156\372\171\247\033\173\035\036\303\000\271\146 -\276\132\326\142\017\347\362\173\270\357\114\340\300\077\131\256 -\071\267\204\011\236\253\361\251\056\153\151\342\255\314\362\352 -\170\011\005\040\070\102\161\030\176\307\262\227\346\325\002\005 -\006\126\243\137\361\252\302\304\117\376\367\357\026\017\235\354 -\252\205\317\075\051\044\361\004\315 -END - -# Trust for Certificate "TC TrustCenter, Germany, Class 1 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 1 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\332\300\131\013\015\224\374\025\327\025\056\266\171\160\003\133 -\215\271\365\053 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\144\077\370\076\122\024\112\131\272\223\126\004\013\043\002\321 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "TC TrustCenter, Germany, Class 2 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 2 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\062\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\062\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\003 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\003 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162 -\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142 -\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103 -\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162 -\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164 -\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061 -\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\062 -\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001 -\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100 -\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036 -\027\015\071\070\060\063\060\071\061\063\065\067\064\064\132\027 -\015\060\065\061\062\063\061\061\063\065\067\064\064\132\060\201 -\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020 -\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147 -\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165 -\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040 -\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040 -\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141 -\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042 -\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163 -\164\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040 -\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011 -\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164 -\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\201\215\000\060\201\211\002\201\201\000\332\070\350\355\062\000 -\051\161\203\001\015\277\214\001\334\332\306\255\071\244\251\212 -\057\325\213\134\150\137\120\306\142\365\146\275\312\221\042\354 -\252\035\121\327\075\263\121\262\203\116\135\313\111\260\360\114 -\125\345\153\055\307\205\013\060\034\222\116\202\324\312\002\355 -\367\157\276\334\340\343\024\270\005\123\362\232\364\126\213\132 -\236\205\223\321\264\202\126\256\115\273\250\113\127\026\274\376 -\370\130\236\370\051\215\260\173\315\170\311\117\254\213\147\014 -\361\234\373\374\127\233\127\134\117\015\002\003\001\000\001\243 -\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206 -\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057 -\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056 -\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153 -\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110 -\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072 -\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145 -\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145 -\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140 -\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160 -\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156 -\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122 -\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110 -\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057 -\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162 -\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151 -\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110 -\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\062 -\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001 -\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015 -\001\001\004\005\000\003\201\201\000\211\033\364\357\351\070\342 -\154\014\366\315\157\111\316\051\314\373\246\017\371\215\076\225 -\106\326\374\107\062\211\262\310\006\141\172\322\347\015\023\002 -\224\013\331\213\126\107\364\273\347\305\137\173\364\143\114\256 -\174\064\352\015\242\251\263\054\205\363\343\376\047\124\020\222 -\260\217\222\301\230\102\030\160\110\333\116\054\353\015\044\150 -\344\321\367\276\011\251\051\207\273\350\332\334\076\243\210\102 -\061\365\321\343\177\256\330\216\000\132\164\230\260\117\306\377 -\043\173\134\163\000\170\311\333\116 -END - -# Trust for Certificate "TC TrustCenter, Germany, Class 2 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 2 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\312\135\207\155\025\113\162\350\014\357\331\346\353\234\366\215 -\002\037\253\354 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\341\351\226\123\167\341\360\070\240\002\253\224\306\225\173\374 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "TC TrustCenter, Germany, Class 3 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 3 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\063\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\063\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\004 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\004 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162 -\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142 -\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103 -\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162 -\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164 -\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061 -\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\063 -\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001 -\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100 -\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036 -\027\015\071\070\060\063\060\071\061\063\065\070\064\071\132\027 -\015\060\065\061\062\063\061\061\063\065\070\064\071\132\060\201 -\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020 -\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147 -\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165 -\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040 -\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040 -\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141 -\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042 -\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163 -\164\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040 -\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011 -\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164 -\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\201\215\000\060\201\211\002\201\201\000\266\264\301\065\005\056 -\015\215\354\240\100\152\034\016\047\246\120\222\153\120\033\007 -\336\056\347\166\314\340\332\374\204\250\136\214\143\152\053\115 -\331\116\002\166\021\301\013\362\215\171\312\000\266\361\260\016 -\327\373\244\027\075\257\253\151\172\226\047\277\257\063\241\232 -\052\131\252\304\265\067\010\362\022\245\061\266\103\365\062\226 -\161\050\050\253\215\050\206\337\273\356\343\014\175\060\326\303 -\122\253\217\135\047\234\153\300\243\347\005\153\127\111\104\263 -\156\352\144\317\322\216\172\120\167\167\002\003\001\000\001\243 -\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206 -\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057 -\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056 -\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153 -\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110 -\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072 -\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145 -\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145 -\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140 -\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160 -\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156 -\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122 -\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110 -\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057 -\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162 -\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151 -\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110 -\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\063 -\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001 -\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015 -\001\001\004\005\000\003\201\201\000\204\206\120\142\171\240\047 -\341\045\272\011\261\064\017\023\011\355\055\312\243\346\225\371 -\060\254\315\027\245\316\075\227\235\354\174\217\046\177\300\141 -\312\042\367\221\335\074\066\131\232\233\165\367\274\344\310\355 -\354\002\266\042\247\363\054\361\310\222\170\155\266\356\305\050 -\354\200\040\117\271\153\010\347\057\247\206\036\175\261\010\237 -\124\271\000\067\074\240\330\032\310\226\034\364\062\024\234\071 -\225\267\356\360\103\111\302\136\350\313\171\157\123\277\373\111 -\212\054\330\113\331\125\362\022\160 -END - -# Trust for Certificate "TC TrustCenter, Germany, Class 3 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 3 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\227\057\340\037\171\136\221\210\026\371\201\161\176\162\355\040 -\241\377\020\143 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\142\253\266\025\112\264\260\026\167\377\256\317\026\026\053\214 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "TC TrustCenter, Germany, Class 4 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 4 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\064\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165 -\162\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155 -\142\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124 -\103\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157 -\162\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141 -\164\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110 -\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162 -\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040 -\064\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015 -\001\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145 -\100\164\162\165\163\164\143\145\156\164\145\162\056\144\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\005 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\065\060\202\003\236\240\003\002\001\002\002\001\005 -\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 -\201\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\020\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162 -\147\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142 -\165\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103 -\040\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162 -\040\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164 -\141\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061 -\042\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\064 -\040\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001 -\011\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100 -\164\162\165\163\164\143\145\156\164\145\162\056\144\145\060\036 -\027\015\071\070\060\063\060\071\061\064\060\060\062\060\132\027 -\015\060\065\061\062\063\061\061\064\060\060\062\060\132\060\201 -\274\061\013\060\011\006\003\125\004\006\023\002\104\105\061\020 -\060\016\006\003\125\004\010\023\007\110\141\155\142\165\162\147 -\061\020\060\016\006\003\125\004\007\023\007\110\141\155\142\165 -\162\147\061\072\060\070\006\003\125\004\012\023\061\124\103\040 -\124\162\165\163\164\103\145\156\164\145\162\040\146\157\162\040 -\123\145\143\165\162\151\164\171\040\151\156\040\104\141\164\141 -\040\116\145\164\167\157\162\153\163\040\107\155\142\110\061\042 -\060\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163 -\164\103\145\156\164\145\162\040\103\154\141\163\163\040\064\040 -\103\101\061\051\060\047\006\011\052\206\110\206\367\015\001\011 -\001\026\032\143\145\162\164\151\146\151\143\141\164\145\100\164 -\162\165\163\164\143\145\156\164\145\162\056\144\145\060\201\237 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\201\215\000\060\201\211\002\201\201\000\277\057\143\326\066\173 -\262\015\323\125\365\144\154\346\045\135\306\264\310\024\272\045 -\070\203\353\126\142\245\125\251\145\243\364\043\231\302\113\271 -\320\315\124\147\246\243\240\243\251\063\053\166\344\275\255\167 -\262\355\134\022\164\303\305\266\017\122\232\162\223\103\220\142 -\146\025\017\105\245\335\340\335\270\157\100\156\127\301\171\162 -\243\140\252\272\166\035\022\211\123\132\374\002\276\341\011\023 -\305\112\057\334\075\213\031\255\327\213\044\105\373\114\364\315 -\134\065\035\051\114\121\363\362\154\125\002\003\001\000\001\243 -\202\001\103\060\202\001\077\060\100\006\011\140\206\110\001\206 -\370\102\001\003\004\063\026\061\150\164\164\160\163\072\057\057 -\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162\056 -\144\145\057\143\147\151\055\142\151\156\057\143\150\145\143\153 -\055\162\145\166\056\143\147\151\077\060\100\006\011\140\206\110 -\001\206\370\102\001\004\004\063\026\061\150\164\164\160\163\072 -\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145 -\162\056\144\145\057\143\147\151\055\142\151\156\057\143\150\145 -\143\153\055\162\145\166\056\143\147\151\077\060\074\006\011\140 -\206\110\001\206\370\102\001\007\004\057\026\055\150\164\164\160 -\163\072\057\057\167\167\167\056\164\162\165\163\164\143\145\156 -\164\145\162\056\144\145\057\143\147\151\055\142\151\156\057\122 -\145\156\145\167\056\143\147\151\077\060\076\006\011\140\206\110 -\001\206\370\102\001\010\004\061\026\057\150\164\164\160\072\057 -\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145\162 -\056\144\145\057\147\165\151\144\145\154\151\156\145\163\057\151 -\156\144\145\170\056\150\164\155\154\060\050\006\011\140\206\110 -\001\206\370\102\001\015\004\033\026\031\124\103\040\124\162\165 -\163\164\103\145\156\164\145\162\040\103\154\141\163\163\040\064 -\040\103\101\060\021\006\011\140\206\110\001\206\370\102\001\001 -\004\004\003\002\000\007\060\015\006\011\052\206\110\206\367\015 -\001\001\004\005\000\003\201\201\000\224\150\024\033\045\236\051 -\231\261\262\043\322\104\263\225\237\321\236\125\004\335\343\057 -\202\063\125\226\167\031\235\053\236\145\034\372\212\343\307\217 -\045\374\261\036\125\106\017\217\377\117\067\057\244\166\131\246 -\144\353\325\026\160\275\335\225\063\014\244\015\044\353\144\120 -\264\103\021\362\103\276\015\161\230\042\354\001\257\354\367\307 -\134\161\303\165\221\130\031\350\335\240\364\264\361\274\020\112 -\363\223\264\006\111\273\037\146\322\275\164\107\341\232\371\353 -\327\253\155\037\272\341\035\054\332 -END - -# Trust for Certificate "TC TrustCenter, Germany, Class 4 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TC TrustCenter, Germany, Class 4 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\161\162\311\174\001\016\161\014\375\350\321\363\171\263\300\074 -\253\116\274\235 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\277\257\354\304\332\371\060\371\312\065\312\045\344\077\215\211 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 1 Public Primary Certification Authority" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000\315\272\177\126\360\337\344\274\124\376\042\254\263\162\252 -\125 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\075\060\202\001\246\002\021\000\315\272\177\126\360 -\337\344\274\124\376\042\254\263\162\252\125\060\015\006\011\052 -\206\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141 -\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151\155 -\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071 -\066\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070 -\060\070\060\061\062\063\065\071\065\071\132\060\137\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 -\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154 -\141\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151 -\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060 -\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201 -\215\000\060\201\211\002\201\201\000\345\031\277\155\243\126\141 -\055\231\110\161\366\147\336\271\215\353\267\236\206\200\012\221 -\016\372\070\045\257\106\210\202\345\163\250\240\233\044\135\015 -\037\314\145\156\014\260\320\126\204\030\207\232\006\233\020\241 -\163\337\264\130\071\153\156\301\366\025\325\250\250\077\252\022 -\006\215\061\254\177\260\064\327\217\064\147\210\011\315\024\021 -\342\116\105\126\151\037\170\002\200\332\334\107\221\051\273\066 -\311\143\134\305\340\327\055\207\173\241\267\062\260\173\060\272 -\052\057\061\252\356\243\147\332\333\002\003\001\000\001\060\015 -\006\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201 -\000\114\077\270\213\306\150\337\356\103\063\016\135\351\246\313 -\007\204\115\172\063\377\222\033\364\066\255\330\225\042\066\150 -\021\154\174\102\314\363\234\056\304\007\077\024\260\017\117\377 -\220\222\166\371\342\274\112\351\217\315\240\200\012\367\305\051 -\361\202\042\135\270\261\335\201\043\243\173\045\025\106\060\171 -\026\370\352\005\113\224\177\035\302\034\310\343\267\364\020\100 -\074\023\303\137\037\123\350\110\344\206\264\173\241\065\260\173 -\045\272\270\323\216\253\077\070\235\000\064\000\230\363\321\161 -\224 -END - -# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\220\256\242\151\205\377\024\200\114\103\111\122\354\351\140\204 -\167\257\125\157 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\227\140\350\127\137\323\120\107\345\103\014\224\066\212\260\142 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "Verisign Class 2 Public Primary Certification Authority" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\062\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\062\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\055\033\374\112\027\215\243\221\353\347\377\365\213\105\276 -\013 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\074\060\202\001\245\002\020\055\033\374\112\027\215 -\243\221\353\347\377\365\213\105\276\013\060\015\006\011\052\206 -\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004 -\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143 -\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141\163 -\163\040\062\040\120\165\142\154\151\143\040\120\162\151\155\141 -\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\066 -\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060 -\070\060\061\062\063\065\071\065\071\132\060\137\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141 -\163\163\040\062\040\120\165\142\154\151\143\040\120\162\151\155 -\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 -\000\060\201\211\002\201\201\000\266\132\213\243\015\152\043\203 -\200\153\317\071\207\364\041\023\063\006\114\045\242\355\125\022 -\227\305\247\200\271\372\203\301\040\240\372\057\025\015\174\241 -\140\153\176\171\054\372\006\017\072\256\366\033\157\261\322\377 -\057\050\122\137\203\175\113\304\172\267\370\146\037\200\124\374 -\267\302\216\131\112\024\127\106\321\232\223\276\101\221\003\273 -\025\200\223\134\353\347\314\010\154\077\076\263\112\374\377\113 -\154\043\325\120\202\046\104\031\216\043\303\161\352\031\044\107 -\004\236\165\277\310\246\000\037\002\003\001\000\001\060\015\006 -\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201\000 -\212\033\053\372\071\301\164\327\136\330\031\144\242\130\112\055 -\067\340\063\107\017\254\355\367\252\333\036\344\213\006\134\140 -\047\312\105\122\316\026\357\077\006\144\347\224\150\174\140\063 -\025\021\151\257\235\142\215\243\003\124\153\246\276\345\356\005 -\030\140\004\277\102\200\375\320\250\250\036\001\073\367\243\134 -\257\243\334\346\046\200\043\074\270\104\164\367\012\256\111\213 -\141\170\314\044\277\210\212\247\016\352\163\031\101\375\115\003 -\360\210\321\345\170\215\245\052\117\366\227\015\027\167\312\330 -END - -# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\147\202\252\340\355\356\342\032\130\071\323\300\315\024\150\012 -\117\140\024\052 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\263\234\045\261\303\056\062\123\200\025\060\235\115\002\167\076 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 3 Public Primary Certification Authority" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\160\272\344\035\020\331\051\064\266\070\312\173\003\314\272\277 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\074\060\202\001\245\002\020\160\272\344\035\020\331 -\051\064\266\070\312\173\003\314\272\277\060\015\006\011\052\206 -\110\206\367\015\001\001\002\005\000\060\137\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004 -\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143 -\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141\163 -\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155\141 -\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\060\036\027\015\071\066 -\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060 -\070\060\061\062\063\065\071\065\071\132\060\137\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\067\060\065\006\003\125\004\013\023\056\103\154\141 -\163\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155 -\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\060\201\237\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 -\000\060\201\211\002\201\201\000\311\134\131\236\362\033\212\001 -\024\264\020\337\004\100\333\343\127\257\152\105\100\217\204\014 -\013\321\063\331\331\021\317\356\002\130\037\045\367\052\250\104 -\005\252\354\003\037\170\177\236\223\271\232\000\252\043\175\326 -\254\205\242\143\105\307\162\047\314\364\114\306\165\161\322\071 -\357\117\102\360\165\337\012\220\306\216\040\157\230\017\370\254 -\043\137\160\051\066\244\311\206\347\261\232\040\313\123\245\205 -\347\075\276\175\232\376\044\105\063\334\166\025\355\017\242\161 -\144\114\145\056\201\150\105\247\002\003\001\000\001\060\015\006 -\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201\000 -\273\114\022\053\317\054\046\000\117\024\023\335\246\373\374\012 -\021\204\214\363\050\034\147\222\057\174\266\305\372\337\360\350 -\225\274\035\217\154\054\250\121\314\163\330\244\300\123\360\116 -\326\046\300\166\001\127\201\222\136\041\361\321\261\377\347\320 -\041\130\315\151\027\343\104\034\234\031\104\071\211\134\334\234 -\000\017\126\215\002\231\355\242\220\105\114\344\273\020\244\075 -\360\062\003\016\361\316\370\350\311\121\214\346\142\237\346\237 -\300\175\267\162\234\311\066\072\153\237\116\250\377\144\015\144 -END - -# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\164\054\061\222\346\007\344\044\353\105\111\124\053\341\273\305 -\076\141\164\342 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\020\374\143\135\366\046\076\015\363\045\276\137\171\315\147\147 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 1 Public Primary Certification Authority - G2" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\114\307\352\252\230\076\161\323\223\020\370\075\072\211\221\222 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\002\060\202\002\153\002\020\114\307\352\252\230\076 -\161\323\223\020\370\075\072\211\221\222\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141 -\163\163\040\061\040\120\165\142\154\151\143\040\120\162\151\155 -\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062 -\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 -\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 -\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027 -\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015 -\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060 -\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023 -\063\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\201\215\000\060\201\211\002\201\201\000\252\320 -\272\276\026\055\270\203\324\312\322\017\274\166\061\312\224\330 -\035\223\214\126\002\274\331\157\032\157\122\066\156\165\126\012 -\125\323\337\103\207\041\021\145\212\176\217\275\041\336\153\062 -\077\033\204\064\225\005\235\101\065\353\222\353\226\335\252\131 -\077\001\123\155\231\117\355\345\342\052\132\220\301\271\304\246 -\025\317\310\105\353\246\135\216\234\076\360\144\044\166\245\315 -\253\032\157\266\330\173\121\141\156\246\177\207\310\342\267\345 -\064\334\101\210\352\011\100\276\163\222\075\153\347\165\002\003 -\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\003\201\201\000\251\117\303\015\307\147\276\054\313\331 -\250\315\055\165\347\176\025\236\073\162\353\176\353\134\055\011 -\207\326\153\155\140\174\345\256\305\220\043\014\134\112\320\257 -\261\135\363\307\266\012\333\340\025\223\015\335\003\274\307\166 -\212\265\335\117\303\233\023\165\270\001\300\346\311\133\153\245 -\270\211\334\254\244\335\162\355\116\241\367\117\274\006\323\352 -\310\144\164\173\302\225\101\234\145\163\130\361\220\232\074\152 -\261\230\311\304\207\274\317\105\155\105\342\156\042\077\376\274 -\017\061\134\350\362\331 -END - -# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G2" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\047\076\341\044\127\375\304\371\014\125\350\053\126\026\177\142 -\365\062\345\107 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\333\043\075\371\151\372\113\271\225\200\104\163\136\175\101\203 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "Verisign Class 2 Public Primary Certification Authority - G2" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000\271\057\140\314\210\237\241\172\106\011\270\133\160\154\212 -\257 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\003\060\202\002\154\002\021\000\271\057\140\314\210 -\237\241\172\106\011\270\133\160\154\212\257\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 -\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154 -\141\163\163\040\062\040\120\165\142\154\151\143\040\120\162\151 -\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 -\062\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 -\061\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060 -\035\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156 -\040\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036 -\027\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027 -\015\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201 -\301\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 -\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013 -\023\063\103\154\141\163\163\040\062\040\120\165\142\154\151\143 -\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061 -\050\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 -\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 -\171\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151 -\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157 -\162\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\247 -\210\001\041\164\054\347\032\003\360\230\341\227\074\017\041\010 -\361\234\333\227\351\232\374\302\004\006\023\276\137\122\310\314 -\036\054\022\126\054\270\001\151\054\314\231\037\255\260\226\256 -\171\004\362\023\071\301\173\230\272\010\054\350\302\204\023\054 -\252\151\351\011\364\307\251\002\244\102\302\043\117\112\330\360 -\016\242\373\061\154\311\346\157\231\047\007\365\346\364\114\170 -\236\155\353\106\206\372\271\206\311\124\362\262\304\257\324\106 -\034\132\311\025\060\377\015\154\365\055\016\155\316\177\167\002 -\003\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001 -\005\005\000\003\201\201\000\162\056\371\177\321\361\161\373\304 -\236\366\305\136\121\212\100\230\270\150\370\233\034\203\330\342 -\235\275\377\355\241\346\146\352\057\011\364\312\327\352\245\053 -\225\366\044\140\206\115\104\056\203\245\304\055\240\323\256\170 -\151\157\162\332\154\256\010\360\143\222\067\346\273\304\060\027 -\255\167\314\111\065\252\317\330\217\321\276\267\030\226\107\163 -\152\124\042\064\144\055\266\026\233\131\133\264\121\131\072\263 -\013\024\364\022\337\147\240\364\255\062\144\136\261\106\162\047 -\214\022\173\305\104\264\256 -END - -# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G2" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\263\352\304\107\166\311\310\034\352\362\235\225\266\314\240\010 -\033\147\354\235 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\055\273\345\045\323\321\145\202\072\267\016\372\346\353\342\341 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 3 Public Primary Certification Authority - G2" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\063\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\063\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\175\331\376\007\317\250\036\267\020\171\147\373\247\211\064\306 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\002\060\202\002\153\002\020\175\331\376\007\317\250 -\036\267\020\171\147\373\247\211\064\306\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141 -\163\163\040\063\040\120\165\142\154\151\143\040\120\162\151\155 -\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062 -\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 -\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 -\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027 -\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015 -\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060 -\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023 -\063\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\201\215\000\060\201\211\002\201\201\000\314\136 -\321\021\135\134\151\320\253\323\271\152\114\231\037\131\230\060 -\216\026\205\040\106\155\107\077\324\205\040\204\341\155\263\370 -\244\355\014\361\027\017\073\371\247\371\045\327\301\317\204\143 -\362\174\143\317\242\107\362\306\133\063\216\144\100\004\150\301 -\200\271\144\034\105\167\307\330\156\365\225\051\074\120\350\064 -\327\170\037\250\272\155\103\221\225\217\105\127\136\176\305\373 -\312\244\004\353\352\227\067\124\060\157\273\001\107\062\063\315 -\334\127\233\144\151\141\370\233\035\034\211\117\134\147\002\003 -\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\003\201\201\000\121\115\315\276\134\313\230\031\234\025 -\262\001\071\170\056\115\017\147\160\160\231\306\020\132\224\244 -\123\115\124\155\053\257\015\135\100\213\144\323\327\356\336\126 -\141\222\137\246\304\035\020\141\066\323\054\047\074\350\051\011 -\271\021\144\164\314\265\163\237\034\110\251\274\141\001\356\342 -\027\246\014\343\100\010\073\016\347\353\104\163\052\232\361\151 -\222\357\161\024\303\071\254\161\247\221\011\157\344\161\006\263 -\272\131\127\046\171\000\366\370\015\242\063\060\050\324\252\130 -\240\235\235\151\221\375 -END - -# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G2" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\205\067\034\246\345\120\024\075\316\050\003\107\033\336\072\011 -\350\370\167\017 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\242\063\233\114\164\170\163\324\154\347\301\363\215\313\134\351 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 4 Public Primary Certification Authority - G2" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 4 Public Primary Certification Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\064\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\301\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\074\060\072\006\003\125 -\004\013\023\063\103\154\141\163\163\040\064\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\062\061\072\060\070\006\003\125\004\013 -\023\061\050\143\051\040\061\071\071\070\040\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\062\210\216\232\322\365\353\023\107\370\177\304\040\067\045\370 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\002\060\202\002\153\002\020\062\210\216\232\322\365 -\353\023\107\370\177\304\040\067\045\370\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\201\301\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\074\060\072\006\003\125\004\013\023\063\103\154\141 -\163\163\040\064\040\120\165\142\154\151\143\040\120\162\151\155 -\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107\062 -\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 -\071\071\070\040\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 -\172\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\060\036\027 -\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015 -\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060 -\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\061\074\060\072\006\003\125\004\013\023 -\063\103\154\141\163\163\040\064\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\062\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\070\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\201\215\000\060\201\211\002\201\201\000\272\360 -\344\317\371\304\256\205\124\271\007\127\371\217\305\177\150\021 -\370\304\027\260\104\334\343\060\163\325\052\142\052\270\320\314 -\034\355\050\133\176\275\152\334\263\221\044\312\101\142\074\374 -\002\001\277\034\026\061\224\005\227\166\156\242\255\275\141\027 -\154\116\060\206\360\121\067\052\120\307\250\142\201\334\133\112 -\252\301\240\264\156\353\057\345\127\305\261\053\100\160\333\132 -\115\241\216\037\275\003\037\330\003\324\217\114\231\161\274\342 -\202\314\130\350\230\072\206\323\206\070\363\000\051\037\002\003 -\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\003\201\201\000\205\214\022\301\247\271\120\025\172\313 -\076\254\270\103\212\334\252\335\024\272\211\201\176\001\074\043 -\161\041\210\057\202\334\143\372\002\105\254\105\131\327\052\130 -\104\133\267\237\201\073\222\150\075\342\067\044\365\173\154\217 -\166\065\226\011\250\131\235\271\316\043\253\164\326\203\375\062 -\163\047\330\151\076\103\164\366\256\305\211\232\347\123\174\351 -\173\366\113\363\301\145\203\336\215\212\234\074\210\215\071\131 -\374\252\077\042\215\241\301\146\120\201\162\114\355\042\144\117 -\117\312\200\221\266\051 -END - -# Trust for Certificate "Verisign Class 4 Public Primary Certification Authority - G2" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 4 Public Primary Certification Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\013\167\276\273\313\172\242\107\005\336\314\017\275\152\002\374 -\172\275\233\122 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\046\155\054\031\230\266\160\150\070\120\124\031\354\220\064\140 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "GlobalSign Root CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\000\000\000\000\000\326\170\267\224\005 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\165\060\202\002\135\240\003\002\001\002\002\013\002 -\000\000\000\000\000\326\170\267\224\005\060\015\006\011\052\206 -\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006 -\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004 -\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166 -\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022 -\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040 -\103\101\060\036\027\015\071\070\060\071\060\061\061\062\060\060 -\060\060\132\027\015\061\064\060\061\062\070\061\062\060\060\060 -\060\132\060\127\061\013\060\011\006\003\125\004\006\023\002\102 -\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142 -\141\154\123\151\147\156\040\156\166\055\163\141\061\020\060\016 -\006\003\125\004\013\023\007\122\157\157\164\040\103\101\061\033 -\060\031\006\003\125\004\003\023\022\107\154\157\142\141\154\123 -\151\147\156\040\122\157\157\164\040\103\101\060\202\001\042\060 -\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202 -\001\017\000\060\202\001\012\002\202\001\001\000\332\016\346\231 -\215\316\243\343\117\212\176\373\361\213\203\045\153\352\110\037 -\361\052\260\271\225\021\004\275\360\143\321\342\147\146\317\034 -\335\317\033\110\053\356\215\211\216\232\257\051\200\145\253\351 -\307\055\022\313\253\034\114\160\007\241\075\012\060\315\025\215 -\117\370\335\324\214\120\025\034\357\120\356\304\056\367\374\351 -\122\362\221\175\340\155\325\065\060\216\136\103\163\362\101\351 -\325\152\343\262\211\072\126\071\070\157\006\074\210\151\133\052 -\115\305\247\124\270\154\211\314\233\371\074\312\345\375\211\365 -\022\074\222\170\226\326\334\164\156\223\104\141\321\215\307\106 -\262\165\016\206\350\031\212\325\155\154\325\170\026\225\242\351 -\310\012\070\353\362\044\023\117\163\124\223\023\205\072\033\274 -\036\064\265\213\005\214\271\167\213\261\333\037\040\221\253\011 -\123\156\220\316\173\067\164\271\160\107\221\042\121\143\026\171 -\256\261\256\101\046\010\310\031\053\321\106\252\110\326\144\052 -\327\203\064\377\054\052\301\154\031\103\112\007\205\347\323\174 -\366\041\150\357\352\362\122\237\177\223\220\317\002\003\001\000 -\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\000\006\060\035\006\003\125\035\016\004\026\004\024 -\140\173\146\032\105\015\227\312\211\120\057\175\004\315\064\250 -\377\374\375\113\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001 -\001\004\005\000\003\202\001\001\000\256\252\237\374\267\322\313 -\037\137\071\051\050\030\236\064\311\154\117\157\032\360\144\242 -\160\112\117\023\206\233\140\050\236\350\201\111\230\175\012\273 -\345\260\235\075\066\333\217\005\121\377\011\061\052\037\335\211 -\167\236\017\056\154\225\004\355\206\313\264\000\077\204\002\115 -\200\152\052\055\170\013\256\157\053\242\203\104\203\037\315\120 -\202\114\044\257\275\367\245\264\310\132\017\364\347\107\136\111 -\216\067\226\376\232\210\005\072\331\300\333\051\207\346\031\226 -\107\247\072\246\214\213\074\167\376\106\143\247\123\332\041\321 -\254\176\111\242\113\346\303\147\131\057\263\212\016\273\054\275 -\251\252\102\174\065\301\330\177\325\247\061\072\116\143\103\071 -\257\010\260\141\064\214\323\230\251\103\064\366\017\207\051\073 -\235\302\126\130\230\167\303\367\033\254\366\235\370\076\252\247 -\124\105\360\365\371\325\061\145\376\153\130\234\161\263\036\327 -\122\352\062\027\374\100\140\035\311\171\044\262\366\154\375\250 -\146\016\202\335\230\313\332\302\104\117\056\240\173\362\367\153 -\054\166\021\204\106\212\170\243\343 -END - -# Trust for Certificate "GlobalSign Root CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\057\027\077\175\351\226\147\257\245\172\370\012\242\321\261\057 -\254\203\003\070 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\253\277\352\343\153\051\246\314\246\170\065\231\357\255\053\200 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "GlobalSign Partners CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Partners CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\024\060\022\006\003 -\125\004\013\023\013\120\141\162\164\156\145\162\163\040\103\101 -\061\037\060\035\006\003\125\004\003\023\026\107\154\157\142\141 -\154\123\151\147\156\040\120\141\162\164\156\145\162\163\040\103 -\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\000\000\000\000\000\326\170\271\321\257 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\236\060\202\002\206\240\003\002\001\002\002\013\002 -\000\000\000\000\000\326\170\271\321\257\060\015\006\011\052\206 -\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006 -\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004 -\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166 -\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022 -\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040 -\103\101\060\036\027\015\071\071\060\061\062\070\061\062\060\060 -\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060 -\060\132\060\137\061\013\060\011\006\003\125\004\006\023\002\102 -\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142 -\141\154\123\151\147\156\040\156\166\055\163\141\061\024\060\022 -\006\003\125\004\013\023\013\120\141\162\164\156\145\162\163\040 -\103\101\061\037\060\035\006\003\125\004\003\023\026\107\154\157 -\142\141\154\123\151\147\156\040\120\141\162\164\156\145\162\163 -\040\103\101\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\322\054\370\062\254\112\022\172\067\310\051\221 -\245\256\214\156\036\016\300\064\063\210\345\063\161\026\034\170 -\204\150\303\030\064\120\056\026\076\261\224\202\117\261\232\237 -\000\370\306\021\065\306\151\173\230\002\255\000\006\210\154\347 -\114\063\050\000\210\047\106\037\207\263\161\165\143\274\062\273 -\210\336\146\030\016\120\006\223\264\366\274\024\067\060\075\042 -\337\075\377\165\176\331\012\032\305\237\263\374\320\254\263\010 -\172\211\323\001\350\000\134\347\112\013\075\115\173\046\242\267 -\142\006\213\332\106\335\223\027\077\077\133\002\113\013\266\210 -\040\021\222\000\255\273\307\056\324\343\105\256\365\211\132\174 -\215\244\255\205\144\062\300\047\214\306\362\212\200\222\206\044 -\126\131\215\164\150\242\203\102\263\236\075\120\101\206\157\040 -\156\366\375\316\323\031\343\062\314\217\355\232\136\155\037\050 -\365\122\254\156\030\136\370\075\321\222\345\272\154\001\210\113 -\012\362\055\336\145\063\005\102\240\114\252\061\166\276\375\277 -\201\170\371\161\034\106\136\055\025\225\055\060\131\216\114\101 -\321\142\253\075\002\003\001\000\001\243\143\060\141\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\000\006\060\035\006 -\003\125\035\016\004\026\004\024\103\044\215\160\025\010\142\125 -\234\117\014\100\027\135\206\136\017\242\114\373\060\037\006\003 -\125\035\043\004\030\060\026\200\024\140\173\146\032\105\015\227 -\312\211\120\057\175\004\315\064\250\377\374\375\113\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015 -\006\011\052\206\110\206\367\015\001\001\004\005\000\003\202\001 -\001\000\146\355\264\210\151\021\231\202\041\203\254\241\155\213 -\233\204\255\017\055\310\036\214\312\173\176\255\252\324\216\336 -\007\326\236\105\307\245\270\234\007\071\140\045\125\032\300\117 -\031\345\317\027\051\111\211\030\065\146\345\353\050\100\116\127 -\311\257\263\344\270\040\005\243\073\225\120\221\111\224\051\175 -\054\345\210\101\245\105\210\136\235\202\047\367\322\357\133\265 -\117\237\276\376\065\145\054\125\144\237\341\121\332\042\141\167 -\272\130\116\217\306\171\131\131\156\060\200\242\117\220\156\041 -\013\255\320\150\071\220\020\233\355\042\145\157\036\021\070\346 -\177\214\322\363\071\155\107\325\041\350\352\165\072\101\321\255 -\366\026\235\135\013\041\275\363\037\143\006\045\035\301\037\065 -\161\054\353\040\031\325\301\260\354\075\345\157\355\002\007\077 -\023\173\146\222\326\104\301\230\367\137\120\213\172\133\302\157 -\155\260\321\370\345\164\240\100\067\243\045\017\344\075\312\144 -\061\223\220\134\060\173\271\071\061\232\136\114\315\271\101\117 -\120\344\075\070\256\310\146\331\307\073\135\121\107\254\233\253 -\362\255 -END - -# Trust for Certificate "GlobalSign Partners CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Partners CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\204\304\217\000\351\221\354\336\333\264\030\251\213\357\241\172 -\107\355\162\230 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\074\165\315\114\275\251\320\212\171\117\120\026\067\204\364\053 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "GlobalSign Primary Class 1 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Primary Class 1 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\033\060\031\006\003 -\125\004\013\023\022\120\162\151\155\141\162\171\040\103\154\141 -\163\163\040\061\040\103\101\061\046\060\044\006\003\125\004\003 -\023\035\107\154\157\142\141\154\123\151\147\156\040\120\162\151 -\155\141\162\171\040\103\154\141\163\163\040\061\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\000\000\000\000\000\326\170\270\067\317 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\254\060\202\002\224\240\003\002\001\002\002\013\002 -\000\000\000\000\000\326\170\270\067\317\060\015\006\011\052\206 -\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006 -\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004 -\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166 -\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022 -\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040 -\103\101\060\036\027\015\071\070\060\071\061\065\061\062\060\060 -\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060 -\060\132\060\155\061\013\060\011\006\003\125\004\006\023\002\102 -\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142 -\141\154\123\151\147\156\040\156\166\055\163\141\061\033\060\031 -\006\003\125\004\013\023\022\120\162\151\155\141\162\171\040\103 -\154\141\163\163\040\061\040\103\101\061\046\060\044\006\003\125 -\004\003\023\035\107\154\157\142\141\154\123\151\147\156\040\120 -\162\151\155\141\162\171\040\103\154\141\163\163\040\061\040\103 -\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\275\040\065\107\321\050\326\010\243\022\071\043\107\015 -\275\160\041\122\016\127\061\225\246\064\127\153\354\176\103\171 -\303\006\122\110\315\274\265\241\231\275\330\037\062\274\317\327 -\156\162\155\056\167\042\220\202\116\113\217\232\014\001\102\232 -\331\160\131\266\235\037\346\143\321\014\255\035\116\370\205\201 -\371\256\357\237\246\122\141\104\171\032\165\105\340\141\126\105 -\155\102\214\075\162\313\246\244\022\267\232\365\326\140\320\140 -\120\263\216\246\246\354\264\364\022\315\177\250\316\357\263\341 -\205\060\376\162\304\346\347\167\263\236\130\101\326\121\203\210 -\007\306\266\151\117\066\336\321\013\110\077\275\326\237\041\164 -\144\157\047\006\076\113\375\016\246\233\277\244\110\127\214\220 -\356\211\030\013\002\201\030\276\147\376\123\140\210\047\272\243 -\163\064\113\132\126\264\336\163\005\355\230\226\135\354\112\347 -\100\374\113\011\142\353\320\343\061\117\205\321\172\253\131\147 -\053\373\210\017\353\252\203\275\065\375\141\047\354\146\016\102 -\127\367\151\302\014\357\374\152\302\156\111\332\217\101\070\256 -\110\251\002\003\001\000\001\243\143\060\141\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\000\006\060\035\006\003\125 -\035\016\004\026\004\024\374\340\146\366\132\065\231\353\100\036 -\322\270\036\103\274\230\216\037\212\303\060\037\006\003\125\035 -\043\004\030\060\026\200\024\140\173\146\032\105\015\227\312\211 -\120\057\175\004\315\064\250\377\374\375\113\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011 -\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001\000 -\233\243\010\104\316\362\220\235\161\363\062\263\005\152\265\352 -\317\051\230\336\125\076\240\026\175\006\172\104\326\257\322\372 -\023\130\214\370\034\307\253\035\264\033\357\151\150\230\134\010 -\071\217\340\367\373\110\314\041\347\270\063\333\005\252\064\044 -\154\112\345\351\173\140\336\203\263\037\012\276\101\165\374\314 -\060\110\267\301\046\035\004\063\252\266\170\355\052\313\272\126 -\227\062\156\367\061\225\056\106\362\024\356\047\307\367\142\211 -\271\134\132\323\070\212\144\365\067\264\361\263\064\162\325\325 -\041\075\113\327\170\223\327\061\146\065\036\243\330\107\111\157 -\034\255\341\200\177\370\230\044\154\163\254\016\302\032\167\002 -\243\046\007\267\307\153\135\274\202\325\052\110\035\143\317\120 -\062\246\373\034\030\107\025\012\133\014\134\070\044\232\004\230 -\250\010\110\137\174\064\207\143\253\055\215\114\000\167\224\033 -\166\272\365\026\030\243\025\257\057\224\366\051\000\166\301\025 -\027\323\351\067\115\166\324\313\113\051\131\044\254\332\112\240 -\352\143\336\137\124\261\372\363\321\105\313\305\144\264\163\041 -END - -# Trust for Certificate "GlobalSign Primary Class 1 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Primary Class 1 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\353\061\124\315\041\226\363\125\022\053\211\147\267\163\002\102 -\355\321\336\113 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\134\254\131\001\244\206\123\313\020\146\265\326\326\161\377\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "GlobalSign Primary Class 2 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Primary Class 2 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\033\060\031\006\003 -\125\004\013\023\022\120\162\151\155\141\162\171\040\103\154\141 -\163\163\040\062\040\103\101\061\046\060\044\006\003\125\004\003 -\023\035\107\154\157\142\141\154\123\151\147\156\040\120\162\151 -\155\141\162\171\040\103\154\141\163\163\040\062\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\000\000\000\000\000\326\170\270\215\215 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\254\060\202\002\224\240\003\002\001\002\002\013\002 -\000\000\000\000\000\326\170\270\215\215\060\015\006\011\052\206 -\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006 -\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004 -\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166 -\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022 -\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040 -\103\101\060\036\027\015\071\071\060\061\062\070\061\062\060\060 -\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060 -\060\132\060\155\061\013\060\011\006\003\125\004\006\023\002\102 -\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142 -\141\154\123\151\147\156\040\156\166\055\163\141\061\033\060\031 -\006\003\125\004\013\023\022\120\162\151\155\141\162\171\040\103 -\154\141\163\163\040\062\040\103\101\061\046\060\044\006\003\125 -\004\003\023\035\107\154\157\142\141\154\123\151\147\156\040\120 -\162\151\155\141\162\171\040\103\154\141\163\163\040\062\040\103 -\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\222\214\376\357\364\105\216\027\101\156\374\330\277\041 -\157\253\006\235\122\301\054\000\235\077\216\205\270\177\112\217 -\275\240\143\052\312\111\047\256\132\202\364\164\342\125\222\377 -\302\321\252\171\242\266\372\325\235\202\004\117\306\262\306\136 -\143\247\072\272\330\356\353\212\157\237\266\273\050\101\300\042 -\373\116\110\032\006\222\327\277\327\317\271\331\275\070\117\073 -\015\104\156\125\101\376\374\011\333\330\277\363\216\041\361\350 -\022\265\366\023\245\323\306\114\223\042\260\002\377\356\035\014 -\304\250\153\117\165\150\126\350\334\050\022\120\367\250\044\235 -\056\044\071\373\011\005\336\345\243\144\111\041\320\150\176\161 -\060\221\261\140\340\071\364\120\370\172\115\230\000\153\174\171 -\272\116\316\112\342\272\066\035\267\305\066\025\225\234\144\102 -\352\137\304\272\365\100\005\276\341\072\131\275\204\247\031\270 -\336\115\123\120\316\007\321\322\121\323\357\015\201\154\346\347 -\155\313\135\174\077\174\314\354\117\203\047\045\377\160\120\366 -\203\131\165\204\006\146\130\054\336\211\215\000\246\111\371\245 -\103\167\002\003\001\000\001\243\143\060\141\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\000\006\060\035\006\003\125 -\035\016\004\026\004\024\174\347\262\261\054\336\261\247\153\351 -\166\014\341\243\375\116\154\307\271\366\060\037\006\003\125\035 -\043\004\030\060\026\200\024\140\173\146\032\105\015\227\312\211 -\120\057\175\004\315\064\250\377\374\375\113\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011 -\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001\000 -\143\335\131\316\212\171\252\230\235\116\305\211\144\067\176\212 -\223\147\057\020\352\157\047\303\215\167\155\362\134\126\224\031 -\032\151\140\060\106\135\217\362\155\105\074\216\065\227\174\057 -\270\121\342\350\211\275\210\317\047\034\010\064\134\210\301\150 -\044\333\221\205\344\317\373\373\103\215\350\045\001\033\304\016 -\367\000\102\110\206\037\044\010\130\132\214\215\362\153\107\054 -\150\221\261\151\102\375\015\215\311\046\346\222\206\246\144\156 -\222\305\316\076\074\175\161\343\043\244\253\307\325\250\251\337 -\202\247\073\350\206\325\303\117\030\343\104\320\340\334\363\305 -\150\056\376\245\057\005\204\310\176\107\102\123\153\207\112\376 -\062\377\136\076\160\214\267\250\025\314\027\302\377\106\354\320 -\354\055\264\156\022\050\251\371\100\351\353\324\146\227\123\251 -\151\125\300\251\252\262\056\315\321\151\364\276\370\273\174\151 -\356\124\246\333\236\373\132\246\076\376\232\357\224\121\113\165 -\356\330\324\341\232\361\002\126\023\211\016\247\102\213\226\213 -\205\014\033\205\276\046\256\253\246\231\274\042\361\163\337\102 -END - -# Trust for Certificate "GlobalSign Primary Class 2 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Primary Class 2 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\203\376\336\325\161\343\226\317\307\144\367\073\337\026\166\207 -\162\305\037\314 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\251\251\102\131\176\276\132\224\344\054\306\213\034\052\104\266 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "GlobalSign Primary Class 3 CA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Primary Class 3 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\033\060\031\006\003 -\125\004\013\023\022\120\162\151\155\141\162\171\040\103\154\141 -\163\163\040\063\040\103\101\061\046\060\044\006\003\125\004\003 -\023\035\107\154\157\142\141\154\123\151\147\156\040\120\162\151 -\155\141\162\171\040\103\154\141\163\163\040\063\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\000\000\000\000\000\326\170\270\326\303 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\254\060\202\002\224\240\003\002\001\002\002\013\002 -\000\000\000\000\000\326\170\270\326\303\060\015\006\011\052\206 -\110\206\367\015\001\001\004\005\000\060\127\061\013\060\011\006 -\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004 -\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166 -\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022 -\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040 -\103\101\060\036\027\015\071\071\060\061\062\070\061\062\060\060 -\060\060\132\027\015\060\071\060\061\062\070\061\062\060\060\060 -\060\132\060\155\061\013\060\011\006\003\125\004\006\023\002\102 -\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142 -\141\154\123\151\147\156\040\156\166\055\163\141\061\033\060\031 -\006\003\125\004\013\023\022\120\162\151\155\141\162\171\040\103 -\154\141\163\163\040\063\040\103\101\061\046\060\044\006\003\125 -\004\003\023\035\107\154\157\142\141\154\123\151\147\156\040\120 -\162\151\155\141\162\171\040\103\154\141\163\163\040\063\040\103 -\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\221\136\126\145\326\300\300\004\234\277\107\304\134\173 -\172\061\001\371\130\226\231\343\034\204\057\334\126\217\255\365 -\131\201\325\103\146\135\132\223\214\165\312\251\347\021\301\121 -\020\024\140\311\054\324\173\257\306\167\206\253\172\047\256\157 -\225\271\013\312\266\106\373\176\032\364\015\024\155\322\311\116 -\262\256\360\124\366\134\100\114\066\110\164\350\124\214\145\146 -\020\247\275\053\267\040\215\005\111\255\170\175\322\044\043\120 -\343\360\264\171\233\001\071\377\257\073\323\055\356\341\111\215 -\215\057\074\152\101\105\057\233\343\075\341\022\344\221\165\236 -\317\240\076\074\222\201\157\212\056\030\334\340\362\214\214\375 -\207\331\007\364\100\224\311\116\117\103\337\147\126\157\275\003 -\120\174\231\147\244\271\074\221\154\002\156\204\326\374\106\367 -\314\157\030\076\027\360\357\013\144\026\127\346\254\206\361\110 -\252\103\301\311\047\170\163\104\105\342\205\175\272\377\263\341 -\373\033\005\244\113\073\231\022\045\001\120\024\152\257\135\352 -\310\014\356\344\332\354\113\213\134\150\023\225\334\303\265\060 -\072\327\002\003\001\000\001\243\143\060\141\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\000\006\060\035\006\003\125 -\035\016\004\026\004\024\314\066\314\027\264\105\221\057\355\317 -\073\060\110\167\373\265\024\231\276\343\060\037\006\003\125\035 -\043\004\030\060\026\200\024\140\173\146\032\105\015\227\312\211 -\120\057\175\004\315\064\250\377\374\375\113\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011 -\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001\000 -\127\262\124\314\275\225\027\144\140\211\266\123\221\014\105\222 -\303\075\250\154\303\314\262\030\365\170\101\164\330\175\243\047 -\257\167\015\131\076\224\035\151\372\211\323\014\275\032\001\364 -\077\350\340\167\032\202\050\132\346\142\327\267\343\066\311\016 -\237\172\343\302\323\314\131\211\014\357\026\213\360\066\167\042 -\312\244\266\267\301\102\147\001\100\143\314\347\070\144\207\133 -\024\226\146\173\055\024\356\275\111\155\377\167\320\342\116\133 -\323\200\302\115\017\312\270\235\201\227\247\064\156\307\343\234 -\110\345\264\252\105\365\366\145\114\110\362\022\302\322\223\214 -\302\025\044\363\053\122\377\343\010\256\270\156\326\054\022\317 -\071\313\022\052\347\251\173\137\230\075\243\341\314\246\143\211 -\134\175\061\165\371\325\326\135\362\320\324\075\337\236\161\250 -\016\334\344\040\227\170\346\177\123\244\015\121\117\216\073\003 -\256\243\015\132\115\303\171\347\065\130\160\102\311\136\241\136 -\264\331\042\243\104\123\065\244\320\317\163\200\305\317\237\126 -\230\166\371\024\114\167\207\202\311\334\176\135\064\325\066\165 -END - -# Trust for Certificate "GlobalSign Primary Class 3 CA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Primary Class 3 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\164\003\311\063\110\252\304\367\016\051\364\320\025\022\364\106 -\111\017\165\214 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\230\022\243\113\225\251\226\144\224\347\120\214\076\341\203\132 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "ValiCert Class 1 VA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert Class 1 VA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 -\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157 -\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 -\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 -\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 -\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 -\157\100\166\141\154\151\143\145\162\164\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 -\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157 -\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 -\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 -\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 -\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 -\157\100\166\141\154\151\143\145\162\164\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060 -\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164 -\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167 -\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141 -\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063 -\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040 -\103\154\141\163\163\040\061\040\120\157\154\151\143\171\040\126 -\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164 -\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162 -\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206 -\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151 -\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066 -\062\065\062\062\062\063\064\070\132\027\015\061\071\060\066\062 -\065\062\062\062\063\064\070\132\060\201\273\061\044\060\042\006 -\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126 -\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162 -\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151 -\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003 -\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154 -\141\163\163\040\061\040\120\157\154\151\143\171\040\126\141\154 -\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160 -\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056 -\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015 -\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145 -\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002 -\201\201\000\330\131\202\172\211\270\226\272\246\057\150\157\130 -\056\247\124\034\006\156\364\352\215\110\274\061\224\027\360\363 -\116\274\262\270\065\222\166\260\320\245\245\001\327\000\003\022 -\042\031\010\370\377\021\043\233\316\007\365\277\151\032\046\376 -\116\351\321\177\235\054\100\035\131\150\156\246\370\130\260\235 -\032\217\323\077\361\334\031\006\201\250\016\340\072\335\310\123 -\105\011\006\346\017\160\303\372\100\246\016\342\126\005\017\030 -\115\374\040\202\321\163\125\164\215\166\162\240\035\235\035\300 -\335\077\161\002\003\001\000\001\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\201\201\000\120\150\075\111\364 -\054\034\006\224\337\225\140\177\226\173\027\376\117\161\255\144 -\310\335\167\322\357\131\125\350\077\350\216\005\052\041\362\007 -\322\265\247\122\376\234\261\266\342\133\167\027\100\352\162\326 -\043\313\050\201\062\303\000\171\030\354\131\027\211\311\306\152 -\036\161\311\375\267\164\245\045\105\151\305\110\253\031\341\105 -\212\045\153\031\356\345\273\022\365\177\367\246\215\121\303\360 -\235\164\267\251\076\240\245\377\266\111\003\023\332\042\314\355 -\161\202\053\231\317\072\267\365\055\162\310 -END - -# Trust for Certificate "ValiCert Class 1 VA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert Class 1 VA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\345\337\164\074\266\001\304\233\230\103\334\253\214\350\152\201 -\020\237\344\216 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\145\130\253\025\255\127\154\036\250\247\265\151\254\277\377\353 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "ValiCert Class 2 VA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert Class 2 VA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 -\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157 -\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 -\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 -\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 -\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 -\157\100\166\141\154\151\143\145\162\164\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 -\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157 -\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 -\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 -\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 -\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 -\157\100\166\141\154\151\143\145\162\164\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060 -\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164 -\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167 -\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141 -\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063 -\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040 -\103\154\141\163\163\040\062\040\120\157\154\151\143\171\040\126 -\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164 -\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162 -\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206 -\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151 -\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066 -\062\066\060\060\061\071\065\064\132\027\015\061\071\060\066\062 -\066\060\060\061\071\065\064\132\060\201\273\061\044\060\042\006 -\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126 -\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162 -\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151 -\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003 -\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154 -\141\163\163\040\062\040\120\157\154\151\143\171\040\126\141\154 -\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160 -\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056 -\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015 -\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145 -\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002 -\201\201\000\316\072\161\312\345\253\310\131\222\125\327\253\330 -\164\016\371\356\331\366\125\107\131\145\107\016\005\125\334\353 -\230\066\074\134\123\135\323\060\317\070\354\275\101\211\355\045 -\102\011\044\153\012\136\263\174\335\122\055\114\346\324\326\175 -\132\131\251\145\324\111\023\055\044\115\034\120\157\265\301\205 -\124\073\376\161\344\323\134\102\371\200\340\221\032\012\133\071 -\066\147\363\077\125\174\033\077\264\137\144\163\064\343\264\022 -\277\207\144\370\332\022\377\067\047\301\263\103\273\357\173\156 -\056\151\367\002\003\001\000\001\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\201\201\000\073\177\120\157\157 -\120\224\231\111\142\070\070\037\113\370\245\310\076\247\202\201 -\366\053\307\350\305\316\350\072\020\202\313\030\000\216\115\275 -\250\130\177\241\171\000\265\273\351\215\257\101\331\017\064\356 -\041\201\031\240\062\111\050\364\304\216\126\325\122\063\375\120 -\325\176\231\154\003\344\311\114\374\313\154\253\146\263\112\041 -\214\345\265\014\062\076\020\262\314\154\241\334\232\230\114\002 -\133\363\316\271\236\245\162\016\112\267\077\074\346\026\150\370 -\276\355\164\114\274\133\325\142\037\103\335 -END - -# Trust for Certificate "ValiCert Class 2 VA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert Class 2 VA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\061\172\052\320\177\053\063\136\365\241\303\116\113\127\350\267 -\330\361\374\246 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\251\043\165\233\272\111\066\156\061\302\333\362\347\146\272\207 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "ValiCert Class 3 VA" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert Class 3 VA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 -\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157 -\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 -\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 -\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 -\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 -\157\100\166\141\154\151\143\145\162\164\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 -\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157 -\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 -\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 -\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 -\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 -\157\100\166\141\154\151\143\145\162\164\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060 -\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164 -\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167 -\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141 -\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063 -\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040 -\103\154\141\163\163\040\063\040\120\157\154\151\143\171\040\126 -\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164 -\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162 -\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206 -\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151 -\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066 -\062\066\060\060\062\062\063\063\132\027\015\061\071\060\066\062 -\066\060\060\062\062\063\063\132\060\201\273\061\044\060\042\006 -\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126 -\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162 -\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151 -\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003 -\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154 -\141\163\163\040\063\040\120\157\154\151\143\171\040\126\141\154 -\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160 -\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056 -\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015 -\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145 -\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002 -\201\201\000\343\230\121\226\034\350\325\261\006\201\152\127\303 -\162\165\223\253\317\236\246\374\363\026\122\326\055\115\237\065 -\104\250\056\004\115\007\111\212\070\051\365\167\067\347\267\253 -\135\337\066\161\024\231\217\334\302\222\361\347\140\222\227\354 -\330\110\334\277\301\002\040\306\044\244\050\114\060\132\166\155 -\261\134\363\335\336\236\020\161\241\210\307\133\233\101\155\312 -\260\270\216\025\356\255\063\053\317\107\004\134\165\161\012\230 -\044\230\051\247\111\131\245\335\370\267\103\142\141\363\323\342 -\320\125\077\002\003\001\000\001\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\201\201\000\126\273\002\130\204 -\147\010\054\337\037\333\173\111\063\365\323\147\235\364\264\012 -\020\263\311\305\054\342\222\152\161\170\047\362\160\203\102\323 -\076\317\251\124\364\361\330\222\026\214\321\004\313\113\253\311 -\237\105\256\074\212\251\260\161\063\135\310\305\127\337\257\250 -\065\263\177\211\207\351\350\045\222\270\177\205\172\256\326\274 -\036\067\130\052\147\311\221\317\052\201\076\355\306\071\337\300 -\076\031\234\031\314\023\115\202\101\265\214\336\340\075\140\010 -\040\017\105\176\153\242\177\243\214\025\356 -END - -# Trust for Certificate "ValiCert Class 3 VA" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert Class 3 VA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\151\275\214\364\234\323\000\373\131\056\027\223\312\125\152\363 -\354\252\065\373 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\242\157\123\267\356\100\333\112\150\347\372\030\331\020\113\162 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Thawte Universal CA Root" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Universal CA Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\127\061\017\060\015\006\003\125\004\012\023\006\124\150\141 -\167\164\145\061\041\060\037\006\003\125\004\013\023\030\124\150 -\141\167\164\145\040\125\156\151\166\145\162\163\141\154\040\103 -\101\040\122\157\157\164\061\041\060\037\006\003\125\004\003\023 -\030\124\150\141\167\164\145\040\125\156\151\166\145\162\163\141 -\154\040\103\101\040\122\157\157\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\017\060\015\006\003\125\004\012\023\006\124\150\141 -\167\164\145\061\041\060\037\006\003\125\004\013\023\030\124\150 -\141\167\164\145\040\125\156\151\166\145\162\163\141\154\040\103 -\101\040\122\157\157\164\061\041\060\037\006\003\125\004\003\023 -\030\124\150\141\167\164\145\040\125\156\151\166\145\162\163\141 -\154\040\103\101\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\021\042\060\202\011\012\002\001\000\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\127\061\017\060\015 -\006\003\125\004\012\023\006\124\150\141\167\164\145\061\041\060 -\037\006\003\125\004\013\023\030\124\150\141\167\164\145\040\125 -\156\151\166\145\162\163\141\154\040\103\101\040\122\157\157\164 -\061\041\060\037\006\003\125\004\003\023\030\124\150\141\167\164 -\145\040\125\156\151\166\145\162\163\141\154\040\103\101\040\122 -\157\157\164\060\036\027\015\071\071\061\062\060\065\061\063\065 -\066\060\065\132\027\015\063\067\060\064\060\063\061\063\065\066 -\060\065\132\060\127\061\017\060\015\006\003\125\004\012\023\006 -\124\150\141\167\164\145\061\041\060\037\006\003\125\004\013\023 -\030\124\150\141\167\164\145\040\125\156\151\166\145\162\163\141 -\154\040\103\101\040\122\157\157\164\061\041\060\037\006\003\125 -\004\003\023\030\124\150\141\167\164\145\040\125\156\151\166\145 -\162\163\141\154\040\103\101\040\122\157\157\164\060\202\010\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\010\017\000\060\202\010\012\002\202\010\001\000\342\211\005 -\155\303\177\255\246\211\072\377\273\307\315\235\067\261\341\322 -\041\036\233\141\052\025\347\173\127\117\125\074\320\273\371\331 -\075\076\246\274\354\264\255\123\232\026\002\353\013\162\375\212 -\362\217\104\005\305\353\323\345\275\266\104\071\346\373\107\277 -\152\236\012\225\030\342\150\342\326\226\326\041\255\210\375\365 -\027\365\323\332\102\245\220\355\051\225\226\165\072\332\207\241 -\324\365\323\207\336\005\142\246\343\146\164\222\317\245\274\273 -\337\150\377\161\165\126\101\131\065\353\063\132\146\121\362\322 -\243\012\301\214\316\163\134\021\157\055\214\225\214\221\261\375 -\317\345\255\126\225\314\205\222\203\220\125\101\311\302\167\355 -\371\243\164\102\012\150\010\363\320\321\145\375\147\054\064\377 -\044\177\347\171\310\007\073\045\127\335\244\014\230\075\276\340 -\314\031\145\333\362\124\242\257\102\324\235\342\256\204\043\045 -\011\063\022\265\152\036\166\304\213\331\111\000\154\136\272\037 -\362\033\332\147\312\047\252\243\104\043\033\203\202\316\362\253 -\063\355\124\244\334\311\253\131\145\321\070\016\301\076\033\147 -\217\326\165\001\340\125\042\335\166\167\354\216\335\364\317\171 -\042\155\271\127\003\365\231\010\247\074\076\064\373\304\027\256 -\043\130\315\044\363\043\312\152\002\050\224\001\201\064\264\154 -\153\256\213\032\303\243\322\011\074\026\124\365\066\137\044\343 -\237\112\241\342\144\306\026\303\246\201\172\044\066\107\216\301 -\136\016\373\371\025\170\004\326\016\131\331\235\130\146\142\322 -\224\051\062\062\310\170\271\146\366\265\126\341\154\306\024\113 -\226\122\131\221\002\044\152\125\107\327\077\266\043\032\140\167 -\227\056\342\100\257\236\004\127\236\255\021\305\311\103\160\357 -\110\264\136\254\034\151\056\056\202\325\133\213\276\202\276\031 -\024\136\347\015\042\307\121\033\377\036\233\361\060\217\161\061 -\006\263\064\047\217\137\172\146\202\117\212\055\023\253\102\317 -\041\126\236\227\216\146\066\017\226\233\345\053\364\002\251\052 -\152\214\054\304\303\270\160\054\055\051\036\077\120\167\036\155 -\052\124\344\125\012\221\070\241\305\265\146\242\166\132\356\017 -\277\264\147\341\050\156\017\341\066\241\202\321\277\324\167\341 -\304\147\062\223\170\310\347\124\123\376\043\171\346\150\314\046 -\220\366\020\143\135\052\157\221\055\244\163\062\121\041\362\273 -\025\337\252\044\010\110\006\336\241\236\046\277\272\203\277\174 -\244\310\240\214\275\322\377\274\204\151\047\023\044\030\304\105 -\030\043\046\136\030\024\312\056\210\207\142\243\123\346\041\267 -\270\205\173\232\205\273\025\046\162\370\271\367\152\164\017\111 -\077\222\276\251\005\267\231\047\277\277\011\027\113\231\114\255 -\021\020\174\337\164\061\366\217\046\137\252\210\256\070\127\310 -\125\055\323\373\330\033\121\231\276\045\033\072\272\300\175\033 -\355\316\322\111\271\317\363\305\175\211\220\201\330\151\110\040 -\020\243\370\357\222\121\030\062\213\021\030\300\077\033\205\126 -\316\127\311\362\202\144\306\337\002\011\056\112\021\057\261\047 -\155\067\122\360\360\026\141\361\147\215\337\207\162\257\207\332 -\317\373\120\224\156\324\224\205\353\212\054\352\041\365\226\112 -\104\325\340\316\152\164\104\115\320\005\323\207\025\355\066\320 -\244\213\146\125\160\223\356\107\006\301\176\056\245\030\171\147 -\363\050\205\361\160\367\016\203\244\176\124\236\132\166\062\313 -\145\033\270\315\373\310\050\003\322\124\221\321\247\305\205\103 -\010\027\166\245\346\057\147\010\330\241\242\202\055\014\370\301 -\257\143\324\120\167\155\153\106\112\101\205\325\220\137\171\055 -\304\354\327\021\207\100\212\341\150\342\144\370\125\062\373\157 -\223\054\332\167\331\041\301\027\345\066\054\116\176\220\177\254 -\224\053\062\147\276\070\120\166\270\256\101\271\327\041\305\011 -\114\140\310\243\121\304\064\233\127\067\337\313\311\063\127\213 -\353\373\166\237\031\115\305\152\037\052\105\256\053\355\057\215 -\247\245\000\313\004\372\045\142\056\164\110\033\312\052\214\272 -\333\266\176\366\273\002\174\251\303\333\130\170\241\277\360\376 -\032\020\125\021\316\350\151\116\226\145\306\027\003\326\007\150 -\214\124\202\256\034\042\125\077\361\364\011\227\050\300\106\367 -\116\013\045\035\367\007\327\011\035\072\030\127\070\073\350\063 -\006\347\217\170\106\036\133\365\006\266\354\270\246\015\361\272 -\023\113\326\030\040\335\151\063\112\063\025\256\270\310\230\212 -\047\054\223\274\055\373\356\063\277\146\346\115\272\266\233\006 -\125\140\227\113\274\104\315\176\364\241\330\252\057\300\002\050 -\041\026\142\170\333\010\124\362\374\364\064\343\306\217\034\103 -\127\316\220\032\113\334\056\073\050\221\211\077\172\332\065\035 -\216\054\356\111\354\364\063\255\311\123\250\214\237\004\123\076 -\044\034\122\311\022\371\142\127\243\274\356\054\353\100\174\040 -\043\160\053\225\371\163\027\212\321\301\034\151\246\267\070\232 -\147\367\160\035\172\132\014\100\317\142\017\205\074\302\002\116 -\176\265\366\305\052\051\204\263\037\067\052\341\252\162\102\304 -\355\153\032\217\222\034\135\276\321\362\133\362\253\252\251\322 -\365\270\244\101\053\053\221\156\022\110\312\230\330\067\215\310 -\355\000\060\265\266\004\116\176\234\332\204\354\300\372\173\345 -\035\210\244\123\106\260\224\344\134\033\241\045\054\017\110\122 -\167\227\011\154\354\133\030\063\203\002\345\202\176\315\205\041 -\060\021\375\047\117\317\344\036\354\077\245\127\154\351\052\060 -\031\052\210\345\303\151\070\253\157\071\161\177\204\341\101\303 -\341\314\052\211\040\122\056\203\017\154\071\077\113\055\026\254 -\055\360\044\254\000\163\364\233\263\006\077\005\270\024\205\037 -\253\236\134\074\236\142\235\016\155\073\200\011\374\002\352\242 -\227\164\312\307\371\343\126\341\303\312\245\246\232\300\220\340 -\044\022\123\322\302\213\332\276\355\002\103\136\147\341\211\230 -\171\356\313\252\312\303\033\334\347\245\106\245\174\153\026\207 -\266\132\050\327\333\047\074\136\245\275\266\121\335\037\103\317 -\073\046\310\072\215\045\141\301\111\364\074\033\311\104\352\257 -\034\302\053\224\001\052\016\060\321\133\213\053\107\345\303\321 -\004\003\233\016\071\054\326\047\324\346\160\132\331\165\317\052 -\330\311\000\005\344\023\210\354\303\071\373\207\141\060\066\103 -\003\310\236\234\242\006\302\057\305\374\360\200\143\261\124\004 -\240\114\251\056\306\365\166\172\330\320\344\324\224\021\345\025 -\265\170\006\334\270\200\217\231\251\040\063\075\020\205\114\145 -\011\312\076\130\136\140\223\232\252\142\135\300\121\006\034\135 -\140\240\015\234\113\103\366\247\026\041\244\207\252\362\301\056 -\356\222\060\270\236\337\337\020\001\213\206\011\160\330\154\250 -\267\120\036\026\226\264\367\147\375\065\072\041\220\052\062\307 -\000\173\115\007\020\011\271\057\163\330\030\176\147\231\004\117 -\006\374\120\307\205\233\235\100\235\263\226\067\372\245\334\262 -\162\116\357\116\011\054\375\221\375\115\367\273\246\241\076\253 -\173\242\003\100\246\251\125\047\342\372\371\031\316\207\165\252 -\361\165\066\363\363\270\221\370\221\303\213\165\023\216\114\145 -\232\026\071\152\345\064\350\172\226\131\177\065\260\000\375\133 -\151\374\103\046\372\365\050\156\376\207\331\176\044\373\264\240 -\202\156\124\242\377\256\277\142\264\364\162\001\302\313\230\107 -\230\341\114\265\027\200\200\316\217\246\050\356\036\105\152\373 -\337\361\035\374\132\073\326\352\364\154\035\142\111\127\073\212 -\217\206\352\360\123\004\316\234\026\150\377\272\271\374\210\017 -\107\367\002\104\162\100\270\312\073\055\123\235\334\074\126\214 -\131\173\150\032\054\215\161\273\154\000\307\032\316\157\100\222 -\261\243\057\017\331\104\362\243\160\056\236\356\016\256\062\320 -\073\076\213\007\352\346\171\263\134\051\342\175\153\250\136\371 -\132\061\350\010\226\242\214\003\230\106\361\270\175\220\124\046 -\355\166\142\376\236\351\232\156\136\311\111\307\134\064\123\051 -\124\331\354\344\106\341\200\073\165\331\337\373\171\325\207\361 -\272\236\353\031\316\114\122\163\346\133\207\256\045\117\071\171 -\314\306\270\371\020\173\354\360\233\161\244\005\240\323\051\323 -\116\177\037\364\055\050\170\314\125\225\173\036\221\057\314\126 -\030\163\213\262\333\274\151\007\346\320\330\117\355\242\377\130 -\205\243\155\340\112\123\267\147\175\215\014\134\133\173\167\050 -\002\065\104\172\004\323\050\103\310\153\060\027\135\062\270\051 -\065\272\166\332\073\024\112\166\030\130\244\370\222\074\236\115 -\063\157\106\153\010\331\061\110\150\335\364\373\044\126\064\262 -\317\151\146\276\110\322\212\146\042\315\362\151\315\302\123\023 -\105\051\101\042\326\135\230\037\266\244\262\243\302\356\002\057 -\121\033\334\203\244\354\160\045\250\324\010\141\062\157\344\241 -\201\056\174\143\162\372\051\145\274\160\104\317\135\002\003\001 -\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005\005 -\000\003\202\010\001\000\125\232\064\152\042\006\151\011\105\063 -\307\256\251\134\307\011\116\233\206\274\101\220\324\224\122\366 -\315\043\051\224\113\042\315\350\275\376\235\315\122\362\275\355 -\253\207\311\253\253\106\004\264\275\242\077\042\060\107\120\300 -\113\214\166\017\003\365\222\322\261\055\304\172\065\234\311\163 -\207\353\246\237\336\017\163\215\323\177\231\330\272\217\157\304 -\363\276\032\256\213\242\224\066\220\342\345\353\215\005\364\374 -\145\337\225\361\304\224\115\027\126\327\237\074\217\120\074\347 -\167\277\225\206\046\144\373\152\377\306\332\351\214\256\102\273 -\151\345\063\306\330\351\015\306\125\041\111\301\014\264\243\371 -\233\113\134\336\203\117\101\003\316\052\171\150\070\175\360\124 -\111\040\365\266\020\377\010\334\063\146\226\233\377\006\336\000 -\236\327\316\126\103\232\121\374\160\315\366\360\121\243\267\315 -\264\134\205\142\315\161\267\306\053\043\053\335\303\156\100\102 -\372\067\377\067\034\366\172\127\224\207\205\043\327\324\311\307 -\137\301\115\057\311\015\327\134\354\234\045\356\236\060\202\221 -\226\162\270\165\035\370\011\150\127\227\262\055\113\356\045\354 -\172\044\051\356\162\324\234\023\333\253\334\003\012\330\112\024 -\311\010\127\104\135\241\265\123\200\064\362\024\227\317\122\336 -\242\016\212\020\351\024\357\320\140\276\141\241\361\045\135\325 -\030\163\077\223\020\312\226\356\263\100\322\333\243\125\317\127 -\132\245\016\117\165\107\337\352\367\220\232\155\365\160\056\035 -\024\034\067\144\004\131\120\260\334\162\206\157\234\067\075\135 -\050\257\163\125\357\322\356\044\164\164\023\357\334\333\061\111 -\373\077\143\365\323\010\076\063\245\347\235\012\336\123\054\121 -\216\147\333\233\101\145\101\120\275\324\244\226\154\207\274\022 -\340\224\307\323\300\344\313\163\130\000\203\341\254\047\205\326 -\235\123\235\134\275\012\076\003\103\234\014\221\365\155\173\370 -\100\162\165\253\021\166\221\053\341\306\252\037\160\151\166\160 -\025\011\376\223\320\326\055\267\025\152\233\147\134\264\151\237 -\045\246\175\212\373\175\042\251\161\362\316\116\214\270\041\055 -\336\376\101\161\015\377\235\354\163\246\273\007\117\210\016\130 -\107\056\176\251\302\307\170\335\272\172\236\116\340\060\116\143 -\157\205\324\040\101\351\372\376\103\105\347\373\257\172\262\316 -\244\005\035\042\232\130\206\337\344\316\114\251\376\330\026\245 -\157\373\330\316\126\173\365\326\040\357\344\107\315\143\044\377 -\271\276\361\110\243\301\001\162\346\275\300\255\355\046\015\312 -\064\237\374\002\055\040\117\005\040\256\041\075\014\302\040\074 -\077\360\004\204\334\317\211\375\271\045\221\216\320\103\346\263 -\040\253\134\055\325\100\236\240\113\330\364\262\314\175\361\130 -\012\216\207\355\210\254\066\226\344\126\240\021\212\362\232\320 -\263\127\243\064\273\031\253\070\341\164\153\042\304\061\316\001 -\325\033\066\343\036\070\114\063\223\337\100\343\131\127\116\254 -\156\173\036\132\075\305\035\133\254\310\020\202\065\002\042\262 -\374\165\350\020\221\215\304\175\170\223\107\236\034\235\254\153 -\142\002\130\214\326\034\043\326\257\170\302\200\234\244\252\044 -\124\024\265\024\230\306\370\053\032\044\313\161\062\012\342\233 -\016\151\153\335\176\214\144\321\056\143\357\016\177\261\076\210 -\114\235\125\345\311\156\027\004\267\101\377\275\212\101\313\045 -\061\157\104\167\077\107\261\374\201\210\007\216\005\111\040\267 -\021\331\151\003\052\003\235\271\063\204\232\337\337\172\343\106 -\163\243\330\242\214\123\031\210\125\114\164\270\366\104\204\053 -\321\024\055\116\071\056\222\150\377\151\374\205\142\033\353\125 -\117\357\045\204\142\105\231\326\330\116\157\077\123\010\175\035 -\006\225\201\200\177\117\116\164\066\230\265\342\207\160\230\334 -\327\365\334\122\025\346\306\326\171\226\071\177\217\225\317\253 -\200\123\255\033\013\105\100\016\324\030\275\054\336\212\167\166 -\375\362\104\107\306\041\320\344\164\360\330\030\005\310\174\060 -\162\307\337\361\273\374\002\060\251\364\102\046\131\015\223\005 -\202\241\163\355\064\345\070\135\315\120\220\376\224\374\023\274 -\275\374\250\242\210\247\163\304\262\250\321\135\210\304\002\242 -\172\361\004\311\376\214\164\311\357\035\144\101\237\254\036\226 -\147\144\254\253\050\101\307\235\367\300\230\033\156\007\302\144 -\175\132\203\146\126\050\066\234\347\373\034\167\016\050\240\304 -\367\153\171\071\004\040\204\307\127\223\274\033\240\352\274\353 -\102\345\250\021\376\374\254\145\314\375\370\050\210\364\245\232 -\345\163\121\340\250\233\015\003\167\116\345\340\230\263\210\332 -\175\346\306\236\174\024\146\301\056\123\112\222\007\067\240\176 -\351\075\011\344\025\174\317\375\270\101\245\357\236\146\235\304 -\136\007\035\207\370\101\255\352\347\057\322\101\143\030\067\371 -\024\343\115\320\345\367\103\375\025\343\371\066\163\006\046\337 -\001\117\251\303\116\336\040\106\167\230\264\172\044\053\073\165 -\053\116\130\215\233\135\244\307\026\240\274\062\210\077\241\203 -\363\000\310\370\330\130\351\143\135\114\053\265\360\162\101\330 -\253\167\067\326\162\164\256\266\066\234\310\246\203\111\113\340 -\311\126\013\051\276\000\060\313\335\326\310\102\212\000\331\354 -\025\321\064\161\362\133\144\207\366\047\322\267\353\206\260\220 -\277\051\333\041\236\066\214\343\040\057\225\043\121\154\033\302 -\244\325\346\330\002\103\147\240\376\233\120\003\104\177\273\344 -\162\325\321\344\332\217\222\024\144\373\135\024\020\022\112\225 -\006\311\145\010\051\312\041\243\046\070\021\311\047\337\160\147 -\004\375\312\110\062\177\143\262\105\164\061\120\117\207\331\040 -\160\322\041\160\261\326\020\235\063\135\170\203\221\155\125\202 -\354\332\344\142\143\307\201\106\327\031\145\162\052\103\031\220 -\270\327\043\115\114\034\340\104\251\146\147\254\356\161\171\047 -\046\170\155\162\016\365\135\113\043\265\174\174\145\351\027\306 -\072\013\015\335\136\036\121\303\206\270\354\177\307\047\112\245 -\106\350\152\055\031\301\207\243\313\231\223\207\144\242\125\024 -\114\267\103\245\223\327\347\322\116\171\100\312\145\231\106\075 -\077\172\200\172\210\152\314\036\345\153\063\106\364\120\300\325 -\037\011\270\315\212\056\241\047\353\135\163\247\350\153\012\345 -\127\202\052\260\374\342\124\122\126\360\253\251\022\306\043\226 -\007\044\234\340\274\106\245\264\040\004\332\011\223\143\345\324 -\056\302\176\305\061\355\265\025\164\206\027\271\263\363\046\212 -\035\002\152\332\032\077\350\272\361\004\155\224\121\124\342\132 -\264\131\203\035\140\320\055\163\314\007\265\046\214\371\327\306 -\210\221\357\200\317\135\017\241\140\313\105\324\102\042\321\261 -\160\035\375\320\267\060\220\072\306\110\155\147\345\062\332\217 -\333\343\250\343\035\040\045\242\034\341\114\271\244\366\306\077 -\134\130\015\273\306\262\167\001\026\221\237\027\006\015\267\100 -\076\314\217\216\234\113\340\235\176\233\036\005\253\210\042\372 -\323\050\033\127\024\144\112\076\044\054\070\115\041\151\000\163 -\056\320\125\055\164\362\025\350\224\103\076\100\052\306\306\271 -\152\133\336\242\314\030\120\124\135\116\052\205\154\366\222\213 -\051\031\176\347\352\112\340\042\053\045\274\367\146\317\167\232 -\101\164\362\074\024\015\164\151\365\120\203\315\315\057\041\333 -\042\106\212\320\367\121\032\225\127\362\005\213\032\031\355\073 -\105\350\066\302\156\176\373\127\042\000\037\006\123\251\256\223 -\306\217\161\052\061\105\222\347\216\155\346\231\042\300\203\374 -\357\334\127\146\167\117\242\066\061\373\241\023\215\345\312\243 -\225\175\001\014\144\160\073\123\102\150\200\307\273\235\250\000 -\065\151\230\014\250\147\330\103\345\252\317\225\340\121\225\244 -\027\077\102\235\270\004\316\323\171\171\310\323\212\026\062\222 -\340\327\242\356\327\067\114\057\254\270\173\276\105\366\361\030 -\063\234\173\067\246\044\331\274\100\253\000\351\303\067\213\253 -\330\266\363\136\201\116\260\024\153\007\076\037\354\302\366\104 -\042\225\273\263\346\157\326\371\160\145\272\012\203\145\252\016 -\023\057\203\023\043\123\213\100\026\372\316\057\374\115\004\370 -\353\330\254\305\066\302\025\127\110\070\354\125\263\264\036\272 -\255\322\102\006\027\015\163\310\127\246\276\226\115\251\362\300 -\373\172\041\034\365\311\160\251\202\220\265\361\014\324\171\020 -\276\201\246\351\134\141\234\167\171\232\244\303\067\046\127\067 -\311\122\054\372\010\377\320\137\306\141\300\364\166\276\374\336 -\116\317\253\121\231\161\307\337\176\364\326\317\006\126\031\023 -\123\013\155\164\131\110\031\233\123\005\055\235\062\124\323\345 -\054\123\213\144\076\324\144\173\343\200\011\024\314\376\026\106 -\143\153\161\151\370\371\313\047\366\210\124\274\105\263\316\002 -\310\224\356\100\133\371\102\002\302\377\260\330\054\353\050\177 -\136\311\046\001\231\247 -END - -# Trust for Certificate "Thawte Universal CA Root" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Thawte Universal CA Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\213\302\212\044\257\373\126\135\350\120\025\173\172\153\157\024 -\170\114\220\343 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\027\257\161\026\122\173\163\145\042\005\051\050\204\161\235\023 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 1 Public Primary Certification Authority - G3" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000\213\133\165\126\204\124\205\013\000\317\257\070\110\316\261 -\244 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\032\060\202\003\002\002\021\000\213\133\165\126\204 -\124\205\013\000\317\257\070\110\316\261\244\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 -\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123 -\151\147\156\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060 -\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066 -\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012 -\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 -\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060 -\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156 -\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\335\204\324\271\264\371\247\330\363\004\170 -\234\336\075\334\154\023\026\331\172\335\044\121\146\300\307\046 -\131\015\254\006\010\302\224\321\063\037\360\203\065\037\156\033 -\310\336\252\156\025\116\124\047\357\304\155\032\354\013\343\016 -\360\104\245\127\307\100\130\036\243\107\037\161\354\140\366\155 -\224\310\030\071\355\376\102\030\126\337\344\114\111\020\170\116 -\001\166\065\143\022\066\335\146\274\001\004\066\243\125\150\325 -\242\066\011\254\253\041\046\124\006\255\077\312\024\340\254\312 -\255\006\035\225\342\370\235\361\340\140\377\302\177\165\053\114 -\314\332\376\207\231\041\352\272\376\076\124\327\322\131\170\333 -\074\156\317\240\023\000\032\270\047\241\344\276\147\226\312\240 -\305\263\234\335\311\165\236\353\060\232\137\243\315\331\256\170 -\031\077\043\351\134\333\051\275\255\125\310\033\124\214\143\366 -\350\246\352\307\067\022\134\243\051\036\002\331\333\037\073\264 -\327\017\126\107\201\025\004\112\257\203\047\321\305\130\210\301 -\335\366\252\247\243\030\332\150\252\155\021\121\341\277\145\153 -\237\226\166\321\075\002\003\001\000\001\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\253\146 -\215\327\263\272\307\232\266\346\125\320\005\361\237\061\215\132 -\252\331\252\106\046\017\161\355\245\255\123\126\142\001\107\052 -\104\351\376\077\164\013\023\233\271\364\115\033\262\321\137\262 -\266\322\210\134\263\237\315\313\324\247\331\140\225\204\072\370 -\301\067\035\141\312\347\260\305\345\221\332\124\246\254\061\201 -\256\227\336\315\010\254\270\300\227\200\177\156\162\244\347\151 -\023\225\145\037\304\223\074\375\171\217\004\324\076\117\352\367 -\236\316\315\147\174\117\145\002\377\221\205\124\163\307\377\066 -\367\206\055\354\320\136\117\377\021\237\162\006\326\270\032\361 -\114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354 -\245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216 -\274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042 -\171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170 -\023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043 -\363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243 -\113\336\006\226\161\054\362\333\266\037\244\357\077\356 -END - -# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\040\102\205\334\367\353\166\101\225\127\216\023\153\324\267\321 -\351\216\106\245 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\261\107\274\030\127\321\030\240\170\055\354\161\350\052\225\163 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_VALID - -# -# Certificate "Verisign Class 2 Public Primary Certification Authority - G3" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\141\160\313\111\214\137\230\105\051\347\260\246\331\120\133\172 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\031\060\202\003\001\002\020\141\160\313\111\214\137 -\230\105\051\347\260\246\331\120\133\172\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162 -\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167 -\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143 -\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156\054 -\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150 -\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061 -\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151 -\147\156\040\103\154\141\163\163\040\062\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060\061 -\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066\062 -\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003\125 -\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012\023 -\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056\061 -\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123\151 -\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 -\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 -\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060\103 -\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156\040 -\103\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120 -\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055 -\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\257\012\015\302\325\054\333\147\271\055\345\224 -\047\335\245\276\340\260\115\217\263\141\126\074\326\174\303\364 -\315\076\206\313\242\210\342\341\330\244\151\305\265\342\277\301 -\246\107\120\136\106\071\213\325\226\272\265\157\024\277\020\316 -\047\023\236\005\107\233\061\172\023\330\037\331\323\002\067\213 -\255\054\107\360\216\201\006\247\015\060\014\353\367\074\017\040 -\035\334\162\106\356\245\002\310\133\303\311\126\151\114\305\030 -\301\221\173\013\325\023\000\233\274\357\303\110\076\106\140\040 -\205\052\325\220\266\315\213\240\314\062\335\267\375\100\125\262 -\120\034\126\256\314\215\167\115\307\040\115\247\061\166\357\150 -\222\212\220\036\010\201\126\262\255\151\243\122\320\313\034\304 -\043\075\037\231\376\114\350\026\143\216\306\010\216\366\061\366 -\322\372\345\166\335\265\034\222\243\111\315\315\001\315\150\315 -\251\151\272\243\353\035\015\234\244\040\246\301\240\305\321\106 -\114\027\155\322\254\146\077\226\214\340\204\324\066\377\042\131 -\305\371\021\140\250\137\004\175\362\032\366\045\102\141\017\304 -\112\270\076\211\002\003\001\000\001\060\015\006\011\052\206\110 -\206\367\015\001\001\005\005\000\003\202\001\001\000\064\046\025 -\074\300\215\115\103\111\035\275\351\041\222\327\146\234\267\336 -\305\270\320\344\135\137\166\042\300\046\371\204\072\072\371\214 -\265\373\354\140\361\350\316\004\260\310\335\247\003\217\060\363 -\230\337\244\346\244\061\337\323\034\013\106\334\162\040\077\256 -\356\005\074\244\063\077\013\071\254\160\170\163\113\231\053\337 -\060\302\124\260\250\073\125\241\376\026\050\315\102\275\164\156 -\200\333\047\104\247\316\104\135\324\033\220\230\015\036\102\224 -\261\000\054\004\320\164\243\002\005\042\143\143\315\203\265\373 -\301\155\142\153\151\165\375\135\160\101\271\365\277\174\337\276 -\301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110 -\260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153 -\106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045 -\342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317 -\162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263 -\377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125 -\311\130\020\371\252\357\132\266\317\113\113\337\052 -END - -# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\141\357\103\327\177\312\324\141\121\274\230\340\303\131\022\257 -\237\353\143\021 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\370\276\304\143\042\311\250\106\164\213\270\035\036\112\053\366 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_VALID -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 3 Public Primary Certification Authority - G3" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000\233\176\006\111\243\076\142\271\325\356\220\110\161\051\357 -\127 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\032\060\202\003\002\002\021\000\233\176\006\111\243 -\076\142\271\325\356\220\110\161\051\357\127\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 -\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123 -\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060 -\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066 -\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012 -\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 -\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060 -\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156 -\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\313\272\234\122\374\170\037\032\036\157\033 -\067\163\275\370\311\153\224\022\060\117\360\066\107\365\320\221 -\012\365\027\310\245\141\301\026\100\115\373\212\141\220\345\166 -\040\301\021\006\175\253\054\156\246\365\021\101\216\372\055\255 -\052\141\131\244\147\046\114\320\350\274\122\133\160\040\004\130 -\321\172\311\244\151\274\203\027\144\255\005\213\274\320\130\316 -\215\214\365\353\360\102\111\013\235\227\047\147\062\156\341\256 -\223\025\034\160\274\040\115\057\030\336\222\210\350\154\205\127 -\021\032\351\176\343\046\021\124\242\105\226\125\203\312\060\211 -\350\334\330\243\355\052\200\077\177\171\145\127\076\025\040\146 -\010\057\225\223\277\252\107\057\250\106\227\360\022\342\376\302 -\012\053\121\346\166\346\267\106\267\342\015\246\314\250\303\114 -\131\125\211\346\350\123\134\034\352\235\360\142\026\013\247\311 -\137\014\360\336\302\166\316\257\367\152\362\372\101\246\242\063 -\024\311\345\172\143\323\236\142\067\325\205\145\236\016\346\123 -\044\164\033\136\035\022\123\133\307\054\347\203\111\073\025\256 -\212\150\271\127\227\002\003\001\000\001\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\021\024 -\226\301\253\222\010\367\077\057\311\262\376\344\132\237\144\336 -\333\041\117\206\231\064\166\066\127\335\320\025\057\305\255\177 -\025\037\067\142\163\076\324\347\137\316\027\003\333\065\372\053 -\333\256\140\011\137\036\137\217\156\273\013\075\352\132\023\036 -\014\140\157\265\300\265\043\042\056\007\013\313\251\164\313\107 -\273\035\301\327\245\153\314\057\322\102\375\111\335\247\211\317 -\123\272\332\000\132\050\277\202\337\370\272\023\035\120\206\202 -\375\216\060\217\051\106\260\036\075\065\332\070\142\026\030\112 -\255\346\266\121\154\336\257\142\353\001\320\036\044\376\172\217 -\022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151 -\027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246 -\124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156 -\352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255 -\117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126 -\200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255 -\153\271\012\172\116\117\113\204\356\113\361\175\335\021 -END - -# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\023\055\015\105\123\113\151\227\315\262\325\303\071\342\125\166 -\140\233\134\306 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\315\150\266\247\307\304\316\165\340\035\117\127\104\141\222\011 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 4 Public Primary Certification Authority - G3" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 4 Public Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\064\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\064\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000\354\240\247\213\156\165\152\001\317\304\174\314\057\224\136 -\327 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\032\060\202\003\002\002\021\000\354\240\247\213\156 -\165\152\001\317\304\174\314\057\224\136\327\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 -\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123 -\151\147\156\040\103\154\141\163\163\040\064\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060 -\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066 -\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012 -\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 -\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060 -\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156 -\040\103\154\141\163\163\040\064\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\255\313\245\021\151\306\131\253\361\217\265 -\031\017\126\316\314\265\037\040\344\236\046\045\113\340\163\145 -\211\131\336\320\203\344\365\017\265\273\255\361\174\350\041\374 -\344\350\014\356\174\105\042\031\166\222\264\023\267\040\133\011 -\372\141\256\250\362\245\215\205\302\052\326\336\146\066\322\233 -\002\364\250\222\140\174\234\151\264\217\044\036\320\206\122\366 -\062\234\101\130\036\042\275\315\105\142\225\010\156\320\146\335 -\123\242\314\360\020\334\124\163\213\004\241\106\063\063\134\027 -\100\271\236\115\323\363\276\125\203\350\261\211\216\132\174\232 -\226\042\220\073\210\045\362\322\123\210\002\014\013\170\362\346 -\067\027\113\060\106\007\344\200\155\246\330\226\056\350\054\370 -\021\263\070\015\146\246\233\352\311\043\133\333\216\342\363\023 -\216\032\131\055\252\002\360\354\244\207\146\334\301\077\365\330 -\271\364\354\202\306\322\075\225\035\345\300\117\204\311\331\243 -\104\050\006\152\327\105\254\360\153\152\357\116\137\370\021\202 -\036\070\143\064\146\120\324\076\223\163\372\060\303\146\255\377 -\223\055\227\357\003\002\003\001\000\001\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\217\372 -\045\153\117\133\344\244\116\047\125\253\042\025\131\074\312\265 -\012\324\112\333\253\335\241\137\123\305\240\127\071\302\316\107 -\053\276\072\310\126\277\302\331\047\020\072\261\005\074\300\167 -\061\273\072\323\005\173\155\232\034\060\214\200\313\223\223\052 -\203\253\005\121\202\002\000\021\147\153\363\210\141\107\137\003 -\223\325\133\015\340\361\324\241\062\065\205\262\072\333\260\202 -\253\321\313\012\274\117\214\133\305\113\000\073\037\052\202\246 -\176\066\205\334\176\074\147\000\265\344\073\122\340\250\353\135 -\025\371\306\155\360\255\035\016\205\267\251\232\163\024\132\133 -\217\101\050\300\325\350\055\115\244\136\315\252\331\355\316\334 -\330\325\074\102\035\027\301\022\135\105\070\303\070\363\374\205 -\056\203\106\110\262\327\040\137\222\066\217\347\171\017\230\136 -\231\350\360\320\244\273\365\123\275\052\316\131\260\257\156\177 -\154\273\322\036\000\260\041\355\370\101\142\202\271\330\262\304 -\273\106\120\363\061\305\217\001\250\164\353\365\170\047\332\347 -\367\146\103\363\236\203\076\040\252\303\065\140\221\316 -END - -# Trust for Certificate "Verisign Class 4 Public Primary Certification Authority - G3" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 4 Public Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\310\354\214\207\222\151\313\113\253\071\351\215\176\127\147\363 -\024\225\163\235 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\333\310\362\047\056\261\352\152\051\043\135\376\126\076\063\337 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "ValiCert OCSP Responder" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert OCSP Responder" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\262\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\054\060\052\006\003\125\004\013\023\043\103\154\141 -\163\163\040\061\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\040\055\040\117\103\123\120 -\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160\072 -\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056\156 -\145\164\057\061\040\060\036\006\011\052\206\110\206\367\015\001 -\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145\162 -\164\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\262\061\044\060\042\006\003\125\004\007\023\033\126\141 -\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 -\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 -\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 -\143\056\061\054\060\052\006\003\125\004\013\023\043\103\154\141 -\163\163\040\061\040\126\141\154\151\144\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\040\055\040\117\103\123\120 -\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160\072 -\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056\156 -\145\164\057\061\040\060\036\006\011\052\206\110\206\367\015\001 -\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145\162 -\164\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\110\060\202\002\261\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\201\262\061\044\060\042\006\003\125\004\007\023\033\126\141\154 -\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157\156 -\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125\004 -\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156\143 -\056\061\054\060\052\006\003\125\004\013\023\043\103\154\141\163 -\163\040\061\040\126\141\154\151\144\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\117\103\123\120\061 -\041\060\037\006\003\125\004\003\023\030\150\164\164\160\072\057 -\057\167\167\167\056\166\141\154\151\143\145\162\164\056\156\145 -\164\057\061\040\060\036\006\011\052\206\110\206\367\015\001\011 -\001\026\021\151\156\146\157\100\166\141\154\151\143\145\162\164 -\056\143\157\155\060\036\027\015\060\060\060\062\061\062\061\061 -\065\060\060\065\132\027\015\060\065\060\062\061\060\061\061\065 -\060\060\065\132\060\201\262\061\044\060\042\006\003\125\004\007 -\023\033\126\141\154\151\103\145\162\164\040\126\141\154\151\144 -\141\164\151\157\156\040\116\145\164\167\157\162\153\061\027\060 -\025\006\003\125\004\012\023\016\126\141\154\151\103\145\162\164 -\054\040\111\156\143\056\061\054\060\052\006\003\125\004\013\023 -\043\103\154\141\163\163\040\061\040\126\141\154\151\144\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040 -\117\103\123\120\061\041\060\037\006\003\125\004\003\023\030\150 -\164\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145 -\162\164\056\156\145\164\057\061\040\060\036\006\011\052\206\110 -\206\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154 -\151\143\145\162\164\056\143\157\155\060\201\237\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060 -\201\211\002\201\201\000\307\214\057\247\303\100\207\073\075\327 -\304\232\130\024\144\012\303\010\071\142\032\317\322\353\251\361 -\151\164\212\312\016\132\166\314\242\122\116\320\363\304\172\265 -\370\246\034\273\243\247\244\123\207\133\215\300\000\273\325\146 -\044\347\164\306\026\310\257\310\003\142\325\062\207\242\122\221 -\104\224\225\250\107\103\155\245\110\234\366\114\165\325\117\142 -\347\311\377\173\364\044\214\247\274\050\166\265\062\240\045\163 -\267\107\057\170\370\106\371\207\024\360\167\374\012\167\350\117 -\375\214\037\372\142\331\002\003\001\000\001\243\154\060\152\060 -\017\006\011\053\006\001\005\005\007\060\001\005\004\002\005\000 -\060\023\006\003\125\035\045\004\014\060\012\006\010\053\006\001 -\005\005\007\003\011\060\013\006\003\125\035\017\004\004\003\002 -\001\206\060\065\006\010\053\006\001\005\005\007\001\001\004\051 -\060\047\060\045\006\010\053\006\001\005\005\007\060\001\206\031 -\150\164\164\160\072\057\057\157\143\163\160\062\056\166\141\154 -\151\143\145\162\164\056\156\145\164\060\015\006\011\052\206\110 -\206\367\015\001\001\005\005\000\003\201\201\000\025\305\340\270 -\064\162\022\006\040\250\142\225\223\321\274\223\272\220\253\334 -\116\215\216\215\230\114\343\062\365\053\077\263\227\373\252\242 -\255\100\227\255\150\275\134\255\123\016\320\246\263\015\254\032 -\231\215\252\060\036\317\016\160\377\002\260\167\145\203\315\332 -\007\134\122\315\131\273\242\310\342\264\026\203\217\324\225\171 -\223\055\350\277\104\223\061\222\060\323\064\064\361\020\373\041 -\254\056\364\303\135\144\143\172\231\341\232\253\102\035\110\146 -\246\167\067\270\125\074\255\376\145\260\142\351 -END - -# Trust for Certificate "ValiCert OCSP Responder" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ValiCert OCSP Responder" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\133\166\261\274\342\212\360\366\161\221\205\147\046\215\021\151 -\017\027\077\163 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\325\036\040\137\321\365\035\202\127\010\122\071\035\372\212\255 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 1 Public Primary OCSP Responder" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary OCSP Responder" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060 -\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146 -\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057 -\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155 -\057\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003 -\125\004\003\023\045\103\154\141\163\163\040\061\040\120\165\142 -\154\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120 -\040\122\145\163\160\157\156\144\145\162 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\061\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\053\150\324\243\106\236\305\073\050\011\253\070\135\177\047\040 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\236\060\202\003\007\240\003\002\001\002\002\020\053 -\150\324\243\106\236\305\073\050\011\253\070\135\177\047\040\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060 -\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023 -\056\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060 -\036\027\015\060\060\060\070\060\064\060\060\060\060\060\060\132 -\027\015\060\064\060\070\060\063\062\063\065\071\065\071\132\060 -\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145\162 -\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035\006 -\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040\124 -\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060\071 -\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146\040 -\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057\167 -\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155\057 -\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003\125 -\004\003\023\045\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120\040 -\122\145\163\160\157\156\144\145\162\060\201\237\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060 -\201\211\002\201\201\000\271\355\136\172\072\167\137\316\137\072 -\122\374\315\144\367\161\265\157\152\226\306\131\222\125\224\135 -\057\133\056\301\021\352\046\212\313\247\201\074\366\132\104\336 -\172\023\057\375\132\121\331\173\067\046\112\300\047\077\004\003 -\152\126\301\203\054\341\157\133\251\124\120\044\112\306\056\172 -\114\241\133\067\124\044\041\061\037\241\170\030\166\247\261\160 -\332\042\320\152\376\007\142\100\306\367\366\233\175\014\006\270 -\113\307\050\344\146\043\204\121\357\106\267\223\330\201\063\313 -\345\066\254\306\350\005\002\003\001\000\001\243\202\001\020\060 -\202\001\014\060\040\006\003\125\035\021\004\031\060\027\244\025 -\060\023\061\021\060\017\006\003\125\004\003\023\010\117\103\123 -\120\040\061\055\061\060\061\006\003\125\035\037\004\052\060\050 -\060\046\240\044\240\042\206\040\150\164\164\160\072\057\057\143 -\162\154\056\166\145\162\151\163\151\147\156\056\143\157\155\057 -\160\143\141\061\056\143\162\154\060\023\006\003\125\035\045\004 -\014\060\012\006\010\053\006\001\005\005\007\003\011\060\102\006 -\010\053\006\001\005\005\007\001\001\004\066\060\064\060\062\006 -\010\053\006\001\005\005\007\060\001\246\046\026\044\150\164\164 -\160\072\057\057\157\143\163\160\056\166\145\162\151\163\151\147 -\156\056\143\157\155\057\157\143\163\160\057\163\164\141\164\165 -\163\060\104\006\003\125\035\040\004\075\060\073\060\071\006\013 -\140\206\110\001\206\370\105\001\007\001\001\060\052\060\050\006 -\010\053\006\001\005\005\007\002\001\026\034\150\164\164\160\163 -\072\057\057\167\167\167\056\166\145\162\151\163\151\147\156\056 -\143\157\155\057\122\120\101\060\011\006\003\125\035\023\004\002 -\060\000\060\013\006\003\125\035\017\004\004\003\002\007\200\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201 -\201\000\160\220\335\270\344\276\123\027\174\177\002\351\325\367 -\213\231\223\061\140\215\176\346\140\153\044\357\140\254\322\316 -\221\336\200\155\011\244\323\270\070\345\104\312\162\136\015\055 -\301\167\234\275\054\003\170\051\215\244\245\167\207\365\361\053 -\046\255\314\007\154\072\124\132\050\340\011\363\115\012\004\312 -\324\130\151\013\247\263\365\335\001\245\347\334\360\037\272\301 -\135\220\215\263\352\117\301\021\131\227\152\262\053\023\261\332 -\255\227\241\263\261\240\040\133\312\062\253\215\317\023\360\037 -\051\303 -END - -# Trust for Certificate "Verisign Class 1 Public Primary OCSP Responder" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary OCSP Responder" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\004\226\110\344\112\311\314\255\105\203\230\331\074\175\221\365 -\042\104\033\212 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\176\157\072\123\033\174\276\260\060\333\103\036\036\224\211\262 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 2 Public Primary OCSP Responder" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary OCSP Responder" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060 -\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146 -\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057 -\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155 -\057\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003 -\125\004\003\023\045\103\154\141\163\163\040\062\040\120\165\142 -\154\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120 -\040\122\145\163\160\157\156\144\145\162 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\062\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\011\106\027\346\035\330\324\034\240\014\240\142\350\171\212\247 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\236\060\202\003\007\240\003\002\001\002\002\020\011 -\106\027\346\035\330\324\034\240\014\240\142\350\171\212\247\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060 -\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023 -\056\103\154\141\163\163\040\062\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060 -\036\027\015\060\060\060\070\060\061\060\060\060\060\060\060\132 -\027\015\060\064\060\067\063\061\062\063\065\071\065\071\132\060 -\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145\162 -\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035\006 -\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040\124 -\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060\071 -\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146\040 -\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057\167 -\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155\057 -\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003\125 -\004\003\023\045\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120\040 -\122\145\163\160\157\156\144\145\162\060\201\237\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060 -\201\211\002\201\201\000\320\312\143\061\141\177\104\064\174\005 -\175\013\075\152\220\313\171\113\167\012\077\113\307\043\345\300 -\142\055\176\234\176\076\210\207\221\320\254\350\115\111\207\242 -\226\220\212\335\004\245\002\077\214\233\351\211\376\142\240\342 -\132\275\310\335\264\170\346\245\102\223\010\147\001\300\040\115 -\327\134\364\135\332\263\343\067\246\122\032\054\114\145\115\212 -\207\331\250\243\361\111\124\273\074\134\200\121\150\306\373\111 -\377\013\125\253\025\335\373\232\301\271\035\164\015\262\214\104 -\135\211\374\237\371\203\002\003\001\000\001\243\202\001\020\060 -\202\001\014\060\040\006\003\125\035\021\004\031\060\027\244\025 -\060\023\061\021\060\017\006\003\125\004\003\023\010\117\103\123 -\120\040\061\055\062\060\061\006\003\125\035\037\004\052\060\050 -\060\046\240\044\240\042\206\040\150\164\164\160\072\057\057\143 -\162\154\056\166\145\162\151\163\151\147\156\056\143\157\155\057 -\160\143\141\062\056\143\162\154\060\023\006\003\125\035\045\004 -\014\060\012\006\010\053\006\001\005\005\007\003\011\060\102\006 -\010\053\006\001\005\005\007\001\001\004\066\060\064\060\062\006 -\010\053\006\001\005\005\007\060\001\246\046\026\044\150\164\164 -\160\072\057\057\157\143\163\160\056\166\145\162\151\163\151\147 -\156\056\143\157\155\057\157\143\163\160\057\163\164\141\164\165 -\163\060\104\006\003\125\035\040\004\075\060\073\060\071\006\013 -\140\206\110\001\206\370\105\001\007\001\001\060\052\060\050\006 -\010\053\006\001\005\005\007\002\001\026\034\150\164\164\160\163 -\072\057\057\167\167\167\056\166\145\162\151\163\151\147\156\056 -\143\157\155\057\122\120\101\060\011\006\003\125\035\023\004\002 -\060\000\060\013\006\003\125\035\017\004\004\003\002\007\200\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201 -\201\000\037\175\011\156\044\106\165\004\234\363\046\233\343\071 -\156\027\357\274\275\242\033\322\002\204\206\253\320\100\227\054 -\304\103\210\067\031\153\042\250\003\161\120\235\040\334\066\140 -\040\232\163\055\163\125\154\130\233\054\302\264\064\054\172\063 -\102\312\221\331\351\103\257\317\036\340\365\304\172\253\077\162 -\143\036\251\067\341\133\073\210\263\023\206\202\220\127\313\127 -\377\364\126\276\042\335\343\227\250\341\274\042\103\302\335\115 -\333\366\201\236\222\024\236\071\017\023\124\336\202\330\300\136 -\064\215 -END - -# Trust for Certificate "Verisign Class 2 Public Primary OCSP Responder" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary OCSP Responder" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\042\171\151\276\320\122\116\115\035\066\262\361\162\041\167\361 -\124\123\110\167 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\363\105\275\020\226\015\205\113\357\237\021\142\064\247\136\265 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Class 3 Public Primary OCSP Responder" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary OCSP Responder" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060 -\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146 -\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057 -\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155 -\057\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003 -\125\004\003\023\045\103\154\141\163\163\040\063\040\120\165\142 -\154\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120 -\040\122\145\163\160\157\156\144\145\162 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151 -\147\156\054\040\111\156\143\056\061\067\060\065\006\003\125\004 -\013\023\056\103\154\141\163\163\040\063\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\056\226\236\277\266\142\154\354\173\351\163\314\343\154\301\204 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\242\060\202\003\013\240\003\002\001\002\002\020\056 -\226\236\277\266\142\154\354\173\351\163\314\343\154\301\204\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027\060 -\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\061\067\060\065\006\003\125\004\013\023 -\056\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060 -\036\027\015\060\060\060\070\060\064\060\060\060\060\060\060\132 -\027\015\060\064\060\070\060\063\062\063\065\071\065\071\132\060 -\201\247\061\027\060\025\006\003\125\004\012\023\016\126\145\162 -\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035\006 -\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040\124 -\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060\071 -\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146\040 -\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057\167 -\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155\057 -\122\120\101\040\050\143\051\060\060\061\056\060\054\006\003\125 -\004\003\023\045\103\154\141\163\163\040\063\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\117\103\123\120\040 -\122\145\163\160\157\156\144\145\162\060\201\237\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060 -\201\211\002\201\201\000\361\344\010\016\203\273\165\343\110\345 -\270\333\246\360\271\253\351\074\142\307\136\065\133\320\002\124 -\021\330\311\321\126\271\166\113\271\253\172\346\315\272\366\014 -\004\326\176\326\260\012\145\254\116\071\343\361\367\055\243\045 -\071\357\260\213\317\276\333\014\135\156\160\364\007\315\160\367 -\072\300\076\065\026\355\170\214\103\317\302\046\056\107\326\206 -\175\234\361\276\326\147\014\042\045\244\312\145\346\037\172\170 -\050\057\077\005\333\004\041\277\341\105\146\376\074\267\202\355 -\132\270\026\025\271\125\002\003\001\000\001\243\202\001\024\060 -\202\001\020\060\040\006\003\125\035\021\004\031\060\027\244\025 -\060\023\061\021\060\017\006\003\125\004\003\023\010\117\103\123 -\120\040\061\055\063\060\065\006\003\125\035\037\004\056\060\054 -\060\052\240\050\240\046\206\044\150\164\164\160\072\057\057\143 -\162\154\056\166\145\162\151\163\151\147\156\056\143\157\155\057 -\160\143\141\063\056\061\056\061\056\143\162\154\060\023\006\003 -\125\035\045\004\014\060\012\006\010\053\006\001\005\005\007\003 -\011\060\102\006\010\053\006\001\005\005\007\001\001\004\066\060 -\064\060\062\006\010\053\006\001\005\005\007\060\001\246\046\026 -\044\150\164\164\160\072\057\057\157\143\163\160\056\166\145\162 -\151\163\151\147\156\056\143\157\155\057\157\143\163\160\057\163 -\164\141\164\165\163\060\104\006\003\125\035\040\004\075\060\073 -\060\071\006\013\140\206\110\001\206\370\105\001\007\001\001\060 -\052\060\050\006\010\053\006\001\005\005\007\002\001\026\034\150 -\164\164\160\163\072\057\057\167\167\167\056\166\145\162\151\163 -\151\147\156\056\143\157\155\057\122\120\101\060\011\006\003\125 -\035\023\004\002\060\000\060\013\006\003\125\035\017\004\004\003 -\002\007\200\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\003\201\201\000\002\366\123\143\300\251\036\362\320\213 -\063\060\217\110\233\114\260\126\264\203\161\112\276\334\120\330 -\365\266\340\013\333\275\170\117\351\317\011\064\332\051\111\235 -\001\163\132\221\221\202\124\054\023\012\323\167\043\317\067\374 -\143\336\247\343\366\267\265\151\105\050\111\303\221\334\252\107 -\034\251\210\231\054\005\052\215\215\212\372\142\342\132\267\000 -\040\135\071\304\050\302\313\374\236\250\211\256\133\075\216\022 -\352\062\262\374\353\024\327\011\025\032\300\315\033\325\265\025 -\116\101\325\226\343\116 -END - -# Trust for Certificate "Verisign Class 3 Public Primary OCSP Responder" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary OCSP Responder" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\265\355\267\332\046\072\126\164\322\042\105\060\324\307\217\172 -\007\365\345\137 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\175\121\222\311\166\203\230\026\336\214\263\206\304\175\146\373 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR - -# -# Certificate "Verisign Secure Server OCSP Responder" -# -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Secure Server OCSP Responder" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\236\061\027\060\025\006\003\125\004\012\023\016\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060 -\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146 -\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057 -\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155 -\057\122\120\101\040\050\143\051\060\060\061\045\060\043\006\003 -\125\004\003\023\034\123\145\143\165\162\145\040\123\145\162\166 -\145\162\040\117\103\123\120\040\122\145\163\160\157\156\144\145 -\162 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141 -\164\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143 -\056\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165 -\162\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\000\377\105\325\047\135\044\373\263\302\071\044\123\127\341\117 -\336 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\237\060\202\003\014\240\003\002\001\002\002\021\000 -\377\105\325\047\135\044\373\263\302\071\044\123\127\341\117\336 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\137\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040 -\060\036\006\003\125\004\012\023\027\122\123\101\040\104\141\164 -\141\040\123\145\143\165\162\151\164\171\054\040\111\156\143\056 -\061\056\060\054\006\003\125\004\013\023\045\123\145\143\165\162 -\145\040\123\145\162\166\145\162\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\060\036\027\015\060\060\060\070\060\064\060\060\060\060\060\060 -\132\027\015\060\064\060\070\060\063\062\063\065\071\065\071\132 -\060\201\236\061\027\060\025\006\003\125\004\012\023\016\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\061\037\060\035 -\006\003\125\004\013\023\026\126\145\162\151\123\151\147\156\040 -\124\162\165\163\164\040\116\145\164\167\157\162\153\061\073\060 -\071\006\003\125\004\013\023\062\124\145\162\155\163\040\157\146 -\040\165\163\145\040\141\164\040\150\164\164\160\163\072\057\057 -\167\167\167\056\166\145\162\151\163\151\147\156\056\143\157\155 -\057\122\120\101\040\050\143\051\060\060\061\045\060\043\006\003 -\125\004\003\023\034\123\145\143\165\162\145\040\123\145\162\166 -\145\162\040\117\103\123\120\040\122\145\163\160\157\156\144\145 -\162\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\201\215\000\060\201\211\002\201\201\000\270\121 -\231\144\205\016\356\263\012\150\360\277\143\166\035\123\365\374 -\241\170\214\063\356\237\364\276\071\332\233\017\115\107\251\217 -\040\350\113\104\275\316\315\173\220\321\060\350\220\304\045\173 -\211\050\336\275\366\223\035\377\271\377\222\265\251\215\344\256 -\314\342\303\007\203\152\243\162\020\001\047\142\042\246\065\046 -\071\055\236\317\140\014\374\107\244\327\320\102\170\247\035\154 -\320\313\117\025\247\051\012\264\225\105\304\261\347\132\011\327 -\071\225\330\035\065\236\302\275\263\135\301\014\113\037\002\003 -\001\000\001\243\202\001\035\060\202\001\031\060\040\006\003\125 -\035\021\004\031\060\027\244\025\060\023\061\021\060\017\006\003 -\125\004\003\023\010\117\103\123\120\040\061\055\064\060\076\006 -\003\125\035\037\004\067\060\065\060\063\240\061\240\057\206\055 -\150\164\164\160\072\057\057\143\162\154\056\166\145\162\151\163 -\151\147\156\056\143\157\155\057\122\123\101\123\145\143\165\162 -\145\123\145\162\166\145\162\055\160\056\143\162\154\060\023\006 -\003\125\035\045\004\014\060\012\006\010\053\006\001\005\005\007 -\003\011\060\102\006\010\053\006\001\005\005\007\001\001\004\066 -\060\064\060\062\006\010\053\006\001\005\005\007\060\001\246\046 -\026\044\150\164\164\160\072\057\057\157\143\163\160\056\166\145 -\162\151\163\151\147\156\056\143\157\155\057\157\143\163\160\057 -\163\164\141\164\165\163\060\104\006\003\125\035\040\004\075\060 -\073\060\071\006\013\140\206\110\001\206\370\105\001\007\001\001 -\060\052\060\050\006\010\053\006\001\005\005\007\002\001\026\034 -\150\164\164\160\163\072\057\057\167\167\167\056\166\145\162\151 -\163\151\147\156\056\143\157\155\057\122\120\101\060\011\006\003 -\125\035\023\004\002\060\000\060\013\006\003\125\035\017\004\004 -\003\002\007\200\060\015\006\011\052\206\110\206\367\015\001\001 -\005\005\000\003\176\000\000\263\020\123\146\234\111\223\056\061 -\240\002\102\322\130\127\176\146\241\376\033\212\141\030\120\100 -\054\036\053\101\245\326\333\377\254\010\034\132\005\155\002\134 -\052\266\226\117\107\333\276\116\333\316\314\272\206\270\030\316 -\261\022\221\137\143\367\363\110\076\314\361\115\023\344\155\011 -\224\170\000\222\313\243\040\235\006\013\152\240\103\007\316\321 -\031\154\217\030\165\232\237\027\063\375\251\046\270\343\342\336 -\302\250\304\132\212\177\230\326\007\006\153\314\126\236\206\160 -\316\324\357 -END - -# Trust for Certificate "Verisign Secure Server OCSP Responder" -CKA_CLASS CK_OBJECT_CLASS CKO_NETSCAPE_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Secure Server OCSP Responder" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\161\236\140\141\327\175\054\203\361\242\135\074\366\215\002\274 -\224\070\305\056 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\054\142\303\330\200\001\026\011\352\131\352\170\253\020\103\366 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NETSCAPE_TRUSTED_DELEGATOR diff --git a/security/nss/lib/ckfw/builtins/config.mk b/security/nss/lib/ckfw/builtins/config.mk deleted file mode 100644 index 7d6df6c87..000000000 --- a/security/nss/lib/ckfw/builtins/config.mk +++ /dev/null @@ -1,51 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -CONFIG_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -# -# Override TARGETS variable so that only shared libraries -# are specifed as dependencies within rules.mk. -# - -TARGETS = $(SHARED_LIBRARY) -LIBRARY = -IMPORT_LIBRARY = -PROGRAM = - -ifeq (,$(filter-out OS2 WINNT,$(OS_ARCH))) - SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION).dll -endif - -ifdef BUILD_IDG -DEFINES += -DNSSDEBUG -endif diff --git a/security/nss/lib/ckfw/builtins/constants.c b/security/nss/lib/ckfw/builtins/constants.c deleted file mode 100644 index 8e9e09616..000000000 --- a/security/nss/lib/ckfw/builtins/constants.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * builtins/constants.c - * - * Identification and other constants, all collected here in one place. - */ - -#ifndef NSSBASET_H -#include "nssbaset.h" -#endif /* NSSBASET_H */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -NSS_IMPLEMENT_DATA const CK_VERSION -nss_builtins_CryptokiVersion = { 2, 1 }; - -NSS_IMPLEMENT_DATA const NSSUTF8 * -nss_builtins_ManufacturerID = (NSSUTF8 *) "Netscape Communications Corp."; - -NSS_IMPLEMENT_DATA const NSSUTF8 * -nss_builtins_LibraryDescription = (NSSUTF8 *) "NSS Builtin Object Cryptoki Module"; - -NSS_IMPLEMENT_DATA const CK_VERSION -nss_builtins_LibraryVersion = { 1, 0 }; - -NSS_IMPLEMENT_DATA const NSSUTF8 * -nss_builtins_SlotDescription = ""; - -NSS_IMPLEMENT_DATA const CK_VERSION -nss_builtins_HardwareVersion = { 1, 0 }; - -NSS_IMPLEMENT_DATA const CK_VERSION -nss_builtins_FirmwareVersion = { 1, 0 }; - -NSS_IMPLEMENT_DATA const NSSUTF8 * -nss_builtins_TokenLabel = (NSSUTF8 *) "Builtin Object Token"; - -NSS_IMPLEMENT_DATA const NSSUTF8 * -nss_builtins_TokenModel = (NSSUTF8 *) "1"; - -/* should this be e.g. the certdata.txt RCS revision number? */ -NSS_IMPLEMENT_DATA const NSSUTF8 * -nss_builtins_TokenSerialNumber = (NSSUTF8 *) "1"; - diff --git a/security/nss/lib/ckfw/builtins/find.c b/security/nss/lib/ckfw/builtins/find.c deleted file mode 100644 index 17737fd22..000000000 --- a/security/nss/lib/ckfw/builtins/find.c +++ /dev/null @@ -1,237 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#ifndef BUILTINS_H -#include "builtins.h" -#endif /* BUILTINS_H */ - -/* - * builtins/find.c - * - * This file implements the NSSCKMDFindObjects object for the - * "builtin objects" cryptoki module. - */ - -struct builtinsFOStr { - NSSArena *arena; - CK_ULONG n; - CK_ULONG i; - builtinsInternalObject **objs; -}; - -static void -builtins_mdFindObjects_Final -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - struct builtinsFOStr *fo = (struct builtinsFOStr *)mdFindObjects->etc; - - nss_ZFreeIf(fo->objs); - nss_ZFreeIf(fo); - - return; -} - -static NSSCKMDObject * -builtins_mdFindObjects_Next -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -) -{ - struct builtinsFOStr *fo = (struct builtinsFOStr *)mdFindObjects->etc; - builtinsInternalObject *io; - - if( fo->i == fo->n ) { - *pError = CKR_OK; - return (NSSCKMDObject *)NULL; - } - - io = fo->objs[ fo->i ]; - fo->i++; - - return nss_builtins_CreateMDObject(arena, io, pError); -} - -static CK_BBOOL -builtins_attrmatch -( - CK_ATTRIBUTE_PTR a, - const NSSItem *b -) -{ - PRBool prb; - - if( a->ulValueLen != b->size ) { - return CK_FALSE; - } - - prb = nsslibc_memequal(a->pValue, b->data, b->size, (PRStatus *)NULL); - - if( PR_TRUE == prb ) { - return CK_TRUE; - } else { - return CK_FALSE; - } -} - - -static CK_BBOOL -builtins_match -( - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - builtinsInternalObject *o -) -{ - CK_ULONG i; - - for( i = 0; i < ulAttributeCount; i++ ) { - CK_ULONG j; - - for( j = 0; j < o->n; j++ ) { - if( o->types[j] == pTemplate[i].type ) { - if( CK_FALSE == builtins_attrmatch(&pTemplate[i], &o->items[j]) ) { - return CK_FALSE; - } else { - break; - } - } - } - - if( j == o->n ) { - /* Loop ran to the end: no matching attribute */ - return CK_FALSE; - } - } - - /* Every attribute passed */ - return CK_TRUE; -} - -NSS_IMPLEMENT NSSCKMDFindObjects * -nss_builtins_FindObjectsInit -( - NSSCKFWSession *fwSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -) -{ - /* This could be made more efficient. I'm rather rushed. */ - NSSArena *arena; - NSSCKMDFindObjects *rv = (NSSCKMDFindObjects *)NULL; - struct builtinsFOStr *fo = (struct builtinsFOStr *)NULL; - builtinsInternalObject **temp = (builtinsInternalObject **)NULL; - PRUint32 i; - - arena = NSSCKFWSession_GetArena(fwSession, pError); - if( (NSSArena *)NULL == arena ) { - goto loser; - } - - rv = nss_ZNEW(arena, NSSCKMDFindObjects); - if( (NSSCKMDFindObjects *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - fo = nss_ZNEW(arena, struct builtinsFOStr); - if( (struct builtinsFOStr *)NULL == fo ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - fo->arena = arena; - /* fo->n and fo->i are already zero */ - - rv->etc = (void *)fo; - rv->Final = builtins_mdFindObjects_Final; - rv->Next = builtins_mdFindObjects_Next; - rv->null = (void *)NULL; - - temp = nss_ZNEWARRAY((NSSArena *)NULL, builtinsInternalObject *, - nss_builtins_nObjects); - if( (builtinsInternalObject **)NULL == temp ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - for( i = 0; i < nss_builtins_nObjects; i++ ) { - builtinsInternalObject *o = (builtinsInternalObject *)&nss_builtins_data[i]; - - if( CK_TRUE == builtins_match(pTemplate, ulAttributeCount, o) ) { - temp[ fo->n ] = o; - fo->n++; - } - } - - fo->objs = nss_ZNEWARRAY(arena, builtinsInternalObject *, fo->n); - if( (builtinsInternalObject **)NULL == temp ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - (void)nsslibc_memcpy(fo->objs, temp, sizeof(builtinsInternalObject *) * fo->n); - nss_ZFreeIf(temp); - temp = (builtinsInternalObject **)NULL; - - return rv; - - loser: - nss_ZFreeIf(temp); - nss_ZFreeIf(fo); - nss_ZFreeIf(rv); - return (NSSCKMDFindObjects *)NULL; -} - diff --git a/security/nss/lib/ckfw/builtins/instance.c b/security/nss/lib/ckfw/builtins/instance.c deleted file mode 100644 index e97c0d4bf..000000000 --- a/security/nss/lib/ckfw/builtins/instance.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "builtins.h" - -/* - * builtins/instance.c - * - * This file implements the NSSCKMDInstance object for the - * "builtin objects" cryptoki module. - */ - -/* - * NSSCKMDInstance methods - */ - -static CK_ULONG -builtins_mdInstance_GetNSlots -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (CK_ULONG)1; -} - -static CK_VERSION -builtins_mdInstance_GetCryptokiVersion -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return nss_builtins_CryptokiVersion; -} - -static NSSUTF8 * -builtins_mdInstance_GetManufacturerID -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_ManufacturerID; -} - -static NSSUTF8 * -builtins_mdInstance_GetLibraryDescription -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_LibraryDescription; -} - -static CK_VERSION -builtins_mdInstance_GetLibraryVersion -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return nss_builtins_LibraryVersion; -} - -static CK_RV -builtins_mdInstance_GetSlots -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDSlot *slots[] -) -{ - slots[0] = (NSSCKMDSlot *)&nss_builtins_mdSlot; - return CKR_OK; -} - -NSS_IMPLEMENT_DATA const NSSCKMDInstance -nss_builtins_mdInstance = { - (void *)NULL, /* etc */ - NULL, /* Initialize */ - NULL, /* Finalize */ - builtins_mdInstance_GetNSlots, - builtins_mdInstance_GetCryptokiVersion, - builtins_mdInstance_GetManufacturerID, - builtins_mdInstance_GetLibraryDescription, - builtins_mdInstance_GetLibraryVersion, - NULL, /* ModuleHandlesSessionObjects -- defaults to false */ - builtins_mdInstance_GetSlots, - NULL, /* WaitForSlotEvent */ - (void *)NULL /* null terminator */ -}; diff --git a/security/nss/lib/ckfw/builtins/manifest.mn b/security/nss/lib/ckfw/builtins/manifest.mn deleted file mode 100644 index 43375f873..000000000 --- a/security/nss/lib/ckfw/builtins/manifest.mn +++ /dev/null @@ -1,55 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -MANIFEST_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -CORE_DEPTH = ../../../.. - -MODULE = security - -CSRCS = \ - anchor.c \ - constants.c \ - find.c \ - instance.c \ - object.c \ - session.c \ - slot.c \ - token.c \ - certdata.c \ - $(NULL) - -REQUIRES = security nspr - -LIBRARY_NAME = nssckbi - -#EXTRA_SHARED_LIBS = -L$(DIST)/lib -lnssckfw -lnssb -lplc4 -lplds4 diff --git a/security/nss/lib/ckfw/builtins/object.c b/security/nss/lib/ckfw/builtins/object.c deleted file mode 100644 index 030bc11a0..000000000 --- a/security/nss/lib/ckfw/builtins/object.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "builtins.h" - -/* - * builtins/object.c - * - * This file implements the NSSCKMDObject object for the - * "builtin objects" cryptoki module. - */ - -/* - * Finalize - unneeded - * Destroy - CKR_SESSION_READ_ONLY - * IsTokenObject - CK_TRUE - * GetAttributeCount - * GetAttributeTypes - * GetAttributeSize - * GetAttribute - * SetAttribute - unneeded - * GetObjectSize - */ - -static CK_RV -builtins_mdObject_Destroy -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return CKR_SESSION_READ_ONLY; -} - -static CK_BBOOL -builtins_mdObject_IsTokenObject -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return CK_TRUE; -} - -static CK_ULONG -builtins_mdObject_GetAttributeCount -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; - return io->n; -} - -static CK_RV -builtins_mdObject_GetAttributeTypes -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -) -{ - builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; - CK_ULONG i; - - if( io->n != ulCount ) { - return CKR_BUFFER_TOO_SMALL; - } - - for( i = 0; i < io->n; i++ ) { - typeArray[i] = io->types[i]; - } - - return CKR_OK; -} - -static CK_ULONG -builtins_mdObject_GetAttributeSize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ - builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; - CK_ULONG i; - - for( i = 0; i < io->n; i++ ) { - if( attribute == io->types[i] ) { - return (CK_ULONG)(io->items[i].size); - } - } - - *pError = CKR_ATTRIBUTE_TYPE_INVALID; - return 0; -} - -static const NSSItem * -builtins_mdObject_GetAttribute -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ - builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; - CK_ULONG i; - - for( i = 0; i < io->n; i++ ) { - if( attribute == io->types[i] ) { - return &io->items[i]; - } - } - - *pError = CKR_ATTRIBUTE_TYPE_INVALID; - return (NSSItem *)NULL; -} - -static CK_ULONG -builtins_mdObject_GetObjectSize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; - CK_ULONG i; - CK_ULONG rv = sizeof(CK_ULONG); - - for( i = 0; i < io->n; i++ ) { - rv += sizeof(CK_ATTRIBUTE_TYPE) + sizeof(NSSItem) + io->items[i].size; - } - - return rv; -} - -static NSSCKMDObject -builtins_prototype_mdObject = { - (void *)NULL, /* etc */ - NULL, /* Finalize */ - builtins_mdObject_Destroy, - builtins_mdObject_IsTokenObject, - builtins_mdObject_GetAttributeCount, - builtins_mdObject_GetAttributeTypes, - builtins_mdObject_GetAttributeSize, - builtins_mdObject_GetAttribute, - NULL, /* SetAttribute */ - builtins_mdObject_GetObjectSize, - (void *)NULL /* null terminator */ -}; - -NSS_IMPLEMENT NSSCKMDObject * -nss_builtins_CreateMDObject -( - NSSArena *arena, - builtinsInternalObject *io, - CK_RV *pError -) -{ - NSSCKMDObject *rv; - - rv = nss_ZNEW(arena, NSSCKMDObject); - if( (NSSCKMDObject *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; - } - - *rv = builtins_prototype_mdObject; - rv->etc = (void *)io; - - return rv; -} diff --git a/security/nss/lib/ckfw/builtins/session.c b/security/nss/lib/ckfw/builtins/session.c deleted file mode 100644 index e8d7f7522..000000000 --- a/security/nss/lib/ckfw/builtins/session.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "builtins.h" - -/* - * builtins/session.c - * - * This file implements the NSSCKMDSession object for the - * "builtin objects" cryptoki module. - */ - -static NSSCKMDFindObjects * -builtins_mdSession_FindObjectsInit -( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -) -{ - return nss_builtins_FindObjectsInit(fwSession, pTemplate, ulAttributeCount, pError); -} - -NSS_IMPLEMENT NSSCKMDSession * -nss_builtins_CreateSession -( - NSSCKFWSession *fwSession, - CK_RV *pError -) -{ - NSSArena *arena; - NSSCKMDSession *rv; - - arena = NSSCKFWSession_GetArena(fwSession, pError); - if( (NSSArena *)NULL == arena ) { - return (NSSCKMDSession *)NULL; - } - - rv = nss_ZNEW(arena, NSSCKMDSession); - if( (NSSCKMDSession *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDSession *)NULL; - } - - /* - * rv was zeroed when allocated, so we only - * need to set the non-zero members. - */ - - rv->etc = (void *)fwSession; - /* rv->Close */ - /* rv->GetDeviceError */ - /* rv->Login */ - /* rv->Logout */ - /* rv->InitPIN */ - /* rv->SetPIN */ - /* rv->GetOperationStateLen */ - /* rv->GetOperationState */ - /* rv->SetOperationState */ - /* rv->CreateObject */ - /* rv->CopyObject */ - rv->FindObjectsInit = builtins_mdSession_FindObjectsInit; - /* rv->SeedRandom */ - /* rv->GetRandom */ - /* rv->null */ - - return rv; -} diff --git a/security/nss/lib/ckfw/builtins/slot.c b/security/nss/lib/ckfw/builtins/slot.c deleted file mode 100644 index 1a2df9e70..000000000 --- a/security/nss/lib/ckfw/builtins/slot.c +++ /dev/null @@ -1,124 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "builtins.h" - -/* - * builtins/slot.c - * - * This file implements the NSSCKMDSlot object for the - * "builtin objects" cryptoki module. - */ - -static NSSUTF8 * -builtins_mdSlot_GetSlotDescription -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_SlotDescription; -} - -static NSSUTF8 * -builtins_mdSlot_GetManufacturerID -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_ManufacturerID; -} - -static CK_VERSION -builtins_mdSlot_GetHardwareVersion -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return nss_builtins_HardwareVersion; -} - -static CK_VERSION -builtins_mdSlot_GetFirmwareVersion -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return nss_builtins_FirmwareVersion; -} - -static NSSCKMDToken * -builtins_mdSlot_GetToken -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSCKMDToken *)&nss_builtins_mdToken; -} - -NSS_IMPLEMENT_DATA const NSSCKMDSlot -nss_builtins_mdSlot = { - (void *)NULL, /* etc */ - NULL, /* Initialize */ - NULL, /* Destroy */ - builtins_mdSlot_GetSlotDescription, - builtins_mdSlot_GetManufacturerID, - NULL, /* GetTokenPresent -- defaults to true */ - NULL, /* GetRemovableDevice -- defaults to false */ - NULL, /* GetHardwareSlot -- defaults to false */ - builtins_mdSlot_GetHardwareVersion, - builtins_mdSlot_GetFirmwareVersion, - builtins_mdSlot_GetToken, - (void *)NULL /* null terminator */ -}; diff --git a/security/nss/lib/ckfw/builtins/token.c b/security/nss/lib/ckfw/builtins/token.c deleted file mode 100644 index ddf068e8e..000000000 --- a/security/nss/lib/ckfw/builtins/token.c +++ /dev/null @@ -1,184 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "builtins.h" - -/* - * builtins/token.c - * - * This file implements the NSSCKMDToken object for the - * "builtin objects" cryptoki module. - */ - -static NSSUTF8 * -builtins_mdToken_GetLabel -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_TokenLabel; -} - -static NSSUTF8 * -builtins_mdToken_GetManufacturerID -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_ManufacturerID; -} - -static NSSUTF8 * -builtins_mdToken_GetModel -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_TokenModel; -} - -static NSSUTF8 * -builtins_mdToken_GetSerialNumber -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return (NSSUTF8 *)nss_builtins_TokenSerialNumber; -} - -static CK_BBOOL -builtins_mdToken_GetIsWriteProtected -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return CK_TRUE; -} - -static CK_VERSION -builtins_mdToken_GetHardwareVersion -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return nss_builtins_HardwareVersion; -} - -static CK_VERSION -builtins_mdToken_GetFirmwareVersion -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return nss_builtins_FirmwareVersion; -} - -static NSSCKMDSession * -builtins_mdToken_OpenSession -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKFWSession *fwSession, - CK_BBOOL rw, - CK_RV *pError -) -{ - return nss_builtins_CreateSession(fwSession, pError); -} - -NSS_IMPLEMENT_DATA const NSSCKMDToken -nss_builtins_mdToken = { - (void *)NULL, /* etc */ - NULL, /* Setup */ - NULL, /* Invalidate */ - NULL, /* InitToken -- default errs */ - builtins_mdToken_GetLabel, - builtins_mdToken_GetManufacturerID, - builtins_mdToken_GetModel, - builtins_mdToken_GetSerialNumber, - NULL, /* GetHasRNG -- default is false */ - builtins_mdToken_GetIsWriteProtected, - NULL, /* GetLoginRequired -- default is false */ - NULL, /* GetUserPinInitialized -- default is false */ - NULL, /* GetRestoreKeyNotNeeded -- irrelevant */ - NULL, /* GetHasClockOnToken -- default is false */ - NULL, /* GetHasProtectedAuthenticationPath -- default is false */ - NULL, /* GetSupportsDualCryptoOperations -- default is false */ - NULL, /* GetMaxSessionCount -- default is CK_UNAVAILABLE_INFORMATION */ - NULL, /* GetMaxRwSessionCount -- default is CK_UNAVAILABLE_INFORMATION */ - NULL, /* GetMaxPinLen -- irrelevant */ - NULL, /* GetMinPinLen -- irrelevant */ - NULL, /* GetTotalPublicMemory -- default is CK_UNAVAILABLE_INFORMATION */ - NULL, /* GetFreePublicMemory -- default is CK_UNAVAILABLE_INFORMATION */ - NULL, /* GetTotalPrivateMemory -- default is CK_UNAVAILABLE_INFORMATION */ - NULL, /* GetFreePrivateMemory -- default is CK_UNAVAILABLE_INFORMATION */ - builtins_mdToken_GetHardwareVersion, - builtins_mdToken_GetFirmwareVersion, - NULL, /* GetUTCTime -- no clock */ - builtins_mdToken_OpenSession, - NULL, /* GetMechanismCount -- default is zero */ - NULL, /* GetMechanismTypes -- irrelevant */ - NULL, /* GetMechanism -- irrelevant */ - (void *)NULL /* null terminator */ -}; diff --git a/security/nss/lib/ckfw/ck.api b/security/nss/lib/ckfw/ck.api deleted file mode 100644 index 6bae20fd3..000000000 --- a/security/nss/lib/ckfw/ck.api +++ /dev/null @@ -1,571 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# - -# This file is in part derived from a file "pkcs11f.h" made available -# by RSA Security at ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/pkcs11f.h - -CVS_ID "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -# Fields -# FUNCTION introduces a Cryptoki function -# CK_type specifies and introduces an argument -# - -# General-purpose - -# C_Initialize initializes the Cryptoki library. -FUNCTION C_Initialize -CK_VOID_PTR pInitArgs # if this is not NULL_PTR, it gets - # cast to CK_C_INITIALIZE_ARGS_PTR - # and dereferenced - -# C_Finalize indicates that an application is done with the -# Cryptoki library. -FUNCTION C_Finalize -CK_VOID_PTR pReserved # reserved. Should be NULL_PTR - -# C_GetInfo returns general information about Cryptoki. -FUNCTION C_GetInfo -CK_INFO_PTR pInfo # location that receives information - -# C_GetFunctionList returns the function list. -FUNCTION C_GetFunctionList -CK_FUNCTION_LIST_PTR_PTR ppFunctionList # receives pointer to function - # list - - -# Slot and token management - -# C_GetSlotList obtains a list of slots in the system. -FUNCTION C_GetSlotList -CK_BBOOL tokenPresent # only slots with tokens? -CK_SLOT_ID_PTR pSlotList # receives array of slot IDs -CK_ULONG_PTR pulCount # receives number of slots - -# C_GetSlotInfo obtains information about a particular slot in the -# system. -FUNCTION C_GetSlotInfo -CK_SLOT_ID slotID # the ID of the slot -CK_SLOT_INFO_PTR pInfo # receives the slot information - -# C_GetTokenInfo obtains information about a particular token in the -# system. -FUNCTION C_GetTokenInfo -CK_SLOT_ID slotID # ID of the token's slot -CK_TOKEN_INFO_PTR pInfo # receives the token information - -# C_GetMechanismList obtains a list of mechanism types supported by a -# token. -FUNCTION C_GetMechanismList -CK_SLOT_ID slotID # ID of token's slot -CK_MECHANISM_TYPE_PTR pMechanismList # gets mech. array -CK_ULONG_PTR pulCount # gets # of mechs. - -# C_GetMechanismInfo obtains information about a particular mechanism -# possibly supported by a token. -FUNCTION C_GetMechanismInfo -CK_SLOT_ID slotID # ID of the token's slot -CK_MECHANISM_TYPE type # type of mechanism -CK_MECHANISM_INFO_PTR pInfo # receives mechanism info - -# C_InitToken initializes a token. -FUNCTION C_InitToken -CK_SLOT_ID slotID # ID of the token's slot -CK_CHAR_PTR pPin # the SO's initial PIN -CK_ULONG ulPinLen # length in bytes of the PIN -CK_CHAR_PTR pLabel # 32-byte token label (blank padded) - -# C_InitPIN initializes the normal user's PIN. -FUNCTION C_InitPIN -CK_SESSION_HANDLE hSession # the session's handle -CK_CHAR_PTR pPin # the normal user's PIN -CK_ULONG ulPinLen # length in bytes of the PIN - -# C_SetPIN modifies the PIN of the user who is logged in. -FUNCTION C_SetPIN -CK_SESSION_HANDLE hSession # the session's handle -CK_CHAR_PTR pOldPin # the old PIN -CK_ULONG ulOldLen # length of the old PIN -CK_CHAR_PTR pNewPin # the new PIN -CK_ULONG ulNewLen # length of the new PIN - - -# Session management - -# C_OpenSession opens a session between an application and a token. -FUNCTION C_OpenSession -CK_SLOT_ID slotID # the slot's ID -CK_FLAGS flags # from CK_SESSION_INFO -CK_VOID_PTR pApplication # passed to callback -CK_NOTIFY Notify # callback function -CK_SESSION_HANDLE_PTR phSession # gets session handle - -# C_CloseSession closes a session between an application and a token. -FUNCTION C_CloseSession -CK_SESSION_HANDLE hSession # the session's handle - -# C_CloseAllSessions closes all sessions with a token. -FUNCTION C_CloseAllSessions -CK_SLOT_ID slotID # the token's slot - -# C_GetSessionInfo obtains information about the session. -FUNCTION C_GetSessionInfo -CK_SESSION_HANDLE hSession # the session's handle -CK_SESSION_INFO_PTR pInfo # receives session info - -# C_GetOperationState obtains the state of the cryptographic -# operation in a session. -FUNCTION C_GetOperationState -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pOperationState # gets state -CK_ULONG_PTR pulOperationStateLen # gets state length - -# C_SetOperationState restores the state of the cryptographic -# operation in a session. -FUNCTION C_SetOperationState -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pOperationState # holds state -CK_ULONG ulOperationStateLen # holds state length -CK_OBJECT_HANDLE hEncryptionKey # en/decryption key -CK_OBJECT_HANDLE hAuthenticationKey # sign/verify key - -# C_Login logs a user into a token. -FUNCTION C_Login -CK_SESSION_HANDLE hSession # the session's handle -CK_USER_TYPE userType # the user type -CK_CHAR_PTR pPin # the user's PIN -CK_ULONG ulPinLen # the length of the PIN - -# C_Logout logs a user out from a token. -FUNCTION C_Logout -CK_SESSION_HANDLE hSession # the session's handle - - -# Object management - -# C_CreateObject creates a new object. -FUNCTION C_CreateObject -CK_SESSION_HANDLE hSession # the session's handle -CK_ATTRIBUTE_PTR pTemplate # the object's template -CK_ULONG ulCount # attributes in template -CK_OBJECT_HANDLE_PTR phObject # gets new object's handle. - -# C_CopyObject copies an object, creating a new object for the copy. -FUNCTION C_CopyObject -CK_SESSION_HANDLE hSession # the session's handle -CK_OBJECT_HANDLE hObject # the object's handle -CK_ATTRIBUTE_PTR pTemplate # template for new object -CK_ULONG ulCount # attributes in template -CK_OBJECT_HANDLE_PTR phNewObject # receives handle of copy - -# C_DestroyObject destroys an object. -FUNCTION C_DestroyObject -CK_SESSION_HANDLE hSession # the session's handle -CK_OBJECT_HANDLE hObject # the object's handle - -# C_GetObjectSize gets the size of an object in bytes. -FUNCTION C_GetObjectSize -CK_SESSION_HANDLE hSession # the session's handle -CK_OBJECT_HANDLE hObject # the object's handle -CK_ULONG_PTR pulSize # receives size of object - -# C_GetAttributeValue obtains the value of one or more object -# attributes. -FUNCTION C_GetAttributeValue -CK_SESSION_HANDLE hSession # the session's handle -CK_OBJECT_HANDLE hObject # the object's handle -CK_ATTRIBUTE_PTR pTemplate # specifies attrs; gets vals -CK_ULONG ulCount # attributes in template - -# C_SetAttributeValue modifies the value of one or more object -# attributes -FUNCTION C_SetAttributeValue -CK_SESSION_HANDLE hSession # the session's handle -CK_OBJECT_HANDLE hObject # the object's handle -CK_ATTRIBUTE_PTR pTemplate # specifies attrs and values -CK_ULONG ulCount # attributes in template - -# C_FindObjectsInit initializes a search for token and session -# objects that match a template. -FUNCTION C_FindObjectsInit -CK_SESSION_HANDLE hSession # the session's handle -CK_ATTRIBUTE_PTR pTemplate # attribute values to match -CK_ULONG ulCount # attrs in search template - -# C_FindObjects continues a search for token and session objects that -# match a template, obtaining additional object handles. -FUNCTION C_FindObjects -CK_SESSION_HANDLE hSession # session's handle -CK_OBJECT_HANDLE_PTR phObject # gets obj. handles -CK_ULONG ulMaxObjectCount # max handles to get -CK_ULONG_PTR pulObjectCount # actual # returned - -# C_FindObjectsFinal finishes a search for token and session objects. -FUNCTION C_FindObjectsFinal -CK_SESSION_HANDLE hSession # the session's handle - - -# Encryption and decryption - -# C_EncryptInit initializes an encryption operation. -FUNCTION C_EncryptInit -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the encryption mechanism -CK_OBJECT_HANDLE hKey # handle of encryption key - -# C_Encrypt encrypts single-part data. -FUNCTION C_Encrypt -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pData # the plaintext data -CK_ULONG ulDataLen # bytes of plaintext -CK_BYTE_PTR pEncryptedData # gets ciphertext -CK_ULONG_PTR pulEncryptedDataLen # gets c-text size - -# C_EncryptUpdate continues a multiple-part encryption operation. -FUNCTION C_EncryptUpdate -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pPart # the plaintext data -CK_ULONG ulPartLen # plaintext data len -CK_BYTE_PTR pEncryptedPart # gets ciphertext -CK_ULONG_PTR pulEncryptedPartLen # gets c-text size - -# C_EncryptFinal finishes a multiple-part encryption operation. -FUNCTION C_EncryptFinal -CK_SESSION_HANDLE hSession # session handle -CK_BYTE_PTR pLastEncryptedPart # last c-text -CK_ULONG_PTR pulLastEncryptedPartLen # gets last size - -# C_DecryptInit initializes a decryption operation. -FUNCTION C_DecryptInit -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the decryption mechanism -CK_OBJECT_HANDLE hKey # handle of decryption key - -# C_Decrypt decrypts encrypted data in a single part. -FUNCTION C_Decrypt -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pEncryptedData # ciphertext -CK_ULONG ulEncryptedDataLen # ciphertext length -CK_BYTE_PTR pData # gets plaintext -CK_ULONG_PTR pulDataLen # gets p-text size - -# C_DecryptUpdate continues a multiple-part decryption operation. -FUNCTION C_DecryptUpdate -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pEncryptedPart # encrypted data -CK_ULONG ulEncryptedPartLen # input length -CK_BYTE_PTR pPart # gets plaintext -CK_ULONG_PTR pulPartLen # p-text size - -# C_DecryptFinal finishes a multiple-part decryption operation. -FUNCTION C_DecryptFinal -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pLastPart # gets plaintext -CK_ULONG_PTR pulLastPartLen # p-text size - - -# Message digesting - -# C_DigestInit initializes a message-digesting operation. -FUNCTION C_DigestInit -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the digesting mechanism - -# C_Digest digests data in a single part. -FUNCTION C_Digest -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pData # data to be digested -CK_ULONG ulDataLen # bytes of data to digest -CK_BYTE_PTR pDigest # gets the message digest -CK_ULONG_PTR pulDigestLen # gets digest length - -# C_DigestUpdate continues a multiple-part message-digesting operation. -FUNCTION C_DigestUpdate -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pPart # data to be digested -CK_ULONG ulPartLen # bytes of data to be digested - -# C_DigestKey continues a multi-part message-digesting operation, by -# digesting the value of a secret key as part of the data already -# digested. -FUNCTION C_DigestKey -CK_SESSION_HANDLE hSession # the session's handle -CK_OBJECT_HANDLE hKey # secret key to digest - -# C_DigestFinal finishes a multiple-part message-digesting operation. -FUNCTION C_DigestFinal -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pDigest # gets the message digest -CK_ULONG_PTR pulDigestLen # gets byte count of digest - - -# Signing and MACing - -# C_SignInit initializes a signature (private key encryption) -# operation, where the signature is (will be) an appendix to the -# data, and plaintext cannot be recovered from the signature. -FUNCTION C_SignInit -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the signature mechanism -CK_OBJECT_HANDLE hKey # handle of signature key - -# C_Sign signs (encrypts with private key) data in a single part, -# where the signature is (will be) an appendix to the data, and -# plaintext cannot be recovered from the signature. -FUNCTION C_Sign -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pData # the data to sign -CK_ULONG ulDataLen # count of bytes to sign -CK_BYTE_PTR pSignature # gets the signature -CK_ULONG_PTR pulSignatureLen # gets signature length - -# C_SignUpdate continues a multiple-part signature operation, where -# the signature is (will be) an appendix to the data, and plaintext -# cannot be recovered from the signature. -FUNCTION C_SignUpdate -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pPart # the data to sign -CK_ULONG ulPartLen # count of bytes to sign - -# C_SignFinal finishes a multiple-part signature operation, returning -# the signature. -FUNCTION C_SignFinal -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pSignature # gets the signature -CK_ULONG_PTR pulSignatureLen # gets signature length - -# C_SignRecoverInit initializes a signature operation, where the data -# can be recovered from the signature. -FUNCTION C_SignRecoverInit -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the signature mechanism -CK_OBJECT_HANDLE hKey # handle of the signature key - -# C_SignRecover signs data in a single operation, where the data can -# be recovered from the signature. -FUNCTION C_SignRecover -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pData # the data to sign -CK_ULONG ulDataLen # count of bytes to sign -CK_BYTE_PTR pSignature # gets the signature -CK_ULONG_PTR pulSignatureLen # gets signature length - - -# Verifying signatures and MACs - -# C_VerifyInit initializes a verification operation, where the -# signature is an appendix to the data, and plaintext cannot cannot -# be recovered from the signature (e.g. DSA). -FUNCTION C_VerifyInit -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the verification mechanism -CK_OBJECT_HANDLE hKey # verification key - -# C_Verify verifies a signature in a single-part operation, where the -# signature is an appendix to the data, and plaintext cannot be -# recovered from the signature. -FUNCTION C_Verify -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pData # signed data -CK_ULONG ulDataLen # length of signed data -CK_BYTE_PTR pSignature # signature -CK_ULONG ulSignatureLen # signature length - -# C_VerifyUpdate continues a multiple-part verification operation, -# where the signature is an appendix to the data, and plaintext cannot be -# recovered from the signature. -FUNCTION C_VerifyUpdate -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pPart # signed data -CK_ULONG ulPartLen # length of signed data - -# C_VerifyFinal finishes a multiple-part verification operation, -# checking the signature. -FUNCTION C_VerifyFinal -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pSignature # signature to verify -CK_ULONG ulSignatureLen # signature length - -# C_VerifyRecoverInit initializes a signature verification operation, -# where the data is recovered from the signature. -FUNCTION C_VerifyRecoverInit -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the verification mechanism -CK_OBJECT_HANDLE hKey # verification key - -# C_VerifyRecover verifies a signature in a single-part operation, -# where the data is recovered from the signature. -FUNCTION C_VerifyRecover -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pSignature # signature to verify -CK_ULONG ulSignatureLen # signature length -CK_BYTE_PTR pData # gets signed data -CK_ULONG_PTR pulDataLen # gets signed data len - - -# Dual-function cryptographic operations - -# C_DigestEncryptUpdate continues a multiple-part digesting and -# encryption operation. -FUNCTION C_DigestEncryptUpdate -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pPart # the plaintext data -CK_ULONG ulPartLen # plaintext length -CK_BYTE_PTR pEncryptedPart # gets ciphertext -CK_ULONG_PTR pulEncryptedPartLen # gets c-text length - -# C_DecryptDigestUpdate continues a multiple-part decryption and -# digesting operation. -FUNCTION C_DecryptDigestUpdate -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pEncryptedPart # ciphertext -CK_ULONG ulEncryptedPartLen # ciphertext length -CK_BYTE_PTR pPart # gets plaintext -CK_ULONG_PTR pulPartLen # gets plaintext len - -# C_SignEncryptUpdate continues a multiple-part signing and -# encryption operation. -FUNCTION C_SignEncryptUpdate -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pPart # the plaintext data -CK_ULONG ulPartLen # plaintext length -CK_BYTE_PTR pEncryptedPart # gets ciphertext -CK_ULONG_PTR pulEncryptedPartLen # gets c-text length - -# C_DecryptVerifyUpdate continues a multiple-part decryption and -# verify operation. -FUNCTION C_DecryptVerifyUpdate -CK_SESSION_HANDLE hSession # session's handle -CK_BYTE_PTR pEncryptedPart # ciphertext -CK_ULONG ulEncryptedPartLen # ciphertext length -CK_BYTE_PTR pPart # gets plaintext -CK_ULONG_PTR pulPartLen # gets p-text length - - -# Key management - -# C_GenerateKey generates a secret key, creating a new key object. -FUNCTION C_GenerateKey -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # key generation mech. -CK_ATTRIBUTE_PTR pTemplate # template for new key -CK_ULONG ulCount # # of attrs in template -CK_OBJECT_HANDLE_PTR phKey # gets handle of new key - -# C_GenerateKeyPair generates a public-key/private-key pair, creating -# new key objects. -FUNCTION C_GenerateKeyPair -CK_SESSION_HANDLE hSession # session handle -CK_MECHANISM_PTR pMechanism # key-gen mech. -CK_ATTRIBUTE_PTR pPublicKeyTemplate # template for pub. key -CK_ULONG ulPublicKeyAttributeCount # # pub. attrs. -CK_ATTRIBUTE_PTR pPrivateKeyTemplate # template for priv. key -CK_ULONG ulPrivateKeyAttributeCount # # priv. attrs. -CK_OBJECT_HANDLE_PTR phPublicKey # gets pub. key handle -CK_OBJECT_HANDLE_PTR phPrivateKey # gets priv. key handle - -# C_WrapKey wraps (i.e., encrypts) a key. -FUNCTION C_WrapKey -CK_SESSION_HANDLE hSession # the session's handle -CK_MECHANISM_PTR pMechanism # the wrapping mechanism -CK_OBJECT_HANDLE hWrappingKey # wrapping key -CK_OBJECT_HANDLE hKey # key to be wrapped -CK_BYTE_PTR pWrappedKey # gets wrapped key -CK_ULONG_PTR pulWrappedKeyLen # gets wrapped key size - -# C_UnwrapKey unwraps (decrypts) a wrapped key, creating a new key -# object. -FUNCTION C_UnwrapKey -CK_SESSION_HANDLE hSession # session's handle -CK_MECHANISM_PTR pMechanism # unwrapping mech. -CK_OBJECT_HANDLE hUnwrappingKey # unwrapping key -CK_BYTE_PTR pWrappedKey # the wrapped key -CK_ULONG ulWrappedKeyLen # wrapped key len -CK_ATTRIBUTE_PTR pTemplate # new key template -CK_ULONG ulAttributeCount # template length -CK_OBJECT_HANDLE_PTR phKey # gets new handle - -# C_DeriveKey derives a key from a base key, creating a new key object. -FUNCTION C_DeriveKey -CK_SESSION_HANDLE hSession # session's handle -CK_MECHANISM_PTR pMechanism # key deriv. mech. -CK_OBJECT_HANDLE hBaseKey # base key -CK_ATTRIBUTE_PTR pTemplate # new key template -CK_ULONG ulAttributeCount # template length -CK_OBJECT_HANDLE_PTR phKey # gets new handle - - -# Random number generation - -# C_SeedRandom mixes additional seed material into the token's random -# number generator. -FUNCTION C_SeedRandom -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR pSeed # the seed material -CK_ULONG ulSeedLen # length of seed material - -# C_GenerateRandom generates random data. -FUNCTION C_GenerateRandom -CK_SESSION_HANDLE hSession # the session's handle -CK_BYTE_PTR RandomData # receives the random data -CK_ULONG ulRandomLen # # of bytes to generate - - -# Parallel function management - -# C_GetFunctionStatus is a legacy function; it obtains an updated -# status of a function running in parallel with an application. -FUNCTION C_GetFunctionStatus -CK_SESSION_HANDLE hSession # the session's handle - -# C_CancelFunction is a legacy function; it cancels a function running -# in parallel. -FUNCTION C_CancelFunction -CK_SESSION_HANDLE hSession # the session's handle - - -# Functions added in for Cryptoki Version 2.01 or later - -# C_WaitForSlotEvent waits for a slot event (token insertion, removal, -# etc.) to occur. -FUNCTION C_WaitForSlotEvent -CK_FLAGS flags # blocking/nonblocking flag -CK_SLOT_ID_PTR pSlot # location that receives the slot ID -CK_VOID_PTR pRserved # reserved. Should be NULL_PTR - -## C_ConfigureSlot passes an installation-specified bytestring to a -## slot. -#FUNCTION C_ConfigureSlot -#CK_SLOT_ID slotID # the slot to configure -#CK_BYTE_PTR pConfig # the configuration string -#CK_ULONG ulConfigLen # length of the config string diff --git a/security/nss/lib/ckfw/ck.h b/security/nss/lib/ckfw/ck.h deleted file mode 100644 index 04df10656..000000000 --- a/security/nss/lib/ckfw/ck.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef CK_H -#define CK_H - -#ifdef DEBUG -static const char CK_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * ck.h - * - * This header file consolidates all header files needed by the source - * files implementing the NSS Cryptoki Framework. This makes managing - * the source files a bit easier. - */ - -/* Types */ - -#ifndef NSSBASET_H -#include "nssbaset.h" -#endif /* NSSBASET_H */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFT_H -#include "nssckft.h" -#endif /* NSSCKFT_H */ - -#ifndef NSSCKEPV_H -#include "nssckepv.h" -#endif /* NSSCKEPV_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -#ifndef NSSCKMDT_H -#include "nssckmdt.h" -#endif /* NSSCKMDT_H */ - -#ifndef CKT_H -#include "ckt.h" -#endif /* CKT_H */ - -#ifndef CKFWTM_H -#include "ckfwtm.h" -#endif /* CKFWTM_H */ - -/* Prototypes */ - -#ifndef NSSBASE_H -#include "nssbase.h" -#endif /* NSSBASE_H */ - -#ifndef NSSCKG_H -#include "nssckg.h" -#endif /* NSSCKG_H */ - -#ifndef NSSCKFW_H -#include "nssckfw.h" -#endif /* NSSCKFW_H */ - -#ifndef NSSCKFWC_H -#include "nssckfwc.h" -#endif /* NSSCKFWC_H */ - -#ifndef CKFW_H -#include "ckfw.h" -#endif /* CKFW_H */ - -#ifndef CKFWM_H -#include "ckfwm.h" -#endif /* CKFWM_H */ - -#ifndef CKMD_H -#include "ckmd.h" -#endif /* CKMD_H */ - -/* NSS-private */ - -/* nss_ZNEW and the like. We might want to publish the memory APIs.. */ - -#ifndef BASE_H -#include "base.h" -#endif /* BASE_H */ - -#endif /* CK_H */ diff --git a/security/nss/lib/ckfw/ckapi.perl b/security/nss/lib/ckfw/ckapi.perl deleted file mode 100644 index baad8c52f..000000000 --- a/security/nss/lib/ckfw/ckapi.perl +++ /dev/null @@ -1,510 +0,0 @@ -#!perl -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -$cvs_id = '@(#) $RCSfile$ $Revision$ $Date$ $Name$'; - -$copyright = '/* THIS IS A GENERATED FILE */ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ -'; - -$count = -1; -$i = 0; - -open(INPUT, "<$ARGV[0]") || die "Can't open $ARGV[0]: $!"; - -while(<INPUT>) { - s/^((?:[^"#]+|"[^"]*")*)(\s*#.*$)/$1/; - next if (/^\s*$/); - -# print; - - /^([\S]+)\s+([^"][\S]*|"[^"]*")/; - $name = $1; - $value = $2; - - if( ($name =~ "FUNCTION") && !($name =~ "CK_FUNCTION") ) { - $count++; - $x[$count]{name} = $value; - $i = 0; - } else { - if( $count < 0 ) { - $value =~ s/"//g; - $g{$name} = $value; - } else { - $x[$count]{args}[$i]{type} = $name; - $x[$count]{args}[$i]{name} = $value; - $i++; - $x[$count]{nargs} = $i; # rewritten each time, oh well - } - } -} - -close INPUT; - -# dodump(); -doprint(); - -sub dodump { - for( $j = 0; $j <= $count; $j++ ) { - print "CK_RV CK_ENTRY $x[$j]{name}\n"; - for( $i = 0; $i < $x[$j]{nargs}; $i++ ) { - print " $x[$j]{args}[$i]{type} $x[$j]{args}[$i]{name}"; - if( $i == ($x[$j]{nargs} - 1) ) { - print "\n"; - } else { - print ",\n"; - } - } - } -} - -sub doprint { -open(PROTOTYPE, ">nssckg.h") || die "Can't open nssckg.h: $!"; -open(TYPEDEF, ">nssckft.h") || die "Can't open nssckft.h: $!"; -open(EPV, ">nssckepv.h") || die "Can't open nssckepv.h: $!"; -open(API, ">nssck.api") || die "Can't open nssck.api: $!"; - -select PROTOTYPE; - -print $copyright; -print <<EOD -#ifndef NSSCKG_H -#define NSSCKG_H - -#ifdef DEBUG -static const char NSSCKG_CVS_ID[] = "$g{CVS_ID} ; $cvs_id"; -#endif /* DEBUG */ - -/* - * nssckg.h - * - * This automatically-generated header file prototypes the Cryptoki - * functions specified by PKCS#11. - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -EOD - ; - -for( $j = 0; $j <= $count; $j++ ) { - print "CK_RV CK_ENTRY $x[$j]{name}\n"; - print "(\n"; - for( $i = 0; $i < $x[$j]{nargs}; $i++ ) { - print " $x[$j]{args}[$i]{type} $x[$j]{args}[$i]{name}"; - if( $i == ($x[$j]{nargs} - 1) ) { - print "\n"; - } else { - print ",\n"; - } - } - print ");\n\n"; -} - -print <<EOD -#endif /* NSSCKG_H */ -EOD - ; - -select TYPEDEF; - -print $copyright; -print <<EOD -#ifndef NSSCKFT_H -#define NSSCKFT_H - -#ifdef DEBUG -static const char NSSCKFT_CVS_ID[] = "$g{CVS_ID} ; $cvs_id"; -#endif /* DEBUG */ - -/* - * nssckft.h - * - * The automatically-generated header file declares a typedef - * each of the Cryptoki functions specified by PKCS#11. - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -EOD - ; - -for( $j = 0; $j <= $count; $j++ ) { -# print "typedef CK_RV (CK_ENTRY *CK_$x[$j]{name})(\n"; - print "typedef CK_CALLBACK_FUNCTION(CK_RV, CK_$x[$j]{name})(\n"; - for( $i = 0; $i < $x[$j]{nargs}; $i++ ) { - print " $x[$j]{args}[$i]{type} $x[$j]{args}[$i]{name}"; - if( $i == ($x[$j]{nargs} - 1) ) { - print "\n"; - } else { - print ",\n"; - } - } - print ");\n\n"; -} - -print <<EOD -#endif /* NSSCKFT_H */ -EOD - ; - -select EPV; - -print $copyright; -print <<EOD -#ifndef NSSCKEPV_H -#define NSSCKEPV_H - -#ifdef DEBUG -static const char NSSCKEPV_CVS_ID[] = "$g{CVS_ID} ; $cvs_id"; -#endif /* DEBUG */ - -/* - * nssckepv.h - * - * This automatically-generated header file defines the type - * CK_FUNCTION_LIST specified by PKCS#11. - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFT_H -#include "nssckft.h" -#endif /* NSSCKFT_H */ - -#include "nssckp.h" - -struct CK_FUNCTION_LIST { - CK_VERSION version; -EOD - ; - -for( $j = 0; $j <= $count; $j++ ) { - print " CK_$x[$j]{name} $x[$j]{name};\n"; -} - -print <<EOD -}; - -#include "nsscku.h" - -#endif /* NSSCKEPV_H */ -EOD - ; - -select API; - -print $copyright; -print <<EOD - -#ifdef DEBUG -static const char NSSCKAPI_CVS_ID[] = "$g{CVS_ID} ; $cvs_id"; -#endif /* DEBUG */ - -/* - * nssck.api - * - * This automatically-generated file is used to generate a set of - * Cryptoki entry points within the object space of a Module using - * the NSS Cryptoki Framework. - * - * The Module should have a .c file with the following: - * - * #define MODULE_NAME name - * #define INSTANCE_NAME instance - * #include "nssck.api" - * - * where "name" is some module-specific name that can be used to - * disambiguate various modules. This included file will then - * define the actual Cryptoki routines which pass through to the - * Framework calls. All routines, except C_GetFunctionList, will - * be prefixed with the name; C_GetFunctionList will be generated - * to return an entry-point vector with these routines. The - * instance specified should be the basic instance of NSSCKMDInstance. - * - * If, prior to including nssck.api, the .c file also specifies - * - * #define DECLARE_STRICT_CRYTPOKI_NAMES - * - * Then a set of "stub" routines not prefixed with the name will - * be included. This would allow the combined module and framework - * to be used in applications which are hard-coded to use the - * PKCS#11 names (instead of going through the EPV). Please note - * that such applications should be careful resolving symbols when - * more than one PKCS#11 module is loaded. - */ - -#ifndef MODULE_NAME -#error "Error: MODULE_NAME must be defined." -#endif /* MODULE_NAME */ - -#ifndef INSTANCE_NAME -#error "Error: INSTANCE_NAME must be defined." -#endif /* INSTANCE_NAME */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -#ifndef NSSCKFWC_H -#include "nssckfwc.h" -#endif /* NSSCKFWC_H */ - -#ifndef NSSCKEPV_H -#include "nssckepv.h" -#endif /* NSSCKEPV_H */ - -#define __ADJOIN(x,y) x##y - -/* - * The anchor. This object is used to store an "anchor" pointer in - * the Module's object space, so the wrapper functions can relate - * back to this instance. - */ - -static NSSCKFWInstance *fwInstance = (NSSCKFWInstance *)0; - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Initialize) -( - CK_VOID_PTR pInitArgs -) -{ - return NSSCKFWC_Initialize(&fwInstance, INSTANCE_NAME, pInitArgs); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Initialize -( - CK_VOID_PTR pInitArgs -) -{ - return __ADJOIN(MODULE_NAME,C_Initialize)(pInitArgs); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Finalize) -( - CK_VOID_PTR pReserved -) -{ - return NSSCKFWC_Finalize(&fwInstance); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Finalize -( - CK_VOID_PTR pReserved -) -{ - return __ADJOIN(MODULE_NAME,C_Finalize)(pReserved); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetInfo) -( - CK_INFO_PTR pInfo -) -{ - return NSSCKFWC_GetInfo(fwInstance, pInfo); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetInfo -( - CK_INFO_PTR pInfo -) -{ - return __ADJOIN(MODULE_NAME,C_GetInfo)(pInfo); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -/* - * C_GetFunctionList is defined at the end. - */ - -EOD - ; - -for( $j = 4; $j <= $count; $j++ ) { - print "CK_RV CK_ENTRY\n"; - print "__ADJOIN(MODULE_NAME,$x[$j]{name})\n"; - print "(\n"; - for( $i = 0; $i < $x[$j]{nargs}; $i++ ) { - print " $x[$j]{args}[$i]{type} $x[$j]{args}[$i]{name}"; - if( $i == ($x[$j]{nargs} - 1) ) { - print "\n"; - } else { - print ",\n"; - } - } - print ")\n"; - print "{\n"; - print " return NSSCKFW$x[$j]{name}(fwInstance, "; - for( $i = 0; $i < $x[$j]{nargs}; $i++ ) { - print "$x[$j]{args}[$i]{name}"; - if( $i == ($x[$j]{nargs} - 1) ) { - print ");\n"; - } else { - print ", "; - } - } - print "}\n\n"; - - print "#ifdef DECLARE_STRICT_CRYPTOKI_NAMES\n"; - print "CK_RV CK_ENTRY\n"; - print "$x[$j]{name}\n"; - print "(\n"; - for( $i = 0; $i < $x[$j]{nargs}; $i++ ) { - print " $x[$j]{args}[$i]{type} $x[$j]{args}[$i]{name}"; - if( $i == ($x[$j]{nargs} - 1) ) { - print "\n"; - } else { - print ",\n"; - } - } - print ")\n"; - print "{\n"; - print " return __ADJOIN(MODULE_NAME,$x[$j]{name})("; - for( $i = 0; $i < $x[$j]{nargs}; $i++ ) { - print "$x[$j]{args}[$i]{name}"; - if( $i == ($x[$j]{nargs} - 1) ) { - print ");\n"; - } else { - print ", "; - } - } - print "}\n"; - print "#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */\n\n"; -} - -print <<EOD -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetFunctionList) -( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -); - -static CK_FUNCTION_LIST FunctionList = { - { 2, 1 }, -EOD - ; - -for( $j = 0; $j <= $count; $j++ ) { - print "__ADJOIN(MODULE_NAME,$x[$j]{name})"; - if( $j < $count ) { - print ",\n"; - } else { - print "\n};\n\n"; - } -} - -print <<EOD -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetFunctionList) -( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -) -{ - *ppFunctionList = &FunctionList; - return CKR_OK; -} - -/* This one is always present */ -#ifdef WIN32 -CK_RV _declspec(dllexport) -#else -CK_RV CK_ENTRY -#endif -C_GetFunctionList -( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -) -{ - return __ADJOIN(MODULE_NAME,C_GetFunctionList)(ppFunctionList); -} - -#undef __ADJOIN - -EOD - ; - -select STDOUT; - -} diff --git a/security/nss/lib/ckfw/ckfw.h b/security/nss/lib/ckfw/ckfw.h deleted file mode 100644 index 2e83f8c35..000000000 --- a/security/nss/lib/ckfw/ckfw.h +++ /dev/null @@ -1,1858 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef CKFW_H -#define CKFW_H - -#ifdef DEBUG -static const char CKFW_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * ckfw.h - * - * This file prototypes the private calls of the NSS Cryptoki Framework. - */ - -#ifndef NSSBASET_H -#include "nssbaset.h" -#endif /* NSSBASET_H */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -#ifndef NSSCKMDT_H -#include "nssckmdt.h" -#endif /* NSSCKMDT_H */ - -/* - * NSSCKFWInstance - * - * -- create/destroy -- - * nssCKFWInstance_Create - * nssCKFWInstance_Destroy - * - * -- implement public accessors -- - * nssCKFWInstance_GetMDInstance - * nssCKFWInstance_GetArena - * nssCKFWInstance_MayCreatePthreads - * nssCKFWInstance_CreateMutex - * nssCKFWInstance_GetConfigurationData - * - * -- private accessors -- - * nssCKFWInstance_CreateSessionHandle - * nssCKFWInstance_ResolveSessionHandle - * nssCKFWInstance_DestroySessionHandle - * nssCKFWInstance_FindSessionHandle - * nssCKFWInstance_CreateObjectHandle - * nssCKFWInstance_ResolveObjectHandle - * nssCKFWInstance_DestroyObjectHandle - * nssCKFWInstance_FindObjectHandle - * - * -- module fronts -- - * nssCKFWInstance_GetNSlots - * nssCKFWInstance_GetCryptokiVersion - * nssCKFWInstance_GetManufacturerID - * nssCKFWInstance_GetFlags - * nssCKFWInstance_GetLibraryDescription - * nssCKFWInstance_GetLibraryVersion - * nssCKFWInstance_GetModuleHandlesSessionObjects - * nssCKFWInstance_GetSlots - * nssCKFWInstance_WaitForSlotEvent - * - * -- debugging versions only -- - * nssCKFWInstance_verifyPointer - */ - -/* - * nssCKFWInstance_Create - * - */ -NSS_EXTERN NSSCKFWInstance * -nssCKFWInstance_Create -( - CK_C_INITIALIZE_ARGS_PTR pInitArgs, - NSSCKMDInstance *mdInstance, - CK_RV *pError -); - -/* - * nssCKFWInstance_Destroy - * - */ -NSS_EXTERN CK_RV -nssCKFWInstance_Destroy -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_GetMDInstance - * - */ -NSS_EXTERN NSSCKMDInstance * -nssCKFWInstance_GetMDInstance -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_GetArena - * - */ -NSS_EXTERN NSSArena * -nssCKFWInstance_GetArena -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -); - -/* - * nssCKFWInstance_MayCreatePthreads - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWInstance_MayCreatePthreads -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_CreateMutex - * - */ -NSS_EXTERN NSSCKFWMutex * -nssCKFWInstance_CreateMutex -( - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -); - -/* - * nssCKFWInstance_GetConfigurationData - * - */ -NSS_EXTERN NSSUTF8 * -nssCKFWInstance_GetConfigurationData -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_CreateSessionHandle - * - */ -NSS_EXTERN CK_SESSION_HANDLE -nssCKFWInstance_CreateSessionHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWSession *fwSession, - CK_RV *pError -); - -/* - * nssCKFWInstance_ResolveSessionHandle - * - */ -NSS_EXTERN NSSCKFWSession * -nssCKFWInstance_ResolveSessionHandle -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -); - -/* - * nssCKFWInstance_DestroySessionHandle - * - */ -NSS_EXTERN void -nssCKFWInstance_DestroySessionHandle -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -); - -/* - * nssCKFWInstance_FindSessionHandle - * - */ -NSS_EXTERN CK_SESSION_HANDLE -nssCKFWInstance_FindSessionHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWSession *fwSession -); - -/* - * nssCKFWInstance_CreateObjectHandle - * - */ -NSS_EXTERN CK_OBJECT_HANDLE -nssCKFWInstance_CreateObjectHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWObject *fwObject, - CK_RV *pError -); - -/* - * nssCKFWInstance_FindObjectHandle - * - */ -NSS_EXTERN CK_OBJECT_HANDLE -nssCKFWInstance_FindObjectHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWObject *fwObject -); - -/* - * nssCKFWInstance_ResolveObjectHandle - * - */ -NSS_EXTERN NSSCKFWObject * -nssCKFWInstance_ResolveObjectHandle -( - NSSCKFWInstance *fwInstance, - CK_OBJECT_HANDLE hObject -); - -/* - * nssCKFWInstance_ReassignObjectHandle - * - */ -NSS_EXTERN CK_RV -nssCKFWInstance_ReassignObjectHandle -( - NSSCKFWInstance *fwInstance, - CK_OBJECT_HANDLE hObject, - NSSCKFWObject *fwObject -); - -/* - * nssCKFWInstance_DestroyObjectHandle - * - */ -NSS_EXTERN void -nssCKFWInstance_DestroyObjectHandle -( - NSSCKFWInstance *fwInstance, - CK_OBJECT_HANDLE hObject -); - -/* - * nssCKFWInstance_FindObjectHandle - * - */ -NSS_IMPLEMENT CK_OBJECT_HANDLE -nssCKFWInstance_FindObjectHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWObject *fwObject -); - -/* - * nssCKFWInstance_GetNSlots - * - */ -NSS_EXTERN CK_ULONG -nssCKFWInstance_GetNSlots -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -); - -/* - * nssCKFWInstance_GetCryptokiVersion - * - */ -NSS_EXTERN CK_VERSION -nssCKFWInstance_GetCryptokiVersion -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_GetManufacturerID - * - */ -NSS_EXTERN CK_RV -nssCKFWInstance_GetManufacturerID -( - NSSCKFWInstance *fwInstance, - CK_CHAR manufacturerID[32] -); - -/* - * nssCKFWInstance_GetFlags - * - */ -NSS_EXTERN CK_ULONG -nssCKFWInstance_GetFlags -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_GetLibraryDescription - * - */ -NSS_EXTERN CK_RV -nssCKFWInstance_GetLibraryDescription -( - NSSCKFWInstance *fwInstance, - CK_CHAR libraryDescription[32] -); - -/* - * nssCKFWInstance_GetLibraryVersion - * - */ -NSS_EXTERN CK_VERSION -nssCKFWInstance_GetLibraryVersion -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_GetModuleHandlesSessionObjects - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWInstance_GetModuleHandlesSessionObjects -( - NSSCKFWInstance *fwInstance -); - -/* - * nssCKFWInstance_GetSlots - * - */ -NSS_EXTERN NSSCKFWSlot ** -nssCKFWInstance_GetSlots -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -); - -/* - * nssCKFWInstance_WaitForSlotEvent - * - */ -NSS_EXTERN NSSCKFWSlot * -nssCKFWInstance_WaitForSlotEvent -( - NSSCKFWInstance *fwInstance, - CK_BBOOL block, - CK_RV *pError -); - -/* - * nssCKFWInstance_verifyPointer - * - */ -NSS_EXTERN CK_RV -nssCKFWInstance_verifyPointer -( - const NSSCKFWInstance *fwInstance -); - - -/* - * NSSCKFWSlot - * - * -- create/destroy -- - * nssCKFWSlot_Create - * nssCKFWSlot_Destroy - * - * -- implement public accessors -- - * nssCKFWSlot_GetMDSlot - * nssCKFWSlot_GetFWInstance - * nssCKFWSlot_GetMDInstance - * - * -- private accessors -- - * nssCKFWSlot_GetSlotID - * - * -- module fronts -- - * nssCKFWSlot_GetSlotDescription - * nssCKFWSlot_GetManufacturerID - * nssCKFWSlot_GetTokenPresent - * nssCKFWSlot_GetRemovableDevice - * nssCKFWSlot_GetHardwareSlot - * nssCKFWSlot_GetHardwareVersion - * nssCKFWSlot_GetFirmwareVersion - * nssCKFWSlot_GetToken - */ - -/* - * nssCKFWSlot_Create - * - */ -NSS_EXTERN NSSCKFWSlot * -nssCKFWSlot_Create -( - NSSCKFWInstance *fwInstance, - NSSCKMDSlot *mdSlot, - CK_SLOT_ID slotID, - CK_RV *pError -); - -/* - * nssCKFWSlot_Destroy - * - */ -NSS_EXTERN CK_RV -nssCKFWSlot_Destroy -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetMDSlot - * - */ -NSS_EXTERN NSSCKMDSlot * -nssCKFWSlot_GetMDSlot -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetFWInstance - * - */ - -NSS_EXTERN NSSCKFWInstance * -nssCKFWSlot_GetFWInstance -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetMDInstance - * - */ - -NSS_EXTERN NSSCKMDInstance * -nssCKFWSlot_GetMDInstance -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetSlotID - * - */ -NSS_EXTERN CK_SLOT_ID -nssCKFWSlot_GetSlotID -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetSlotDescription - * - */ -NSS_EXTERN CK_RV -nssCKFWSlot_GetSlotDescription -( - NSSCKFWSlot *fwSlot, - CK_CHAR slotDescription[64] -); - -/* - * nssCKFWSlot_GetManufacturerID - * - */ -NSS_EXTERN CK_RV -nssCKFWSlot_GetManufacturerID -( - NSSCKFWSlot *fwSlot, - CK_CHAR manufacturerID[32] -); - -/* - * nssCKFWSlot_GetTokenPresent - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWSlot_GetTokenPresent -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetRemovableDevice - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWSlot_GetRemovableDevice -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetHardwareSlot - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWSlot_GetHardwareSlot -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetHardwareVersion - * - */ -NSS_EXTERN CK_VERSION -nssCKFWSlot_GetHardwareVersion -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetFirmwareVersion - * - */ -NSS_EXTERN CK_VERSION -nssCKFWSlot_GetFirmwareVersion -( - NSSCKFWSlot *fwSlot -); - -/* - * nssCKFWSlot_GetToken - * - */ -NSS_EXTERN NSSCKFWToken * -nssCKFWSlot_GetToken -( - NSSCKFWSlot *fwSlot, - CK_RV *pError -); - -/* - * nssCKFWSlot_ClearToken - * - */ -NSS_EXTERN void -nssCKFWSlot_ClearToken -( - NSSCKFWSlot *fwSlot -); - -/* - * NSSCKFWToken - * - * -- create/destroy -- - * nssCKFWToken_Create - * nssCKFWToken_Destroy - * - * -- implement public accessors -- - * nssCKFWToken_GetMDToken - * nssCKFWToken_GetFWSlot - * nssCKFWToken_GetMDSlot - * nssCKFWToken_GetSessionState - * - * -- private accessors -- - * nssCKFWToken_SetSessionState - * nssCKFWToken_RemoveSession - * nssCKFWToken_CloseAllSessions - * nssCKFWToken_GetSessionCount - * nssCKFWToken_GetRwSessionCount - * nssCKFWToken_GetRoSessionCount - * nssCKFWToken_GetSessionObjectHash - * nssCKFWToken_GetMDObjectHash - * nssCKFWToken_GetObjectHandleHash - * - * -- module fronts -- - * nssCKFWToken_InitToken - * nssCKFWToken_GetLabel - * nssCKFWToken_GetManufacturerID - * nssCKFWToken_GetModel - * nssCKFWToken_GetSerialNumber - * nssCKFWToken_GetHasRNG - * nssCKFWToken_GetIsWriteProtected - * nssCKFWToken_GetLoginRequired - * nssCKFWToken_GetUserPinInitialized - * nssCKFWToken_GetRestoreKeyNotNeeded - * nssCKFWToken_GetHasClockOnToken - * nssCKFWToken_GetHasProtectedAuthenticationPath - * nssCKFWToken_GetSupportsDualCryptoOperations - * nssCKFWToken_GetMaxSessionCount - * nssCKFWToken_GetMaxRwSessionCount - * nssCKFWToken_GetMaxPinLen - * nssCKFWToken_GetMinPinLen - * nssCKFWToken_GetTotalPublicMemory - * nssCKFWToken_GetFreePublicMemory - * nssCKFWToken_GetTotalPrivateMemory - * nssCKFWToken_GetFreePrivateMemory - * nssCKFWToken_GetHardwareVersion - * nssCKFWToken_GetFirmwareVersion - * nssCKFWToken_GetUTCTime - * nssCKFWToken_OpenSession - * nssCKFWToken_GetMechanismCount - * nssCKFWToken_GetMechanismTypes - * nssCKFWToken_GetMechanism - */ - -/* - * nssCKFWToken_Create - * - */ -NSS_EXTERN NSSCKFWToken * -nssCKFWToken_Create -( - NSSCKFWSlot *fwSlot, - NSSCKMDToken *mdToken, - CK_RV *pError -); - -/* - * nssCKFWToken_Destroy - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_Destroy -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMDToken - * - */ -NSS_EXTERN NSSCKMDToken * -nssCKFWToken_GetMDToken -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetArena - * - */ -NSS_EXTERN NSSArena * -nssCKFWToken_GetArena -( - NSSCKFWToken *fwToken, - CK_RV *pError -); - -/* - * nssCKFWToken_GetFWSlot - * - */ -NSS_EXTERN NSSCKFWSlot * -nssCKFWToken_GetFWSlot -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMDSlot - * - */ -NSS_EXTERN NSSCKMDSlot * -nssCKFWToken_GetMDSlot -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetSessionState - * - */ -NSS_EXTERN CK_STATE -nssCKFWToken_GetSessionState -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_InitToken - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_InitToken -( - NSSCKFWToken *fwToken, - NSSItem *pin, - NSSUTF8 *label -); - -/* - * nssCKFWToken_GetLabel - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_GetLabel -( - NSSCKFWToken *fwToken, - CK_CHAR label[32] -); - -/* - * nssCKFWToken_GetManufacturerID - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_GetManufacturerID -( - NSSCKFWToken *fwToken, - CK_CHAR manufacturerID[32] -); - -/* - * nssCKFWToken_GetModel - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_GetModel -( - NSSCKFWToken *fwToken, - CK_CHAR model[16] -); - -/* - * nssCKFWToken_GetSerialNumber - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_GetSerialNumber -( - NSSCKFWToken *fwToken, - CK_CHAR serialNumber[16] -); - -/* - * nssCKFWToken_GetHasRNG - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetHasRNG -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetIsWriteProtected - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetIsWriteProtected -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetLoginRequired - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetLoginRequired -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetUserPinInitialized - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetUserPinInitialized -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetRestoreKeyNotNeeded - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetRestoreKeyNotNeeded -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetHasClockOnToken - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetHasClockOnToken -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetHasProtectedAuthenticationPath - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetHasProtectedAuthenticationPath -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetSupportsDualCryptoOperations - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWToken_GetSupportsDualCryptoOperations -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMaxSessionCount - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetMaxSessionCount -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMaxRwSessionCount - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetMaxRwSessionCount -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMaxPinLen - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetMaxPinLen -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMinPinLen - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetMinPinLen -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetTotalPublicMemory - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetTotalPublicMemory -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetFreePublicMemory - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetFreePublicMemory -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetTotalPrivateMemory - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetTotalPrivateMemory -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetFreePrivateMemory - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetFreePrivateMemory -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetHardwareVersion - * - */ -NSS_EXTERN CK_VERSION -nssCKFWToken_GetHardwareVersion -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetFirmwareVersion - * - */ -NSS_EXTERN CK_VERSION -nssCKFWToken_GetFirmwareVersion -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetUTCTime - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_GetUTCTime -( - NSSCKFWToken *fwToken, - CK_CHAR utcTime[16] -); - -/* - * nssCKFWToken_OpenSession - * - */ -NSS_EXTERN NSSCKFWSession * -nssCKFWToken_OpenSession -( - NSSCKFWToken *fwToken, - CK_BBOOL rw, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_RV *pError -); - -/* - * nssCKFWToken_GetMechanismCount - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetMechanismCount -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMechanismTypes - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_GetMechanismTypes -( - NSSCKFWToken *fwToken, - CK_MECHANISM_TYPE types[] -); - -/* - * nssCKFWToken_GetMechanism - * - */ -NSS_EXTERN NSSCKFWMechanism * -nssCKFWToken_GetMechanism -( - NSSCKFWToken *fwToken, - CK_MECHANISM_TYPE which, - CK_RV *pError -); - -/* - * nssCKFWToken_SetSessionState - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_SetSessionState -( - NSSCKFWToken *fwToken, - CK_STATE newState -); - -/* - * nssCKFWToken_RemoveSession - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_RemoveSession -( - NSSCKFWToken *fwToken, - NSSCKFWSession *fwSession -); - -/* - * nssCKFWToken_CloseAllSessions - * - */ -NSS_EXTERN CK_RV -nssCKFWToken_CloseAllSessions -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetSessionCount - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetSessionCount -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetRwSessionCount - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetRwSessionCount -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetRoSessionCount - * - */ -NSS_EXTERN CK_ULONG -nssCKFWToken_GetRoSessionCount -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetSessionObjectHash - * - */ -NSS_EXTERN nssCKFWHash * -nssCKFWToken_GetSessionObjectHash -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetMDObjectHash - * - */ -NSS_EXTERN nssCKFWHash * -nssCKFWToken_GetMDObjectHash -( - NSSCKFWToken *fwToken -); - -/* - * nssCKFWToken_GetObjectHandleHash - * - */ -NSS_EXTERN nssCKFWHash * -nssCKFWToken_GetObjectHandleHash -( - NSSCKFWToken *fwToken -); - -/* - * NSSCKFWMechanism - * - * -- create/destroy -- - * nssCKFWMechanism_Create - * nssCKFWMechanism_Destroy - * - * -- implement public accessors -- - * nssCKFWMechanism_GetMDMechanism - * nssCKFWMechanism_GetParameter - * - * -- private accessors -- - * - * -- module fronts -- - * nssCKFWMechanism_GetMinKeySize - * nssCKFWMechanism_GetMaxKeySize - * nssCKFWMechanism_GetInHardware - */ - -/* - * nssCKFWMechanism_Create - * - */ -NSS_EXTERN NSSCKFWMechanism * -nssCKFWMechanism_Create -( - void /* XXX fgmr */ -); - -/* - * nssCKFWMechanism_Destroy - * - */ -NSS_EXTERN CK_RV -nssCKFWMechanism_Destroy -( - NSSCKFWMechanism *fwMechanism -); - -/* - * nssCKFWMechanism_GetMDMechanism - * - */ - -NSS_EXTERN NSSCKMDMechanism * -nssCKFWMechanism_GetMDMechanism -( - NSSCKFWMechanism *fwMechanism -); - -/* - * nssCKFWMechanism_GetParameter - * - * XXX fgmr-- or as an additional parameter to the crypto ops? - */ -NSS_EXTERN NSSItem * -nssCKFWMechanism_GetParameter -( - NSSCKFWMechanism *fwMechanism -); - -/* - * nssCKFWMechanism_GetMinKeySize - * - */ -NSS_EXTERN CK_ULONG -nssCKFWMechanism_GetMinKeySize -( - NSSCKFWMechanism *fwMechanism -); - -/* - * nssCKFWMechanism_GetMaxKeySize - * - */ -NSS_EXTERN CK_ULONG -nssCKFWMechanism_GetMaxKeySize -( - NSSCKFWMechanism *fwMechanism -); - -/* - * nssCKFWMechanism_GetInHardware - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWMechanism_GetInHardware -( - NSSCKFWMechanism *fwMechanism -); - -/* - * NSSCKFWSession - * - * -- create/destroy -- - * nssCKFWSession_Create - * nssCKFWSession_Destroy - * - * -- implement public accessors -- - * nssCKFWSession_GetMDSession - * nssCKFWSession_GetArena - * nssCKFWSession_CallNotification - * nssCKFWSession_IsRWSession - * nssCKFWSession_IsSO - * - * -- private accessors -- - * nssCKFWSession_GetFWSlot - * nssCKFWSession_GetSessionState - * nssCKFWSession_SetFWFindObjects - * nssCKFWSession_GetFWFindObjects - * nssCKFWSession_SetMDSession - * nssCKFWSession_SetHandle - * nssCKFWSession_GetHandle - * nssCKFWSession_RegisterSessionObject - * nssCKFWSession_DeregisterSessionObject - * - * -- module fronts -- - * nssCKFWSession_GetDeviceError - * nssCKFWSession_Login - * nssCKFWSession_Logout - * nssCKFWSession_InitPIN - * nssCKFWSession_SetPIN - * nssCKFWSession_GetOperationStateLen - * nssCKFWSession_GetOperationState - * nssCKFWSession_SetOperationState - * nssCKFWSession_CreateObject - * nssCKFWSession_CopyObject - * nssCKFWSession_FindObjectsInit - * nssCKFWSession_SeedRandom - * nssCKFWSession_GetRandom - */ - -/* - * nssCKFWSession_Create - * - */ -NSS_EXTERN NSSCKFWSession * -nssCKFWSession_Create -( - NSSCKFWToken *fwToken, - CK_BBOOL rw, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_RV *pError -); - -/* - * nssCKFWSession_Destroy - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_Destroy -( - NSSCKFWSession *fwSession, - CK_BBOOL removeFromTokenHash -); - -/* - * nssCKFWSession_GetMDSession - * - */ -NSS_EXTERN NSSCKMDSession * -nssCKFWSession_GetMDSession -( - NSSCKFWSession *fwSession -); - -/* - * nssCKFWSession_GetArena - * - */ -NSS_EXTERN NSSArena * -nssCKFWSession_GetArena -( - NSSCKFWSession *fwSession, - CK_RV *pError -); - -/* - * nssCKFWSession_CallNotification - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_CallNotification -( - NSSCKFWSession *fwSession, - CK_NOTIFICATION event -); - -/* - * nssCKFWSession_IsRWSession - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWSession_IsRWSession -( - NSSCKFWSession *fwSession -); - -/* - * nssCKFWSession_IsSO - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWSession_IsSO -( - NSSCKFWSession *fwSession -); - -/* - * nssCKFWSession_GetFWSlot - * - */ -NSS_EXTERN NSSCKFWSlot * -nssCKFWSession_GetFWSlot -( - NSSCKFWSession *fwSession -); - -/* - * nssCFKWSession_GetSessionState - * - */ -NSS_EXTERN CK_STATE -nssCKFWSession_GetSessionState -( - NSSCKFWSession *fwSession -); - -/* - * nssCKFWSession_SetFWFindObjects - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_SetFWFindObjects -( - NSSCKFWSession *fwSession, - NSSCKFWFindObjects *fwFindObjects -); - -/* - * nssCKFWSession_GetFWFindObjects - * - */ -NSS_EXTERN NSSCKFWFindObjects * -nssCKFWSession_GetFWFindObjects -( - NSSCKFWSession *fwSesssion, - CK_RV *pError -); - -/* - * nssCKFWSession_SetMDSession - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_SetMDSession -( - NSSCKFWSession *fwSession, - NSSCKMDSession *mdSession -); - -/* - * nssCKFWSession_SetHandle - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_SetHandle -( - NSSCKFWSession *fwSession, - CK_SESSION_HANDLE hSession -); - -/* - * nssCKFWSession_GetHandle - * - */ -NSS_EXTERN CK_SESSION_HANDLE -nssCKFWSession_GetHandle -( - NSSCKFWSession *fwSession -); - -/* - * nssCKFWSession_RegisterSessionObject - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_RegisterSessionObject -( - NSSCKFWSession *fwSession, - NSSCKFWObject *fwObject -); - -/* - * nssCKFWSession_DeregisterSessionObject - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_DeregisterSessionObject -( - NSSCKFWSession *fwSession, - NSSCKFWObject *fwObject -); - -/* - * nssCKFWSession_GetDeviceError - * - */ -NSS_EXTERN CK_ULONG -nssCKFWSession_GetDeviceError -( - NSSCKFWSession *fwSession -); - -/* - * nssCKFWSession_Login - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_Login -( - NSSCKFWSession *fwSession, - CK_USER_TYPE userType, - NSSItem *pin -); - -/* - * nssCKFWSession_Logout - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_Logout -( - NSSCKFWSession *fwSession -); - -/* - * nssCKFWSession_InitPIN - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_InitPIN -( - NSSCKFWSession *fwSession, - NSSItem *pin -); - -/* - * nssCKFWSession_SetPIN - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_SetPIN -( - NSSCKFWSession *fwSession, - NSSItem *newPin, - NSSItem *oldPin -); - -/* - * nssCKFWSession_GetOperationStateLen - * - */ -NSS_EXTERN CK_ULONG -nssCKFWSession_GetOperationStateLen -( - NSSCKFWSession *fwSession, - CK_RV *pError -); - -/* - * nssCKFWSession_GetOperationState - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_GetOperationState -( - NSSCKFWSession *fwSession, - NSSItem *buffer -); - -/* - * nssCKFWSession_SetOperationState - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_SetOperationState -( - NSSCKFWSession *fwSession, - NSSItem *state, - NSSCKFWObject *encryptionKey, - NSSCKFWObject *authenticationKey -); - -/* - * nssCKFWSession_CreateObject - * - */ -NSS_EXTERN NSSCKFWObject * -nssCKFWSession_CreateObject -( - NSSCKFWSession *fwSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -); - -/* - * nssCKFWSession_CopyObject - * - */ -NSS_EXTERN NSSCKFWObject * -nssCKFWSession_CopyObject -( - NSSCKFWSession *fwSession, - NSSCKFWObject *object, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -); - -/* - * nssCKFWSession_FindObjectsInit - * - */ -NSS_EXTERN NSSCKFWFindObjects * -nssCKFWSession_FindObjectsInit -( - NSSCKFWSession *fwSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -); - -/* - * nssCKFWSession_SeedRandom - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_SeedRandom -( - NSSCKFWSession *fwSession, - NSSItem *seed -); - -/* - * nssCKFWSession_GetRandom - * - */ -NSS_EXTERN CK_RV -nssCKFWSession_GetRandom -( - NSSCKFWSession *fwSession, - NSSItem *buffer -); - -/* - * NSSCKFWObject - * - * -- create/destroy -- - * nssCKFWObject_Create - * nssCKFWObject_Finalize - * nssCKFWObject_Destroy - * - * -- implement public accessors -- - * nssCKFWObject_GetMDObject - * nssCKFWObject_GetArena - * - * -- private accessors -- - * nssCKFWObject_SetHandle - * nssCKFWObject_GetHandle - * - * -- module fronts -- - * nssCKFWObject_IsTokenObject - * nssCKFWObject_GetAttributeCount - * nssCKFWObject_GetAttributeTypes - * nssCKFWObject_GetAttributeSize - * nssCKFWObject_GetAttribute - * nssCKFWObject_SetAttribute - * nssCKFWObject_GetObjectSize - */ - -/* - * nssCKFWObject_Create - * - */ -NSS_EXTERN NSSCKFWObject * -nssCKFWObject_Create -( - NSSArena *arena, - NSSCKMDObject *mdObject, - NSSCKFWSession *fwSession, - NSSCKFWToken *fwToken, - NSSCKFWInstance *fwInstance, - CK_RV *pError -); - -/* - * nssCKFWObject_Finalize - * - */ -NSS_EXTERN void -nssCKFWObject_Finalize -( - NSSCKFWObject *fwObject -); - -/* - * nssCKFWObject_Destroy - * - */ -NSS_EXTERN void -nssCKFWObject_Destroy -( - NSSCKFWObject *fwObject -); - -/* - * nssCKFWObject_GetMDObject - * - */ -NSS_EXTERN NSSCKMDObject * -nssCKFWObject_GetMDObject -( - NSSCKFWObject *fwObject -); - -/* - * nssCKFWObject_GetArena - * - */ -NSS_EXTERN NSSArena * -nssCKFWObject_GetArena -( - NSSCKFWObject *fwObject, - CK_RV *pError -); - -/* - * nssCKFWObject_SetHandle - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWObject_SetHandle -( - NSSCKFWObject *fwObject, - CK_OBJECT_HANDLE hObject -); - -/* - * nssCKFWObject_GetHandle - * - */ -NSS_IMPLEMENT CK_OBJECT_HANDLE -nssCKFWObject_GetHandle -( - NSSCKFWObject *fwObject -); - -/* - * nssCKFWObject_IsTokenObject - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWObject_IsTokenObject -( - NSSCKFWObject *fwObject -); - -/* - * nssCKFWObject_GetAttributeCount - * - */ -NSS_EXTERN CK_ULONG -nssCKFWObject_GetAttributeCount -( - NSSCKFWObject *fwObject, - CK_RV *pError -); - -/* - * nssCKFWObject_GetAttributeTypes - * - */ -NSS_EXTERN CK_RV -nssCKFWObject_GetAttributeTypes -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -); - -/* - * nssCKFWObject_GetAttributeSize - * - */ -NSS_EXTERN CK_ULONG -nssCKFWObject_GetAttributeSize -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -); - -/* - * nssCKFWObject_GetAttribute - * - * Usual NSS allocation rules: - * If itemOpt is not NULL, it will be returned; otherwise an NSSItem - * will be allocated. If itemOpt is not NULL but itemOpt->data is, - * the buffer will be allocated; otherwise, the buffer will be used. - * Any allocations will come from the optional arena, if one is - * specified. - */ -NSS_EXTERN NSSItem * -nssCKFWObject_GetAttribute -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *itemOpt, - NSSArena *arenaOpt, - CK_RV *pError -); - -/* - * nssCKFWObject_SetAttribute - * - */ -NSS_EXTERN CK_RV -nssCKFWObject_SetAttribute -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *value -); - -/* - * nssCKFWObject_GetObjectSize - * - */ -NSS_EXTERN CK_ULONG -nssCKFWObject_GetObjectSize -( - NSSCKFWObject *fwObject, - CK_RV *pError -); - -/* - * NSSCKFWFindObjects - * - * -- create/destroy -- - * nssCKFWFindObjects_Create - * nssCKFWFindObjects_Destroy - * - * -- implement public accessors -- - * nssCKFWFindObjects_GetMDFindObjects - * - * -- private accessors -- - * - * -- module fronts -- - * nssCKFWFindObjects_Next - */ - -/* - * nssCKFWFindObjects_Create - * - */ -NSS_EXTERN NSSCKFWFindObjects * -nssCKFWFindObjects_Create -( - NSSCKFWSession *fwSession, - NSSCKFWToken *fwToken, - NSSCKFWInstance *fwInstance, - NSSCKMDFindObjects *mdFindObjects1, - NSSCKMDFindObjects *mdFindObjects2, - CK_RV *pError -); - -/* - * nssCKFWFindObjects_Destroy - * - */ -NSS_EXTERN void -nssCKFWFindObjects_Destroy -( - NSSCKFWFindObjects *fwFindObjects -); - -/* - * nssCKFWFindObjects_GetMDFindObjects - * - */ -NSS_EXTERN NSSCKMDFindObjects * -nssCKFWFindObjects_GetMDFindObjects -( - NSSCKFWFindObjects *fwFindObjects -); - -/* - * nssCKFWFindObjects_Next - * - */ -NSS_EXTERN NSSCKFWObject * -nssCKFWFindObjects_Next -( - NSSCKFWFindObjects *fwFindObjects, - NSSArena *arenaOpt, - CK_RV *pError -); - -/* - * NSSCKFWMutex - * - * nssCKFWMutex_Create - * nssCKFWMutex_Destroy - * nssCKFWMutex_Lock - * nssCKFWMutex_Unlock - * - */ - -/* - * nssCKFWMutex_Create - * - */ -NSS_EXTERN NSSCKFWMutex * -nssCKFWMutex_Create -( - CK_C_INITIALIZE_ARGS_PTR pInitArgs, - NSSArena *arena, - CK_RV *pError -); - -/* - * nssCKFWMutex_Destroy - * - */ -NSS_EXTERN CK_RV -nssCKFWMutex_Destroy -( - NSSCKFWMutex *mutex -); - -/* - * nssCKFWMutex_Lock - * - */ -NSS_EXTERN CK_RV -nssCKFWMutex_Lock -( - NSSCKFWMutex *mutex -); - -/* - * nssCKFWMutex_Unlock - * - */ -NSS_EXTERN CK_RV -nssCKFWMutex_Unlock -( - NSSCKFWMutex *mutex -); - -#endif /* CKFW_H */ diff --git a/security/nss/lib/ckfw/ckfwm.h b/security/nss/lib/ckfw/ckfwm.h deleted file mode 100644 index 82fd74830..000000000 --- a/security/nss/lib/ckfw/ckfwm.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef CKFWM_H -#define CKFWM_H - -#ifdef DEBUG -static const char CKFWM_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * ckfwm.h - * - * This file prototypes the module-private calls of the NSS Cryptoki Framework. - */ - -#ifndef NSSBASET_H -#include "nssbaset.h" -#endif /* NSSBASET_H */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -/* - * nssCKFWHash - * - * nssCKFWHash_Create - * nssCKFWHash_Destroy - * nssCKFWHash_Add - * nssCKFWHash_Remove - * nssCKFWHash_Count - * nssCKFWHash_Exists - * nssCKFWHash_Lookup - * nssCKFWHash_Iterate - */ - -/* - * nssCKFWHash_Create - * - */ -NSS_EXTERN nssCKFWHash * -nssCKFWHash_Create -( - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -); - -/* - * nssCKFWHash_Destroy - * - */ -NSS_EXTERN void -nssCKFWHash_Destroy -( - nssCKFWHash *hash -); - -/* - * nssCKFWHash_Add - * - */ -NSS_EXTERN CK_RV -nssCKFWHash_Add -( - nssCKFWHash *hash, - const void *key, - const void *value -); - -/* - * nssCKFWHash_Remove - * - */ -NSS_EXTERN void -nssCKFWHash_Remove -( - nssCKFWHash *hash, - const void *it -); - -/* - * nssCKFWHash_Count - * - */ -NSS_EXTERN CK_ULONG -nssCKFWHash_Count -( - nssCKFWHash *hash -); - -/* - * nssCKFWHash_Exists - * - */ -NSS_EXTERN CK_BBOOL -nssCKFWHash_Exists -( - nssCKFWHash *hash, - const void *it -); - -/* - * nssCKFWHash_Lookup - * - */ -NSS_EXTERN void * -nssCKFWHash_Lookup -( - nssCKFWHash *hash, - const void *it -); - -/* - * nssCKFWHash_Iterate - * - */ -NSS_EXTERN void -nssCKFWHash_Iterate -( - nssCKFWHash *hash, - nssCKFWHashIterator fcn, - void *closure -); - -#endif /* CKFWM_H */ diff --git a/security/nss/lib/ckfw/ckfwtm.h b/security/nss/lib/ckfw/ckfwtm.h deleted file mode 100644 index 0f631f02d..000000000 --- a/security/nss/lib/ckfw/ckfwtm.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef CKFWTM_H -#define CKFWTM_H - -#ifdef DEBUG -static const char CKFWTM_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * ckfwtm.h - * - * This file declares the module-private types of the NSS Cryptoki Framework. - */ - -#ifndef NSSBASET_H -#include "nssbaset.h" -#endif /* NSSBASET_H */ - -struct nssCKFWHashStr; -typedef struct nssCKFWHashStr nssCKFWHash; - -typedef void (PR_CALLBACK *nssCKFWHashIterator)(const void *key, void *value, void *closure); - -#endif /* CKFWTM_H */ diff --git a/security/nss/lib/ckfw/ckmd.h b/security/nss/lib/ckfw/ckmd.h deleted file mode 100644 index 5b7f394f5..000000000 --- a/security/nss/lib/ckfw/ckmd.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef CKMD_H -#define CKMD_H - -#ifdef DEBUG -static const char CKMD_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * ckmd.h - * - */ - -NSS_EXTERN NSSCKMDObject * -nssCKMDSessionObject_Create -( - NSSCKFWToken *fwToken, - NSSArena *arena, - CK_ATTRIBUTE_PTR attributes, - CK_ULONG ulCount, - CK_RV *pError -); - -NSS_EXTERN NSSCKMDFindObjects * -nssCKMDFindSessionObjects_Create -( - NSSCKFWToken *fwToken, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_RV *pError -); - -#endif /* CKMD_H */ diff --git a/security/nss/lib/ckfw/ckt.h b/security/nss/lib/ckfw/ckt.h deleted file mode 100644 index 762a70a0b..000000000 --- a/security/nss/lib/ckfw/ckt.h +++ /dev/null @@ -1,199 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef CKT_H -#define CKT_H - -#ifdef DEBUG -static const char CKT_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * ckt.h - * - * This file contains the NSS-specific type definitions for Cryptoki - * (PKCS#11). - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -/* - * NSSCK_VENDOR_NETSCAPE - * - * Cryptoki reserves the high half of all the number spaces for - * vendor-defined use. I'd like to keep all of our Netscape- - * specific values together, but not in the oh-so-obvious - * 0x80000001, 0x80000002, etc. area. So I've picked an offset, - * and constructed values for the beginnings of our spaces. - * - * Note that some "historical" Netscape values don't fall within - * this range. - */ -#define NSSCK_VENDOR_NETSCAPE 0x4E534350 /* NSCP */ - -/* - * Netscape-defined object classes - * - */ -#define CKO_NETSCAPE (CKO_VENDOR_DEFINED|NSSCK_VENDOR_NETSCAPE) - -#define CKO_NETSCAPE_CRL (CKO_NETSCAPE + 1) -#define CKO_NETSCAPE_SMIME (CKO_NETSCAPE + 2) -#define CKO_NETSCAPE_TRUST (CKO_NETSCAPE + 3) -#define CKO_NETSCAPE_BUILTIN_ROOT_LIST (CKO_NETSCAPE + 4) - -/* - * Netscape-defined key types - * - */ -#define CKK_NETSCAPE (CKK_VENDOR_DEFINED|NSSCK_VENDOR_NETSCAPE) - -#define CKK_NETSCAPE_PKCS8 (CKK_NETSCAPE + 1) -/* - * Netscape-defined certificate types - * - */ -#define CKC_NETSCAPE (CKC_VENDOR_DEFINED|NSSCK_VENDOR_NETSCAPE) - -/* - * Netscape-defined object attributes - * - */ -#define CKA_NETSCAPE (CKA_VENDOR_DEFINED|NSSCK_VENDOR_NETSCAPE) - -#define CKA_NETSCAPE_URL (CKA_NETSCAPE + 1) -#define CKA_NETSCAPE_EMAIL (CKA_NETSCAPE + 2) -#define CKA_NETSCAPE_SMIME_INFO (CKA_NETSCAPE + 3) -#define CKA_NETSCAPE_SMIME_TIMESTAMP (CKA_NETSCAPE + 4) -#define CKA_NETSCAPE_PKCS8_SALT (CKA_NETSCAPE + 5) -#define CKA_NETSCAPE_PASSWORD_CHECK (CKA_NETSCAPE + 6) -#define CKA_NETSCAPE_EXPIRES (CKA_NETSCAPE + 7) - -/* - * Trust attributes: - * - * If trust goes standard, these probably will too. So I'll - * put them all in one place. - */ - -#define CKA_TRUST (CKA_NETSCAPE + 0x2000) - -/* "Usage" key information */ -#define CKA_TRUST_DIGITAL_SIGNATURE (CKA_TRUST + 1) -#define CKA_TRUST_NON_REPUDIATION (CKA_TRUST + 2) -#define CKA_TRUST_KEY_ENCIPHERMENT (CKA_TRUST + 3) -#define CKA_TRUST_DATA_ENCIPHERMENT (CKA_TRUST + 4) -#define CKA_TRUST_KEY_AGREEMENT (CKA_TRUST + 5) -#define CKA_TRUST_KEY_CERT_SIGN (CKA_TRUST + 6) -#define CKA_TRUST_CRL_SIGN (CKA_TRUST + 7) - -/* "Purpose" trust information */ -#define CKA_TRUST_SERVER_AUTH (CKA_TRUST + 8) -#define CKA_TRUST_CLIENT_AUTH (CKA_TRUST + 9) -#define CKA_TRUST_CODE_SIGNING (CKA_TRUST + 10) -#define CKA_TRUST_EMAIL_PROTECTION (CKA_TRUST + 11) -#define CKA_TRUST_IPSEC_END_SYSTEM (CKA_TRUST + 12) -#define CKA_TRUST_IPSEC_TUNNEL (CKA_TRUST + 13) -#define CKA_TRUST_IPSEC_USER (CKA_TRUST + 14) -#define CKA_TRUST_TIME_STAMPING (CKA_TRUST + 15) -#define CKA_CERT_SHA1_HASH (CKA_TRUST + 100) -#define CKA_CERT_MD5_HASH (CKA_TRUST + 101) - -/* Netscape trust stuff */ -/* XXX fgmr new ones here-- step-up, etc. */ - -/* HISTORICAL: define used to pass in the database key for DSA private keys */ -#define CKA_NETSCAPE_DB 0xD5A0DB00L -#define CKA_NETSCAPE_TRUST 0x80000001L - -/* - * Netscape-defined crypto mechanisms - * - */ -#define CKM_NETSCAPE (CKM_VENDOR_DEFINED|NSSCK_VENDOR_NETSCAPE) -/* - * HISTORICAL: - * Do not attempt to use these. They are only used by NETSCAPE's internal - * PKCS #11 interface. Most of these are place holders for other mechanism - * and will change in the future. - */ -#define CKM_NETSCAPE_PBE_KEY_GEN 0x80000001L -#define CKM_NETSCAPE_PBE_SHA1_DES_CBC 0x80000002L -#define CKM_NETSCAPE_PBE_SHA1_TRIPLE_DES_CBC 0x80000003L -#define CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC 0x80000004L -#define CKM_NETSCAPE_PBE_SHA1_128_BIT_RC2_CBC 0x80000005L -#define CKM_NETSCAPE_PBE_SHA1_40_BIT_RC4 0x80000006L -#define CKM_NETSCAPE_PBE_SHA1_128_BIT_RC4 0x80000007L -#define CKM_NETSCAPE_PBE_SHA1_FAULTY_3DES_CBC 0x80000008L -#define CKM_TLS_MASTER_KEY_DERIVE 0x80000371L -#define CKM_TLS_KEY_AND_MAC_DERIVE 0x80000372L - -/* - * Netscape-defined return values - * - */ -#define CKR_NETSCAPE (CKM_VENDOR_DEFINED|NSSCK_VENDOR_NETSCAPE) - -/* - * Trust info - * - * This isn't part of the Cryptoki standard (yet), so I'm putting - * all the definitions here. Some of this would move to nssckt.h - * if trust info were made part of the standard. In view of this - * possibility, I'm putting my (Netscape) values in the netscape - * vendor space, like everything else. - */ - -typedef CK_ULONG CK_TRUST; - -/* The following trust types are defined: */ -#define CKT_VENDOR_DEFINED 0x80000000 - -#define CKT_NETSCAPE (CKT_VENDOR_DEFINED|NSSCK_VENDOR_NETSCAPE) - -/* If trust goes standard, these'll probably drop out of vendor space. */ -#define CKT_NETSCAPE_TRUSTED (CKT_NETSCAPE + 1) -#define CKT_NETSCAPE_TRUSTED_DELEGATOR (CKT_NETSCAPE + 2) -#define CKT_NETSCAPE_UNTRUSTED (CKT_NETSCAPE + 3) - -/* - * These may well remain Netscape-specific; I'm only using them - * to cache resolution data. - */ -#define CKT_NETSCAPE_VALID (CKT_NETSCAPE + 4) -#define CKT_NETSCAPE_VALID_DELEGATOR (CKT_NETSCAPE + 5) - - -#endif /* CKT_H */ diff --git a/security/nss/lib/ckfw/config.mk b/security/nss/lib/ckfw/config.mk deleted file mode 100644 index 521c93d31..000000000 --- a/security/nss/lib/ckfw/config.mk +++ /dev/null @@ -1,54 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -CONFIG_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -ifdef BUILD_IDG -DEFINES += -DNSSDEBUG -endif - -# -# Hack to see if everything still builds -# - - -# -# Override TARGETS variable so that only static libraries -# are specifed as dependencies within rules.mk. -# - -TARGETS = $(LIBRARY) -SHARED_LIBRARY = -IMPORT_LIBRARY = -PROGRAM = - - diff --git a/security/nss/lib/ckfw/dbm/Makefile b/security/nss/lib/ckfw/dbm/Makefile deleted file mode 100644 index 03e1fb4c6..000000000 --- a/security/nss/lib/ckfw/dbm/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -MAKEFILE_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -include manifest.mn -include config.mk -include $(CORE_DEPTH)/coreconf/config.mk -include $(CORE_DEPTH)/coreconf/rules.mk diff --git a/security/nss/lib/ckfw/dbm/anchor.c b/security/nss/lib/ckfw/dbm/anchor.c deleted file mode 100644 index 588fd00e0..000000000 --- a/security/nss/lib/ckfw/dbm/anchor.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * dbm/anchor.c - * - * This file "anchors" the actual cryptoki entry points in this module's - * shared library, which is required for dynamic loading. See the - * comments in nssck.api for more information. - */ - -#include "ckdbm.h" - -#define MODULE_NAME dbm -#define INSTANCE_NAME (NSSCKMDInstance *)&nss_dbm_mdInstance -#include "nssck.api" diff --git a/security/nss/lib/ckfw/dbm/ckdbm.h b/security/nss/lib/ckfw/dbm/ckdbm.h deleted file mode 100644 index 7bab87ec7..000000000 --- a/security/nss/lib/ckfw/dbm/ckdbm.h +++ /dev/null @@ -1,281 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CKDBM_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#ifndef CKDBM_H -#define CKDBM_H - -#include "nssckmdt.h" -#include "nssckfw.h" - -/* - * I'm including this for access to the arena functions. - * Looks like we should publish that API. - */ -#ifndef BASE_H -#include "base.h" -#endif /* BASE_H */ - -/* - * This is where the Netscape extensions live, at least for now. - */ -#ifndef CKT_H -#include "ckt.h" -#endif /* CKT_H */ - -#include "mcom_db.h" - -NSS_EXTERN_DATA NSSCKMDInstance nss_dbm_mdInstance; - -typedef struct nss_dbm_db_struct nss_dbm_db_t; -struct nss_dbm_db_struct { - DB *db; - NSSCKFWMutex *crustylock; -}; - -typedef struct nss_dbm_dbt_struct nss_dbm_dbt_t; -struct nss_dbm_dbt_struct { - DBT dbt; - nss_dbm_db_t *my_db; -}; - -typedef struct nss_dbm_instance_struct nss_dbm_instance_t; -struct nss_dbm_instance_struct { - NSSArena *arena; - CK_ULONG nSlots; - char **filenames; - int *flags; /* e.g. O_RDONLY, O_RDWR */ -}; - -typedef struct nss_dbm_slot_struct nss_dbm_slot_t; -struct nss_dbm_slot_struct { - nss_dbm_instance_t *instance; - char *filename; - int flags; - nss_dbm_db_t *token_db; -}; - -typedef struct nss_dbm_token_struct nss_dbm_token_t; -struct nss_dbm_token_struct { - NSSArena *arena; - nss_dbm_slot_t *slot; - nss_dbm_db_t *session_db; - NSSUTF8 *label; -}; - -struct nss_dbm_dbt_node { - struct nss_dbm_dbt_node *next; - nss_dbm_dbt_t *dbt; -}; - -typedef struct nss_dbm_session_struct nss_dbm_session_t; -struct nss_dbm_session_struct { - NSSArena *arena; - nss_dbm_token_t *token; - CK_ULONG deviceError; - struct nss_dbm_dbt_node *session_objects; - NSSCKFWMutex *list_lock; -}; - -typedef struct nss_dbm_object_struct nss_dbm_object_t; -struct nss_dbm_object_struct { - NSSArena *arena; /* token or session */ - nss_dbm_dbt_t *handle; -}; - -typedef struct nss_dbm_find_struct nss_dbm_find_t; -struct nss_dbm_find_struct { - NSSArena *arena; - struct nss_dbm_dbt_node *found; - NSSCKFWMutex *list_lock; -}; - -NSS_EXTERN NSSCKMDSlot * -nss_dbm_mdSlot_factory -( - nss_dbm_instance_t *instance, - char *filename, - int flags, - CK_RV *pError -); - -NSS_EXTERN NSSCKMDToken * -nss_dbm_mdToken_factory -( - nss_dbm_slot_t *slot, - CK_RV *pError -); - -NSS_EXTERN NSSCKMDSession * -nss_dbm_mdSession_factory -( - nss_dbm_token_t *token, - NSSCKFWSession *fwSession, - NSSCKFWInstance *fwInstance, - CK_BBOOL rw, - CK_RV *pError -); - -NSS_EXTERN NSSCKMDObject * -nss_dbm_mdObject_factory -( - nss_dbm_object_t *object, - CK_RV *pError -); - -NSS_EXTERN NSSCKMDFindObjects * -nss_dbm_mdFindObjects_factory -( - nss_dbm_find_t *find, - CK_RV *pError -); - -NSS_EXTERN nss_dbm_db_t * -nss_dbm_db_open -( - NSSArena *arena, - NSSCKFWInstance *fwInstance, - char *filename, - int flags, - CK_RV *pError -); - -NSS_EXTERN void -nss_dbm_db_close -( - nss_dbm_db_t *db -); - -NSS_EXTERN CK_VERSION -nss_dbm_db_get_format_version -( - nss_dbm_db_t *db -); - -NSS_EXTERN CK_RV -nss_dbm_db_set_label -( - nss_dbm_db_t *db, - NSSUTF8 *label -); - -NSS_EXTERN NSSUTF8 * -nss_dbm_db_get_label -( - nss_dbm_db_t *db, - NSSArena *arena, - CK_RV *pError -); - -NSS_EXTERN CK_RV -nss_dbm_db_delete_object -( - nss_dbm_dbt_t *dbt -); - -NSS_EXTERN nss_dbm_dbt_t * -nss_dbm_db_create_object -( - NSSArena *arena, - nss_dbm_db_t *db, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError, - CK_ULONG *pdbrv -); - -NSS_EXTERN CK_RV -nss_dbm_db_find_objects -( - nss_dbm_find_t *find, - nss_dbm_db_t *db, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_ULONG *pdbrv -); - -NSS_EXTERN CK_BBOOL -nss_dbm_db_object_still_exists -( - nss_dbm_dbt_t *dbt -); - -NSS_EXTERN CK_ULONG -nss_dbm_db_get_object_attribute_count -( - nss_dbm_dbt_t *dbt, - CK_RV *pError, - CK_ULONG *pdbrv -); - -NSS_EXTERN CK_RV -nss_dbm_db_get_object_attribute_types -( - nss_dbm_dbt_t *dbt, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount, - CK_ULONG *pdbrv -); - -NSS_EXTERN CK_ULONG -nss_dbm_db_get_object_attribute_size -( - nss_dbm_dbt_t *dbt, - CK_ATTRIBUTE_TYPE type, - CK_RV *pError, - CK_ULONG *pdbrv -); - -NSS_EXTERN NSSItem * -nss_dbm_db_get_object_attribute -( - nss_dbm_dbt_t *dbt, - NSSArena *arena, - CK_ATTRIBUTE_TYPE type, - CK_RV *pError, - CK_ULONG *pdbrv -); - -NSS_EXTERN CK_RV -nss_dbm_db_set_object_attribute -( - nss_dbm_dbt_t *dbt, - CK_ATTRIBUTE_TYPE type, - NSSItem *value, - CK_ULONG *pdbrv -); - -#endif /* CKDBM_H */ diff --git a/security/nss/lib/ckfw/dbm/config.mk b/security/nss/lib/ckfw/dbm/config.mk deleted file mode 100644 index 80b3135f4..000000000 --- a/security/nss/lib/ckfw/dbm/config.mk +++ /dev/null @@ -1,37 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -CONFIG_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -ifdef BUILD_IDG -DEFINES += -DNSSDEBUG -endif diff --git a/security/nss/lib/ckfw/dbm/db.c b/security/nss/lib/ckfw/dbm/db.c deleted file mode 100644 index 307c7f21d..000000000 --- a/security/nss/lib/ckfw/dbm/db.c +++ /dev/null @@ -1,1065 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "ckdbm.h" - -#define PREFIX_METADATA "0000" -#define PREFIX_OBJECT "0001" -#define PREFIX_INDEX "0002" - -static CK_VERSION nss_dbm_db_format_version = { 1, 0 }; -struct handle { - char prefix[4]; - CK_ULONG id; -}; - -NSS_IMPLEMENT nss_dbm_db_t * -nss_dbm_db_open -( - NSSArena *arena, - NSSCKFWInstance *fwInstance, - char *filename, - int flags, - CK_RV *pError -) -{ - nss_dbm_db_t *rv; - CK_VERSION db_version; - - rv = nss_ZNEW(arena, nss_dbm_db_t); - if( (nss_dbm_db_t *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (nss_dbm_db_t *)NULL; - } - - rv->db = dbopen(filename, flags, 0600, DB_HASH, (const void *)NULL); - if( (DB *)NULL == rv->db ) { - *pError = CKR_TOKEN_NOT_PRESENT; - return (nss_dbm_db_t *)NULL; - } - - rv->crustylock = NSSCKFWInstance_CreateMutex(fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == rv->crustylock ) { - return (nss_dbm_db_t *)NULL; - } - - db_version = nss_dbm_db_get_format_version(rv); - if( db_version.major != nss_dbm_db_format_version.major ) { - nss_dbm_db_close(rv); - *pError = CKR_TOKEN_NOT_RECOGNIZED; - return (nss_dbm_db_t *)NULL; - } - - return rv; -} - -NSS_IMPLEMENT void -nss_dbm_db_close -( - nss_dbm_db_t *db -) -{ - if( (NSSCKFWMutex *)NULL != db->crustylock ) { - (void)NSSCKFWMutex_Destroy(db->crustylock); - } - - if( (DB *)NULL != db->db ) { - (void)db->db->close(db->db); - } - - nss_ZFreeIf(db); -} - -NSS_IMPLEMENT CK_VERSION -nss_dbm_db_get_format_version -( - nss_dbm_db_t *db -) -{ - CK_VERSION rv; - DBT k, v; - int dbrv; - char buffer[64]; - - rv.major = rv.minor = 0; - - k.data = PREFIX_METADATA "FormatVersion"; - k.size = nssUTF8_Size((NSSUTF8 *)k.data, (PRStatus *)NULL); - (void)memset(&v, 0, sizeof(v)); - - /* Locked region */ - { - if( CKR_OK != NSSCKFWMutex_Lock(db->crustylock) ) { - return rv; - } - - dbrv = db->db->get(db->db, &k, &v, 0); - if( dbrv == 0 ) { - CK_ULONG major = 0, minor = 0; - (void)PR_sscanf(v.data, "%ld.%ld", &major, &minor); - rv.major = major; - rv.minor = minor; - } else if( dbrv > 0 ) { - (void)PR_snprintf(buffer, sizeof(buffer), "%ld.%ld", nss_dbm_db_format_version.major, - nss_dbm_db_format_version.minor); - v.data = buffer; - v.size = nssUTF8_Size((NSSUTF8 *)v.data, (PRStatus *)NULL); - dbrv = db->db->put(db->db, &k, &v, 0); - (void)db->db->sync(db->db, 0); - rv = nss_dbm_db_format_version; - } else { - /* No error return.. */ - ; - } - - (void)NSSCKFWMutex_Unlock(db->crustylock); - } - - return rv; -} - -NSS_IMPLEMENT CK_RV -nss_dbm_db_set_label -( - nss_dbm_db_t *db, - NSSUTF8 *label -) -{ - CK_RV rv; - DBT k, v; - int dbrv; - - k.data = PREFIX_METADATA "Label"; - k.size = nssUTF8_Size((NSSUTF8 *)k.data, (PRStatus *)NULL); - v.data = label; - v.size = nssUTF8_Size((NSSUTF8 *)v.data, (PRStatus *)NULL); - - /* Locked region */ - { - if( CKR_OK != NSSCKFWMutex_Lock(db->crustylock) ) { - return rv; - } - - dbrv = db->db->put(db->db, &k, &v, 0); - if( 0 != dbrv ) { - rv = CKR_DEVICE_ERROR; - } - - dbrv = db->db->sync(db->db, 0); - if( 0 != dbrv ) { - rv = CKR_DEVICE_ERROR; - } - - (void)NSSCKFWMutex_Unlock(db->crustylock); - } - - return rv; -} - -NSS_IMPLEMENT NSSUTF8 * -nss_dbm_db_get_label -( - nss_dbm_db_t *db, - NSSArena *arena, - CK_RV *pError -) -{ - NSSUTF8 *rv = (NSSUTF8 *)NULL; - DBT k, v; - int dbrv; - - k.data = PREFIX_METADATA "Label"; - k.size = nssUTF8_Size((NSSUTF8 *)k.data, (PRStatus *)NULL); - - /* Locked region */ - { - if( CKR_OK != NSSCKFWMutex_Lock(db->crustylock) ) { - return rv; - } - - dbrv = db->db->get(db->db, &k, &v, 0); - if( 0 == dbrv ) { - rv = nssUTF8_Duplicate((NSSUTF8 *)v.data, arena); - if( (NSSUTF8 *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - } - } else if( dbrv > 0 ) { - /* Just return null */ - ; - } else { - *pError = CKR_DEVICE_ERROR; - ; - } - - - (void)NSSCKFWMutex_Unlock(db->crustylock); - } - - return rv; -} - -NSS_IMPLEMENT CK_RV -nss_dbm_db_delete_object -( - nss_dbm_dbt_t *dbt -) -{ - CK_RV rv; - int dbrv; - - /* Locked region */ - { - rv = NSSCKFWMutex_Lock(dbt->my_db->crustylock); - if( CKR_OK != rv ) { - return rv; - } - - dbrv = dbt->my_db->db->del(dbt->my_db->db, &dbt->dbt, 0); - if( 0 != dbrv ) { - rv = CKR_DEVICE_ERROR; - goto done; - } - - dbrv = dbt->my_db->db->sync(dbt->my_db->db, 0); - if( 0 != dbrv ) { - rv = CKR_DEVICE_ERROR; - goto done; - } - - done: - (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); - } - - return rv; -} - -static CK_ULONG -nss_dbm_db_new_handle -( - nss_dbm_db_t *db, - DBT *dbt, /* pre-allocated */ - CK_RV *pError -) -{ - CK_ULONG rv; - DBT k, v; - CK_ULONG align = 0, id, myid; - struct handle *hp; - - if( sizeof(struct handle) != dbt->size ) { - return EINVAL; - } - - /* Locked region */ - { - *pError = NSSCKFWMutex_Lock(db->crustylock); - if( CKR_OK != *pError ) { - return EINVAL; - } - - k.data = PREFIX_METADATA "LastID"; - k.size = nssUTF8_Size((NSSUTF8 *)k.data, (PRStatus *)NULL); - (void)memset(&v, 0, sizeof(v)); - - rv = db->db->get(db->db, &k, &v, 0); - if( 0 == rv ) { - (void)memcpy(&align, v.data, sizeof(CK_ULONG)); - id = ntohl(align); - } else if( rv > 0 ) { - id = 0; - } else { - goto done; - } - - myid = id; - id++; - align = htonl(id); - v.data = &align; - v.size = sizeof(CK_ULONG); - - rv = db->db->put(db->db, &k, &v, 0); - if( 0 != rv ) { - goto done; - } - - rv = db->db->sync(db->db, 0); - if( 0 != rv ) { - goto done; - } - - done: - (void)NSSCKFWMutex_Unlock(db->crustylock); - } - - if( 0 != rv ) { - return rv; - } - - hp = (struct handle *)dbt->data; - (void)memcpy(&hp->prefix[0], PREFIX_OBJECT, 4); - hp->id = myid; - - return 0; -} - -/* - * This attribute-type-dependent swapping should probably - * be in the Framework, because it'll be a concern of just - * about every Module. Of course any Framework implementation - * will have to be augmentable or overridable by a Module. - */ - -enum swap_type { type_byte, type_short, type_long, type_opaque }; - -static enum swap_type -nss_dbm_db_swap_type -( - CK_ATTRIBUTE_TYPE type -) -{ - switch( type ) { - case CKA_CLASS: return type_long; - case CKA_TOKEN: return type_byte; - case CKA_PRIVATE: return type_byte; - case CKA_LABEL: return type_opaque; - case CKA_APPLICATION: return type_opaque; - case CKA_VALUE: return type_opaque; - case CKA_CERTIFICATE_TYPE: return type_long; - case CKA_ISSUER: return type_opaque; - case CKA_SERIAL_NUMBER: return type_opaque; - case CKA_KEY_TYPE: return type_long; - case CKA_SUBJECT: return type_opaque; - case CKA_ID: return type_opaque; - case CKA_SENSITIVE: return type_byte; - case CKA_ENCRYPT: return type_byte; - case CKA_DECRYPT: return type_byte; - case CKA_WRAP: return type_byte; - case CKA_UNWRAP: return type_byte; - case CKA_SIGN: return type_byte; - case CKA_SIGN_RECOVER: return type_byte; - case CKA_VERIFY: return type_byte; - case CKA_VERIFY_RECOVER: return type_byte; - case CKA_DERIVE: return type_byte; - case CKA_START_DATE: return type_opaque; - case CKA_END_DATE: return type_opaque; - case CKA_MODULUS: return type_opaque; - case CKA_MODULUS_BITS: return type_long; - case CKA_PUBLIC_EXPONENT: return type_opaque; - case CKA_PRIVATE_EXPONENT: return type_opaque; - case CKA_PRIME_1: return type_opaque; - case CKA_PRIME_2: return type_opaque; - case CKA_EXPONENT_1: return type_opaque; - case CKA_EXPONENT_2: return type_opaque; - case CKA_COEFFICIENT: return type_opaque; - case CKA_PRIME: return type_opaque; - case CKA_SUBPRIME: return type_opaque; - case CKA_BASE: return type_opaque; - case CKA_VALUE_BITS: return type_long; - case CKA_VALUE_LEN: return type_long; - case CKA_EXTRACTABLE: return type_byte; - case CKA_LOCAL: return type_byte; - case CKA_NEVER_EXTRACTABLE: return type_byte; - case CKA_ALWAYS_SENSITIVE: return type_byte; - case CKA_MODIFIABLE: return type_byte; - case CKA_NETSCAPE_URL: return type_opaque; - case CKA_NETSCAPE_EMAIL: return type_opaque; - case CKA_NETSCAPE_SMIME_INFO: return type_opaque; - case CKA_NETSCAPE_SMIME_TIMESTAMP: return type_opaque; - case CKA_NETSCAPE_PKCS8_SALT: return type_opaque; - case CKA_NETSCAPE_PASSWORD_CHECK: return type_opaque; - case CKA_NETSCAPE_EXPIRES: return type_opaque; - case CKA_TRUST_DIGITAL_SIGNATURE: return type_long; - case CKA_TRUST_NON_REPUDIATION: return type_long; - case CKA_TRUST_KEY_ENCIPHERMENT: return type_long; - case CKA_TRUST_DATA_ENCIPHERMENT: return type_long; - case CKA_TRUST_KEY_AGREEMENT: return type_long; - case CKA_TRUST_KEY_CERT_SIGN: return type_long; - case CKA_TRUST_CRL_SIGN: return type_long; - case CKA_TRUST_SERVER_AUTH: return type_long; - case CKA_TRUST_CLIENT_AUTH: return type_long; - case CKA_TRUST_CODE_SIGNING: return type_long; - case CKA_TRUST_EMAIL_PROTECTION: return type_long; - case CKA_TRUST_IPSEC_END_SYSTEM: return type_long; - case CKA_TRUST_IPSEC_TUNNEL: return type_long; - case CKA_TRUST_IPSEC_USER: return type_long; - case CKA_TRUST_TIME_STAMPING: return type_long; - case CKA_NETSCAPE_DB: return type_opaque; - case CKA_NETSCAPE_TRUST: return type_opaque; - default: return type_opaque; - } -} - -static void -nss_dbm_db_swap_copy -( - CK_ATTRIBUTE_TYPE type, - void *dest, - void *src, - CK_ULONG len -) -{ - switch( nss_dbm_db_swap_type(type) ) { - case type_byte: - case type_opaque: - (void)memcpy(dest, src, len); - break; - case type_short: - { - CK_USHORT s, d; - (void)memcpy(&s, src, sizeof(CK_USHORT)); - d = htons(s); - (void)memcpy(dest, &d, sizeof(CK_USHORT)); - break; - } - case type_long: - { - CK_ULONG s, d; - (void)memcpy(&s, src, sizeof(CK_ULONG)); - d = htonl(s); - (void)memcpy(dest, &d, sizeof(CK_ULONG)); - break; - } - } -} - -static CK_RV -nss_dbm_db_wrap_object -( - NSSArena *arena, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - DBT *object -) -{ - CK_ULONG object_size; - CK_ULONG i; - CK_ULONG *pulData; - char *pcData; - CK_ULONG offset; - - object_size = (1 + ulAttributeCount*3) * sizeof(CK_ULONG); - offset = object_size; - for( i = 0; i < ulAttributeCount; i++ ) { - object_size += pTemplate[i].ulValueLen; - } - - object->size = object_size; - object->data = nss_ZAlloc(arena, object_size); - if( (void *)NULL == object->data ) { - return CKR_HOST_MEMORY; - } - - pulData = (CK_ULONG *)object->data; - pcData = (char *)object->data; - - pulData[0] = htonl(ulAttributeCount); - for( i = 0; i < ulAttributeCount; i++ ) { - CK_ULONG len = pTemplate[i].ulValueLen; - pulData[1 + i*3] = htonl(pTemplate[i].type); - pulData[2 + i*3] = htonl(len); - pulData[3 + i*3] = htonl(offset); - nss_dbm_db_swap_copy(pTemplate[i].type, &pcData[offset], pTemplate[i].pValue, len); - offset += len; - } - - return CKR_OK; -} - -static CK_RV -nss_dbm_db_unwrap_object -( - NSSArena *arena, - DBT *object, - CK_ATTRIBUTE_PTR *ppTemplate, - CK_ULONG *pulAttributeCount -) -{ - CK_ULONG *pulData; - char *pcData; - CK_ULONG n, i; - CK_ATTRIBUTE_PTR pTemplate; - - pulData = (CK_ULONG *)object->data; - pcData = (char *)object->data; - - n = ntohl(pulData[0]); - *pulAttributeCount = n; - pTemplate = nss_ZNEWARRAY(arena, CK_ATTRIBUTE, n); - if( (CK_ATTRIBUTE_PTR)NULL == pTemplate ) { - return CKR_HOST_MEMORY; - } - - for( i = 0; i < n; i++ ) { - CK_ULONG len; - CK_ULONG offset; - void *p; - - pTemplate[i].type = ntohl(pulData[1 + i*3]); - len = ntohl(pulData[2 + i*3]); - offset = ntohl(pulData[3 + i*3]); - - p = nss_ZAlloc(arena, len); - if( (void *)NULL == p ) { - return CKR_HOST_MEMORY; - } - - nss_dbm_db_swap_copy(pTemplate[i].type, p, &pcData[offset], len); - pTemplate[i].ulValueLen = len; - pTemplate[i].pValue = p; - } - - *ppTemplate = pTemplate; - return CKR_OK; -} - - -NSS_IMPLEMENT nss_dbm_dbt_t * -nss_dbm_db_create_object -( - NSSArena *arena, - nss_dbm_db_t *db, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError, - CK_ULONG *pdbrv -) -{ - NSSArena *tmparena = (NSSArena *)NULL; - nss_dbm_dbt_t *rv = (nss_dbm_dbt_t *)NULL; - DBT object; - - rv = nss_ZNEW(arena, nss_dbm_dbt_t); - if( (nss_dbm_dbt_t *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (nss_dbm_dbt_t *)NULL; - } - - rv->my_db = db; - rv->dbt.size = sizeof(struct handle); - rv->dbt.data = nss_ZAlloc(arena, rv->dbt.size); - if( (void *)NULL == rv->dbt.data ) { - *pError = CKR_HOST_MEMORY; - return (nss_dbm_dbt_t *)NULL; - } - - *pdbrv = nss_dbm_db_new_handle(db, &rv->dbt, pError); - if( 0 != *pdbrv ) { - return (nss_dbm_dbt_t *)NULL; - } - - tmparena = NSSArena_Create(); - if( (NSSArena *)NULL == tmparena ) { - *pError = CKR_HOST_MEMORY; - return (nss_dbm_dbt_t *)NULL; - } - - *pError = nss_dbm_db_wrap_object(tmparena, pTemplate, ulAttributeCount, &object); - if( CKR_OK != *pError ) { - return (nss_dbm_dbt_t *)NULL; - } - - /* Locked region */ - { - *pError = NSSCKFWMutex_Lock(db->crustylock); - if( CKR_OK != *pError ) { - goto loser; - } - - *pdbrv = db->db->put(db->db, &rv->dbt, &object, 0); - if( 0 != *pdbrv ) { - *pError = CKR_DEVICE_ERROR; - } - - (void)db->db->sync(db->db, 0); - - (void)NSSCKFWMutex_Unlock(db->crustylock); - } - - loser: - if( (NSSArena *)NULL != tmparena ) { - (void)NSSArena_Destroy(tmparena); - } - - return rv; -} - - -NSS_IMPLEMENT CK_RV -nss_dbm_db_find_objects -( - nss_dbm_find_t *find, - nss_dbm_db_t *db, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_ULONG *pdbrv -) -{ - CK_RV rv = CKR_OK; - - if( (nss_dbm_db_t *)NULL != db ) { - DBT k, v; - - rv = NSSCKFWMutex_Lock(db->crustylock); - if( CKR_OK != rv ) { - return rv; - } - - *pdbrv = db->db->seq(db->db, &k, &v, R_FIRST); - while( 0 == *pdbrv ) { - CK_ULONG i, j; - NSSArena *tmparena = (NSSArena *)NULL; - CK_ULONG ulac; - CK_ATTRIBUTE_PTR pt; - - if( (k.size < 4) || (0 != memcmp(k.data, PREFIX_OBJECT, 4)) ) { - goto nomatch; - } - - tmparena = NSSArena_Create(); - - rv = nss_dbm_db_unwrap_object(tmparena, &v, &pt, &ulac); - if( CKR_OK != rv ) { - goto loser; - } - - for( i = 0; i < ulAttributeCount; i++ ) { - for( j = 0; j < ulac; j++ ) { - if( pTemplate[i].type == pt[j].type ) { - if( pTemplate[i].ulValueLen != pt[j].ulValueLen ) { - goto nomatch; - } - if( 0 != memcmp(pTemplate[i].pValue, pt[j].pValue, pt[j].ulValueLen) ) { - goto nomatch; - } - break; - } - } - if( j == ulac ) { - goto nomatch; - } - } - - /* entire template matches */ - { - struct nss_dbm_dbt_node *node; - - node = nss_ZNEW(find->arena, struct nss_dbm_dbt_node); - if( (struct nss_dbm_dbt_node *)NULL == node ) { - rv = CKR_HOST_MEMORY; - goto loser; - } - - node->dbt = nss_ZNEW(find->arena, nss_dbm_dbt_t); - if( (nss_dbm_dbt_t *)NULL == node->dbt ) { - rv = CKR_HOST_MEMORY; - goto loser; - } - - node->dbt->dbt.size = k.size; - node->dbt->dbt.data = nss_ZAlloc(find->arena, k.size); - if( (void *)NULL == node->dbt->dbt.data ) { - rv = CKR_HOST_MEMORY; - goto loser; - } - - (void)memcpy(node->dbt->dbt.data, k.data, k.size); - - node->dbt->my_db = db; - - node->next = find->found; - find->found = node; - } - - nomatch: - if( (NSSArena *)NULL != tmparena ) { - (void)NSSArena_Destroy(tmparena); - } - *pdbrv = db->db->seq(db->db, &k, &v, R_NEXT); - } - - if( *pdbrv < 0 ) { - rv = CKR_DEVICE_ERROR; - goto loser; - } - - rv = CKR_OK; - - loser: - (void)NSSCKFWMutex_Unlock(db->crustylock); - } - - return rv; -} - -NSS_IMPLEMENT CK_BBOOL -nss_dbm_db_object_still_exists -( - nss_dbm_dbt_t *dbt -) -{ - CK_BBOOL rv; - CK_RV ckrv; - int dbrv; - DBT object; - - ckrv = NSSCKFWMutex_Lock(dbt->my_db->crustylock); - if( CKR_OK != ckrv ) { - return CK_FALSE; - } - - dbrv = dbt->my_db->db->get(dbt->my_db->db, &dbt->dbt, &object, 0); - if( 0 == dbrv ) { - rv = CK_TRUE; - } else { - rv = CK_FALSE; - } - - (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); - - return rv; -} - -NSS_IMPLEMENT CK_ULONG -nss_dbm_db_get_object_attribute_count -( - nss_dbm_dbt_t *dbt, - CK_RV *pError, - CK_ULONG *pdbrv -) -{ - CK_ULONG rv = 0; - DBT object; - CK_ULONG *pulData; - - /* Locked region */ - { - *pError = NSSCKFWMutex_Lock(dbt->my_db->crustylock); - if( CKR_OK != *pError ) { - return rv; - } - - *pdbrv = dbt->my_db->db->get(dbt->my_db->db, &dbt->dbt, &object, 0); - if( 0 == *pdbrv ) { - ; - } else if( *pdbrv > 0 ) { - *pError = CKR_OBJECT_HANDLE_INVALID; - goto done; - } else { - *pError = CKR_DEVICE_ERROR; - goto done; - } - - pulData = (CK_ULONG *)object.data; - rv = ntohl(pulData[0]); - - done: - (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); - } - - return rv; -} - -NSS_IMPLEMENT CK_RV -nss_dbm_db_get_object_attribute_types -( - nss_dbm_dbt_t *dbt, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount, - CK_ULONG *pdbrv -) -{ - CK_RV rv = CKR_OK; - DBT object; - CK_ULONG *pulData; - CK_ULONG n, i; - - /* Locked region */ - { - rv = NSSCKFWMutex_Lock(dbt->my_db->crustylock); - if( CKR_OK != rv ) { - return rv; - } - - *pdbrv = dbt->my_db->db->get(dbt->my_db->db, &dbt->dbt, &object, 0); - if( 0 == *pdbrv ) { - ; - } else if( *pdbrv > 0 ) { - rv = CKR_OBJECT_HANDLE_INVALID; - goto done; - } else { - rv = CKR_DEVICE_ERROR; - goto done; - } - - pulData = (CK_ULONG *)object.data; - n = ntohl(pulData[0]); - - if( ulCount < n ) { - rv = CKR_BUFFER_TOO_SMALL; - goto done; - } - - for( i = 0; i < n; i++ ) { - typeArray[i] = ntohl(pulData[1 + i*3]); - } - - done: - (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); - } - - return rv; -} - -NSS_IMPLEMENT CK_ULONG -nss_dbm_db_get_object_attribute_size -( - nss_dbm_dbt_t *dbt, - CK_ATTRIBUTE_TYPE type, - CK_RV *pError, - CK_ULONG *pdbrv -) -{ - CK_ULONG rv = 0; - DBT object; - CK_ULONG *pulData; - CK_ULONG n, i; - - /* Locked region */ - { - *pError = NSSCKFWMutex_Lock(dbt->my_db->crustylock); - if( CKR_OK != *pError ) { - return rv; - } - - *pdbrv = dbt->my_db->db->get(dbt->my_db->db, &dbt->dbt, &object, 0); - if( 0 == *pdbrv ) { - ; - } else if( *pdbrv > 0 ) { - *pError = CKR_OBJECT_HANDLE_INVALID; - goto done; - } else { - *pError = CKR_DEVICE_ERROR; - goto done; - } - - pulData = (CK_ULONG *)object.data; - n = ntohl(pulData[0]); - - for( i = 0; i < n; i++ ) { - if( type == ntohl(pulData[1 + i*3]) ) { - rv = ntohl(pulData[2 + i*3]); - } - } - - if( i == n ) { - *pError = CKR_ATTRIBUTE_TYPE_INVALID; - goto done; - } - - done: - (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); - } - - return rv; -} - -NSS_IMPLEMENT NSSItem * -nss_dbm_db_get_object_attribute -( - nss_dbm_dbt_t *dbt, - NSSArena *arena, - CK_ATTRIBUTE_TYPE type, - CK_RV *pError, - CK_ULONG *pdbrv -) -{ - NSSItem *rv = (NSSItem *)NULL; - DBT object; - CK_ULONG i; - NSSArena *tmp = NSSArena_Create(); - CK_ATTRIBUTE_PTR pTemplate; - CK_ULONG ulAttributeCount; - - /* Locked region */ - { - *pError = NSSCKFWMutex_Lock(dbt->my_db->crustylock); - if( CKR_OK != *pError ) { - goto loser; - } - - *pdbrv = dbt->my_db->db->get(dbt->my_db->db, &dbt->dbt, &object, 0); - if( 0 == *pdbrv ) { - ; - } else if( *pdbrv > 0 ) { - *pError = CKR_OBJECT_HANDLE_INVALID; - goto done; - } else { - *pError = CKR_DEVICE_ERROR; - goto done; - } - - *pError = nss_dbm_db_unwrap_object(tmp, &object, &pTemplate, &ulAttributeCount); - if( CKR_OK != *pError ) { - goto done; - } - - for( i = 0; i < ulAttributeCount; i++ ) { - if( type == pTemplate[i].type ) { - rv = nss_ZNEW(arena, NSSItem); - if( (NSSItem *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - goto done; - } - rv->size = pTemplate[i].ulValueLen; - rv->data = nss_ZAlloc(arena, rv->size); - if( (void *)NULL == rv->data ) { - *pError = CKR_HOST_MEMORY; - goto done; - } - (void)memcpy(rv->data, pTemplate[i].pValue, rv->size); - break; - } - } - if( ulAttributeCount == i ) { - *pError = CKR_ATTRIBUTE_TYPE_INVALID; - goto done; - } - - done: - (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); - } - - loser: - if( (NSSArena *)NULL != tmp ) { - NSSArena_Destroy(tmp); - } - - return rv; -} - -NSS_IMPLEMENT CK_RV -nss_dbm_db_set_object_attribute -( - nss_dbm_dbt_t *dbt, - CK_ATTRIBUTE_TYPE type, - NSSItem *value, - CK_ULONG *pdbrv -) -{ - CK_RV rv = CKR_OK; - DBT object; - CK_ULONG i; - NSSArena *tmp = NSSArena_Create(); - CK_ATTRIBUTE_PTR pTemplate; - CK_ULONG ulAttributeCount; - - /* Locked region */ - { - rv = NSSCKFWMutex_Lock(dbt->my_db->crustylock); - if( CKR_OK != rv ) { - goto loser; - } - - *pdbrv = dbt->my_db->db->get(dbt->my_db->db, &dbt->dbt, &object, 0); - if( 0 == *pdbrv ) { - ; - } else if( *pdbrv > 0 ) { - rv = CKR_OBJECT_HANDLE_INVALID; - goto done; - } else { - rv = CKR_DEVICE_ERROR; - goto done; - } - - rv = nss_dbm_db_unwrap_object(tmp, &object, &pTemplate, &ulAttributeCount); - if( CKR_OK != rv ) { - goto done; - } - - for( i = 0; i < ulAttributeCount; i++ ) { - if( type == pTemplate[i].type ) { - /* Replacing an existing attribute */ - pTemplate[i].ulValueLen = value->size; - pTemplate[i].pValue = value->data; - break; - } - } - - if( i == ulAttributeCount ) { - /* Adding a new attribute */ - CK_ATTRIBUTE_PTR npt = nss_ZNEWARRAY(tmp, CK_ATTRIBUTE, ulAttributeCount+1); - if( (CK_ATTRIBUTE_PTR)NULL == npt ) { - rv = CKR_DEVICE_ERROR; - goto done; - } - - for( i = 0; i < ulAttributeCount; i++ ) { - npt[i] = pTemplate[i]; - } - - npt[ulAttributeCount].type = type; - npt[ulAttributeCount].ulValueLen = value->size; - npt[ulAttributeCount].pValue = value->data; - - pTemplate = npt; - ulAttributeCount++; - } - - rv = nss_dbm_db_wrap_object(tmp, pTemplate, ulAttributeCount, &object); - if( CKR_OK != rv ) { - goto done; - } - - *pdbrv = dbt->my_db->db->put(dbt->my_db->db, &dbt->dbt, &object, 0); - if( 0 != *pdbrv ) { - rv = CKR_DEVICE_ERROR; - goto done; - } - - (void)dbt->my_db->db->sync(dbt->my_db->db, 0); - - done: - (void)NSSCKFWMutex_Unlock(dbt->my_db->crustylock); - } - - loser: - if( (NSSArena *)NULL != tmp ) { - NSSArena_Destroy(tmp); - } - - return rv; -} diff --git a/security/nss/lib/ckfw/dbm/find.c b/security/nss/lib/ckfw/dbm/find.c deleted file mode 100644 index 81fe5d8fb..000000000 --- a/security/nss/lib/ckfw/dbm/find.c +++ /dev/null @@ -1,166 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "ckdbm.h" - -static void -nss_dbm_mdFindObjects_Final -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_find_t *find = (nss_dbm_find_t *)mdFindObjects->etc; - - /* Locks might have system resources associated */ - (void)NSSCKFWMutex_Destroy(find->list_lock); - (void)NSSArena_Destroy(find->arena); -} - - -static NSSCKMDObject * -nss_dbm_mdFindObjects_Next -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -) -{ - nss_dbm_find_t *find = (nss_dbm_find_t *)mdFindObjects->etc; - struct nss_dbm_dbt_node *node; - nss_dbm_object_t *object; - NSSCKMDObject *rv; - - while(1) { - /* Lock */ - { - *pError = NSSCKFWMutex_Lock(find->list_lock); - if( CKR_OK != *pError ) { - return (NSSCKMDObject *)NULL; - } - - node = find->found; - if( (struct nss_dbm_dbt_node *)NULL != node ) { - find->found = node->next; - } - - *pError = NSSCKFWMutex_Unlock(find->list_lock); - if( CKR_OK != *pError ) { - /* screwed now */ - return (NSSCKMDObject *)NULL; - } - } - - if( (struct nss_dbm_dbt_node *)NULL == node ) { - break; - } - - if( nss_dbm_db_object_still_exists(node->dbt) ) { - break; - } - } - - if( (struct nss_dbm_dbt_node *)NULL == node ) { - *pError = CKR_OK; - return (NSSCKMDObject *)NULL; - } - - object = nss_ZNEW(arena, nss_dbm_object_t); - if( (nss_dbm_object_t *)NULL == object ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; - } - - object->arena = arena; - object->handle = nss_ZNEW(arena, nss_dbm_dbt_t); - if( (nss_dbm_dbt_t *)NULL == object->handle ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; - } - - object->handle->my_db = node->dbt->my_db; - object->handle->dbt.size = node->dbt->dbt.size; - object->handle->dbt.data = nss_ZAlloc(arena, node->dbt->dbt.size); - if( (void *)NULL == object->handle->dbt.data ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; - } - - (void)memcpy(object->handle->dbt.data, node->dbt->dbt.data, node->dbt->dbt.size); - - rv = nss_dbm_mdObject_factory(object, pError); - if( (NSSCKMDObject *)NULL == rv ) { - return (NSSCKMDObject *)NULL; - } - - return rv; -} - -NSS_IMPLEMENT NSSCKMDFindObjects * -nss_dbm_mdFindObjects_factory -( - nss_dbm_find_t *find, - CK_RV *pError -) -{ - NSSCKMDFindObjects *rv; - - rv = nss_ZNEW(find->arena, NSSCKMDFindObjects); - if( (NSSCKMDFindObjects *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDFindObjects *)NULL; - } - - rv->etc = (void *)find; - rv->Final = nss_dbm_mdFindObjects_Final; - rv->Next = nss_dbm_mdFindObjects_Next; - - return rv; -} diff --git a/security/nss/lib/ckfw/dbm/instance.c b/security/nss/lib/ckfw/dbm/instance.c deleted file mode 100644 index 70681803f..000000000 --- a/security/nss/lib/ckfw/dbm/instance.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "ckdbm.h" - -static CK_RV -nss_dbm_mdInstance_Initialize -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSUTF8 *configurationData -) -{ - CK_RV rv = CKR_OK; - NSSArena *arena; - nss_dbm_instance_t *instance; - - arena = NSSCKFWInstance_GetArena(fwInstance, &rv); - if( ((NSSArena *)NULL == arena) && (CKR_OK != rv) ) { - return rv; - } - - instance = nss_ZNEW(arena, nss_dbm_instance_t); - if( (nss_dbm_instance_t *)NULL == instance ) { - return CKR_HOST_MEMORY; - } - - instance->arena = arena; - - /* - * This should parse the configuration data for information on - * number and locations of databases, modes (e.g. readonly), etc. - * But for now, we'll have one slot with a creatable read-write - * database called "cert8.db." - */ - - instance->nSlots = 1; - instance->filenames = nss_ZNEWARRAY(arena, char *, instance->nSlots); - if( (char **)NULL == instance->filenames ) { - return CKR_HOST_MEMORY; - } - - instance->flags = nss_ZNEWARRAY(arena, int, instance->nSlots); - if( (int *)NULL == instance->flags ) { - return CKR_HOST_MEMORY; - } - - instance->filenames[0] = "cert8.db"; - instance->flags[0] = O_RDWR|O_CREAT; - - mdInstance->etc = (void *)instance; - return CKR_OK; -} - -/* nss_dbm_mdInstance_Finalize is not required */ - -static CK_ULONG -nss_dbm_mdInstance_GetNSlots -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - nss_dbm_instance_t *instance = (nss_dbm_instance_t *)mdInstance->etc; - return instance->nSlots; -} - -static CK_VERSION -nss_dbm_mdInstance_GetCryptokiVersion -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - static CK_VERSION rv = { 2, 1 }; - return rv; -} - -static NSSUTF8 * -nss_dbm_mdInstance_GetManufacturerID -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return "Netscape Communications Corp."; -} - -static NSSUTF8 * -nss_dbm_mdInstance_GetLibraryDescription -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return "Berkeley Database Module"; -} - -static CK_VERSION -nss_dbm_mdInstance_GetLibraryVersion -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - static CK_VERSION rv = { 1, 0 }; /* My own version number */ - return rv; -} - -static CK_BBOOL -nss_dbm_mdInstance_ModuleHandlesSessionObjects -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return CK_TRUE; -} - -static CK_RV -nss_dbm_mdInstance_GetSlots -( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDSlot *slots[] -) -{ - nss_dbm_instance_t *instance = (nss_dbm_instance_t *)mdInstance->etc; - CK_ULONG i; - CK_RV rv = CKR_OK; - - for( i = 0; i < instance->nSlots; i++ ) { - slots[i] = nss_dbm_mdSlot_factory(instance, instance->filenames[i], - instance->flags[i], &rv); - if( (NSSCKMDSlot *)NULL == slots[i] ) { - return rv; - } - } - - return rv; -} - -/* nss_dbm_mdInstance_WaitForSlotEvent is not relevant */ - -NSS_IMPLEMENT_DATA NSSCKMDInstance -nss_dbm_mdInstance = { - NULL, /* etc; filled in later */ - nss_dbm_mdInstance_Initialize, - NULL, /* nss_dbm_mdInstance_Finalize */ - nss_dbm_mdInstance_GetNSlots, - nss_dbm_mdInstance_GetCryptokiVersion, - nss_dbm_mdInstance_GetManufacturerID, - nss_dbm_mdInstance_GetLibraryDescription, - nss_dbm_mdInstance_GetLibraryVersion, - nss_dbm_mdInstance_ModuleHandlesSessionObjects, - nss_dbm_mdInstance_GetSlots, - NULL, /* nss_dbm_mdInstance_WaitForSlotEvent */ - NULL /* terminator */ -}; diff --git a/security/nss/lib/ckfw/dbm/manifest.mn b/security/nss/lib/ckfw/dbm/manifest.mn deleted file mode 100644 index 193e46bef..000000000 --- a/security/nss/lib/ckfw/dbm/manifest.mn +++ /dev/null @@ -1,54 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -MANIFEST_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -CORE_DEPTH = ../../../.. - -MODULE = security - -CSRCS = \ - anchor.c \ - instance.c \ - slot.c \ - token.c \ - session.c \ - object.c \ - find.c \ - db.c \ - $(NULL) - -REQUIRES = security dbm nspr - -LIBRARY_NAME = nssckdbm - -EXTRA_SHARED_LIBS = -L$(DIST)/lib -lnssckfw -lnssb -ldbm -lnspr4 -lplc4 -lplds4 diff --git a/security/nss/lib/ckfw/dbm/object.c b/security/nss/lib/ckfw/dbm/object.c deleted file mode 100644 index 2bd7578fd..000000000 --- a/security/nss/lib/ckfw/dbm/object.c +++ /dev/null @@ -1,204 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "ckdbm.h" - -static void -nss_dbm_mdObject_Finalize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - ; -} - -static CK_RV -nss_dbm_mdObject_Destroy -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_object_t *object = (nss_dbm_object_t *)mdObject->etc; - return nss_dbm_db_delete_object(object->handle); -} - -static CK_ULONG -nss_dbm_mdObject_GetAttributeCount -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - nss_dbm_object_t *object = (nss_dbm_object_t *)mdObject->etc; - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - return nss_dbm_db_get_object_attribute_count(object->handle, pError, - &session->deviceError); -} - -static CK_RV -nss_dbm_mdObject_GetAttributeTypes -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -) -{ - nss_dbm_object_t *object = (nss_dbm_object_t *)mdObject->etc; - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - return nss_dbm_db_get_object_attribute_types(object->handle, typeArray, - ulCount, &session->deviceError); -} - -static CK_ULONG -nss_dbm_mdObject_GetAttributeSize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ - nss_dbm_object_t *object = (nss_dbm_object_t *)mdObject->etc; - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - return nss_dbm_db_get_object_attribute_size(object->handle, attribute, pError, - &session->deviceError); -} - -static NSSItem * -nss_dbm_mdObject_GetAttribute -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ - nss_dbm_object_t *object = (nss_dbm_object_t *)mdObject->etc; - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - return nss_dbm_db_get_object_attribute(object->handle, object->arena, attribute, - pError, &session->deviceError); -} - -static CK_RV -nss_dbm_mdObject_SetAttribute -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *value -) -{ - nss_dbm_object_t *object = (nss_dbm_object_t *)mdObject->etc; - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - return nss_dbm_db_set_object_attribute(object->handle, attribute, value, - &session->deviceError); -} - -NSS_IMPLEMENT NSSCKMDObject * -nss_dbm_mdObject_factory -( - nss_dbm_object_t *object, - CK_RV *pError -) -{ - NSSCKMDObject *rv; - - rv = nss_ZNEW(object->arena, NSSCKMDObject); - if( (NSSCKMDObject *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; - } - - rv->etc = (void *)object; - rv->Finalize = nss_dbm_mdObject_Finalize; - rv->Destroy = nss_dbm_mdObject_Destroy; - /* IsTokenObject can be deferred */ - rv->GetAttributeCount = nss_dbm_mdObject_GetAttributeCount; - rv->GetAttributeTypes = nss_dbm_mdObject_GetAttributeTypes; - rv->GetAttributeSize = nss_dbm_mdObject_GetAttributeSize; - rv->GetAttribute = nss_dbm_mdObject_GetAttribute; - rv->SetAttribute = nss_dbm_mdObject_SetAttribute; - /* GetObjectSize can be deferred */ - - return rv; -} diff --git a/security/nss/lib/ckfw/dbm/session.c b/security/nss/lib/ckfw/dbm/session.c deleted file mode 100644 index c0969d948..000000000 --- a/security/nss/lib/ckfw/dbm/session.c +++ /dev/null @@ -1,298 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "ckdbm.h" - -static void -nss_dbm_mdSession_Close -( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - - struct nss_dbm_dbt_node *w; - - /* Lock */ - { - if( CKR_OK != NSSCKFWMutex_Lock(session->list_lock) ) { - return; - } - - w = session->session_objects; - session->session_objects = (struct nss_dbm_dbt_node *)NULL; /* sanity */ - - (void)NSSCKFWMutex_Unlock(session->list_lock); - } - - for( ; (struct nss_dbm_dbt_node *)NULL != w; w = w->next ) { - (void)nss_dbm_db_delete_object(w->dbt); - } -} - -static CK_ULONG -nss_dbm_mdSession_GetDeviceError -( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - return session->deviceError; -} - -/* Login isn't needed */ -/* Logout isn't needed */ -/* InitPIN is irrelevant */ -/* SetPIN is irrelevant */ -/* GetOperationStateLen is irrelevant */ -/* GetOperationState is irrelevant */ -/* SetOperationState is irrelevant */ - -static NSSCKMDObject * -nss_dbm_mdSession_CreateObject -( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSArena *handyArenaPointer, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -) -{ - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - CK_ULONG i; - CK_BBOOL isToken = CK_FALSE; /* defaults to false */ - NSSCKMDObject *rv; - struct nss_dbm_dbt_node *node = (struct nss_dbm_dbt_node *)NULL; - nss_dbm_object_t *object; - nss_dbm_db_t *which_db; - - /* This framework should really pass this to me */ - for( i = 0; i < ulAttributeCount; i++ ) { - if( CKA_TOKEN == pTemplate[i].type ) { - isToken = *(CK_BBOOL *)pTemplate[i].pValue; - break; - } - } - - object = nss_ZNEW(handyArenaPointer, nss_dbm_object_t); - if( (nss_dbm_object_t *)NULL == object ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; - } - - object->arena = handyArenaPointer; - which_db = isToken ? token->slot->token_db : token->session_db; - - /* Do this before the actual database call; it's easier to recover from */ - rv = nss_dbm_mdObject_factory(object, pError); - if( (NSSCKMDObject *)NULL == rv ) { - return (NSSCKMDObject *)NULL; - } - - if( CK_FALSE == isToken ) { - node = nss_ZNEW(session->arena, struct nss_dbm_dbt_node); - if( (struct nss_dbm_dbt_node *)NULL == node ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; - } - } - - object->handle = nss_dbm_db_create_object(handyArenaPointer, which_db, - pTemplate, ulAttributeCount, - pError, &session->deviceError); - if( (nss_dbm_dbt_t *)NULL == object->handle ) { - return (NSSCKMDObject *)NULL; - } - - if( CK_FALSE == isToken ) { - node->dbt = object->handle; - /* Lock */ - { - *pError = NSSCKFWMutex_Lock(session->list_lock); - if( CKR_OK != *pError ) { - (void)nss_dbm_db_delete_object(object->handle); - return (NSSCKMDObject *)NULL; - } - - node->next = session->session_objects; - session->session_objects = node; - - *pError = NSSCKFWMutex_Unlock(session->list_lock); - } - } - - return rv; -} - -/* CopyObject isn't needed; the framework will use CreateObject */ - -static NSSCKMDFindObjects * -nss_dbm_mdSession_FindObjectsInit -( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -) -{ - nss_dbm_session_t *session = (nss_dbm_session_t *)mdSession->etc; - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - NSSArena *arena; - nss_dbm_find_t *find; - NSSCKMDFindObjects *rv; - - arena = NSSArena_Create(); - if( (NSSArena *)NULL == arena ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - find = nss_ZNEW(arena, nss_dbm_find_t); - if( (nss_dbm_find_t *)NULL == find ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - find->arena = arena; - find->list_lock = NSSCKFWInstance_CreateMutex(fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == find->list_lock ) { - goto loser; - } - - *pError = nss_dbm_db_find_objects(find, token->slot->token_db, pTemplate, - ulAttributeCount, &session->deviceError); - if( CKR_OK != *pError ) { - goto loser; - } - - *pError = nss_dbm_db_find_objects(find, token->session_db, pTemplate, - ulAttributeCount, &session->deviceError); - if( CKR_OK != *pError ) { - goto loser; - } - - rv = nss_dbm_mdFindObjects_factory(find, pError); - if( (NSSCKMDFindObjects *)NULL == rv ) { - goto loser; - } - - return rv; - - loser: - if( (NSSArena *)NULL != arena ) { - (void)NSSArena_Destroy(arena); - } - - return (NSSCKMDFindObjects *)NULL; -} - -/* SeedRandom is irrelevant */ -/* GetRandom is irrelevant */ - -NSS_IMPLEMENT NSSCKMDSession * -nss_dbm_mdSession_factory -( - nss_dbm_token_t *token, - NSSCKFWSession *fwSession, - NSSCKFWInstance *fwInstance, - CK_BBOOL rw, - CK_RV *pError -) -{ - NSSArena *arena; - nss_dbm_session_t *session; - NSSCKMDSession *rv; - - arena = NSSCKFWSession_GetArena(fwSession, pError); - - session = nss_ZNEW(arena, nss_dbm_session_t); - if( (nss_dbm_session_t *)NULL == session ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDSession *)NULL; - } - - rv = nss_ZNEW(arena, NSSCKMDSession); - if( (NSSCKMDSession *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDSession *)NULL; - } - - session->arena = arena; - session->token = token; - session->list_lock = NSSCKFWInstance_CreateMutex(fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == session->list_lock ) { - return (NSSCKMDSession *)NULL; - } - - rv->etc = (void *)session; - rv->Close = nss_dbm_mdSession_Close; - rv->GetDeviceError = nss_dbm_mdSession_GetDeviceError; - /* Login isn't needed */ - /* Logout isn't needed */ - /* InitPIN is irrelevant */ - /* SetPIN is irrelevant */ - /* GetOperationStateLen is irrelevant */ - /* GetOperationState is irrelevant */ - /* SetOperationState is irrelevant */ - rv->CreateObject = nss_dbm_mdSession_CreateObject; - /* CopyObject isn't needed; the framework will use CreateObject */ - rv->FindObjectsInit = nss_dbm_mdSession_FindObjectsInit; - rv->null = NULL; - - return rv; -} diff --git a/security/nss/lib/ckfw/dbm/slot.c b/security/nss/lib/ckfw/dbm/slot.c deleted file mode 100644 index 40898897a..000000000 --- a/security/nss/lib/ckfw/dbm/slot.c +++ /dev/null @@ -1,214 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "ckdbm.h" - -static CK_RV -nss_dbm_mdSlot_Initialize -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_slot_t *slot = (nss_dbm_slot_t *)mdSlot->etc; - nss_dbm_instance_t *instance = (nss_dbm_instance_t *)mdInstance->etc; - CK_RV rv = CKR_OK; - - slot->token_db = nss_dbm_db_open(instance->arena, fwInstance, slot->filename, - slot->flags, &rv); - if( (nss_dbm_db_t *)NULL == slot->token_db ) { - if( CKR_TOKEN_NOT_PRESENT == rv ) { - /* This is not an error-- just means "the token isn't there" */ - rv = CKR_OK; - } - } - - return rv; -} - -static void -nss_dbm_mdSlot_Destroy -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_slot_t *slot = (nss_dbm_slot_t *)mdSlot->etc; - - if( (nss_dbm_db_t *)NULL != slot->token_db ) { - nss_dbm_db_close(slot->token_db); - slot->token_db = (nss_dbm_db_t *)NULL; - } -} - -static NSSUTF8 * -nss_dbm_mdSlot_GetSlotDescription -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return "Database"; -} - -static NSSUTF8 * -nss_dbm_mdSlot_GetManufacturerID -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return "Berkeley"; -} - -static CK_BBOOL -nss_dbm_mdSlot_GetTokenPresent -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_slot_t *slot = (nss_dbm_slot_t *)mdSlot->etc; - - if( (nss_dbm_db_t *)NULL == slot->token_db ) { - return CK_FALSE; - } else { - return CK_TRUE; - } -} - -static CK_BBOOL -nss_dbm_mdSlot_GetRemovableDevice -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - /* - * Well, this supports "tokens" (databases) that aren't there, so in - * that sense they're removable. It'd be nice to handle databases - * that suddenly disappear (NFS-mounted home directories and network - * errors, for instance) but that's a harder problem. We'll say - * we support removable devices, badly. - */ - - return CK_TRUE; -} - -/* nss_dbm_mdSlot_GetHardwareSlot defaults to CK_FALSE */ -/* - * nss_dbm_mdSlot_GetHardwareVersion - * nss_dbm_mdSlot_GetFirmwareVersion - * - * These are kinda fuzzy concepts here. I suppose we could return the - * Berkeley DB version for one of them, if we had an actual number we - * were confident in. But mcom's "dbm" has been hacked enough that I - * don't really know from what "real" version it stems.. - */ - -static NSSCKMDToken * -nss_dbm_mdSlot_GetToken -( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - nss_dbm_slot_t *slot = (nss_dbm_slot_t *)mdSlot->etc; - return nss_dbm_mdToken_factory(slot, pError); -} - -NSS_IMPLEMENT NSSCKMDSlot * -nss_dbm_mdSlot_factory -( - nss_dbm_instance_t *instance, - char *filename, - int flags, - CK_RV *pError -) -{ - nss_dbm_slot_t *slot; - NSSCKMDSlot *rv; - - slot = nss_ZNEW(instance->arena, nss_dbm_slot_t); - if( (nss_dbm_slot_t *)NULL == slot ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDSlot *)NULL; - } - - slot->instance = instance; - slot->filename = filename; - slot->flags = flags; - slot->token_db = (nss_dbm_db_t *)NULL; - - rv = nss_ZNEW(instance->arena, NSSCKMDSlot); - if( (NSSCKMDSlot *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDSlot *)NULL; - } - - rv->etc = (void *)slot; - rv->Initialize = nss_dbm_mdSlot_Initialize; - rv->Destroy = nss_dbm_mdSlot_Destroy; - rv->GetSlotDescription = nss_dbm_mdSlot_GetSlotDescription; - rv->GetManufacturerID = nss_dbm_mdSlot_GetManufacturerID; - rv->GetTokenPresent = nss_dbm_mdSlot_GetTokenPresent; - rv->GetRemovableDevice = nss_dbm_mdSlot_GetRemovableDevice; - /* GetHardwareSlot */ - /* GetHardwareVersion */ - /* GetFirmwareVersion */ - rv->GetToken = nss_dbm_mdSlot_GetToken; - rv->null = (void *)NULL; - - return rv; -} diff --git a/security/nss/lib/ckfw/dbm/token.c b/security/nss/lib/ckfw/dbm/token.c deleted file mode 100644 index 7c7fbf9e5..000000000 --- a/security/nss/lib/ckfw/dbm/token.c +++ /dev/null @@ -1,315 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "ckdbm.h" - -static CK_RV -nss_dbm_mdToken_Setup -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - CK_RV rv = CKR_OK; - - token->arena = NSSCKFWToken_GetArena(fwToken, &rv); - token->session_db = nss_dbm_db_open(token->arena, fwInstance, (char *)NULL, - O_RDWR|O_CREAT, &rv); - if( (nss_dbm_db_t *)NULL == token->session_db ) { - return rv; - } - - /* Add a label record if there isn't one? */ - - return CKR_OK; -} - -static void -nss_dbm_mdToken_Invalidate -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - - if( (nss_dbm_db_t *)NULL != token->session_db ) { - nss_dbm_db_close(token->session_db); - token->session_db = (nss_dbm_db_t *)NULL; - } -} - -static CK_RV -nss_dbm_mdToken_InitToken -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *pin, - NSSUTF8 *label -) -{ - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - nss_dbm_instance_t *instance = (nss_dbm_instance_t *)mdInstance->etc; - CK_RV rv; - - /* Wipe the session object data */ - - if( (nss_dbm_db_t *)NULL != token->session_db ) { - nss_dbm_db_close(token->session_db); - } - - token->session_db = nss_dbm_db_open(token->arena, fwInstance, (char *)NULL, - O_RDWR|O_CREAT, &rv); - if( (nss_dbm_db_t *)NULL == token->session_db ) { - return rv; - } - - /* Wipe the token object data */ - - if( token->slot->flags & O_RDWR ) { - if( (nss_dbm_db_t *)NULL != token->slot->token_db ) { - nss_dbm_db_close(token->slot->token_db); - } - - token->slot->token_db = nss_dbm_db_open(instance->arena, fwInstance, - token->slot->filename, - token->slot->flags | O_CREAT | O_TRUNC, - &rv); - if( (nss_dbm_db_t *)NULL == token->slot->token_db ) { - return rv; - } - - /* PIN is irrelevant */ - - rv = nss_dbm_db_set_label(token->slot->token_db, label); - if( CKR_OK != rv ) { - return rv; - } - } - - return CKR_OK; -} - -static NSSUTF8 * -nss_dbm_mdToken_GetLabel -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - - if( (NSSUTF8 *)NULL == token->label ) { - token->label = nss_dbm_db_get_label(token->slot->token_db, token->arena, pError); - } - - /* If no label has been set, return *something* */ - if( (NSSUTF8 *)NULL == token->label ) { - return token->slot->filename; - } - - return token->label; -} - -static NSSUTF8 * -nss_dbm_mdToken_GetManufacturerID -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return "mozilla.org NSS"; -} - -static NSSUTF8 * -nss_dbm_mdToken_GetModel -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - return "dbm"; -} - -/* GetSerialNumber is irrelevant */ -/* GetHasRNG defaults to CK_FALSE */ - -static CK_BBOOL -nss_dbm_mdToken_GetIsWriteProtected -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - - if( token->slot->flags & O_RDWR ) { - return CK_FALSE; - } else { - return CK_TRUE; - } -} - -/* GetLoginRequired defaults to CK_FALSE */ -/* GetUserPinInitialized defaults to CK_FALSE */ -/* GetRestoreKeyNotNeeded is irrelevant */ -/* GetHasClockOnToken defaults to CK_FALSE */ -/* GetHasProtectedAuthenticationPath defaults to CK_FALSE */ -/* GetSupportsDualCryptoOperations is irrelevant */ - -static CK_ULONG -nss_dbm_mdToken_effectively_infinite -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - return CK_EFFECTIVELY_INFINITE; -} - -static CK_VERSION -nss_dbm_mdToken_GetHardwareVersion -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - return nss_dbm_db_get_format_version(token->slot->token_db); -} - -/* GetFirmwareVersion is irrelevant */ -/* GetUTCTime is irrelevant */ - -static NSSCKMDSession * -nss_dbm_mdToken_OpenSession -( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKFWSession *fwSession, - CK_BBOOL rw, - CK_RV *pError -) -{ - nss_dbm_token_t *token = (nss_dbm_token_t *)mdToken->etc; - return nss_dbm_mdSession_factory(token, fwSession, fwInstance, rw, pError); -} - -/* GetMechanismCount defaults to zero */ -/* GetMechanismTypes is irrelevant */ -/* GetMechanism is irrelevant */ - -NSS_IMPLEMENT NSSCKMDToken * -nss_dbm_mdToken_factory -( - nss_dbm_slot_t *slot, - CK_RV *pError -) -{ - nss_dbm_token_t *token; - NSSCKMDToken *rv; - - token = nss_ZNEW(slot->instance->arena, nss_dbm_token_t); - if( (nss_dbm_token_t *)NULL == token ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDToken *)NULL; - } - - rv = nss_ZNEW(slot->instance->arena, NSSCKMDToken); - if( (NSSCKMDToken *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDToken *)NULL; - } - - token->slot = slot; - - rv->etc = (void *)token; - rv->Setup = nss_dbm_mdToken_Setup; - rv->Invalidate = nss_dbm_mdToken_Invalidate; - rv->InitToken = nss_dbm_mdToken_InitToken; - rv->GetLabel = nss_dbm_mdToken_GetLabel; - rv->GetManufacturerID = nss_dbm_mdToken_GetManufacturerID; - rv->GetModel = nss_dbm_mdToken_GetModel; - /* GetSerialNumber is irrelevant */ - /* GetHasRNG defaults to CK_FALSE */ - rv->GetIsWriteProtected = nss_dbm_mdToken_GetIsWriteProtected; - /* GetLoginRequired defaults to CK_FALSE */ - /* GetUserPinInitialized defaults to CK_FALSE */ - /* GetRestoreKeyNotNeeded is irrelevant */ - /* GetHasClockOnToken defaults to CK_FALSE */ - /* GetHasProtectedAuthenticationPath defaults to CK_FALSE */ - /* GetSupportsDualCryptoOperations is irrelevant */ - rv->GetMaxSessionCount = nss_dbm_mdToken_effectively_infinite; - rv->GetMaxRwSessionCount = nss_dbm_mdToken_effectively_infinite; - /* GetMaxPinLen is irrelevant */ - /* GetMinPinLen is irrelevant */ - /* GetTotalPublicMemory defaults to CK_UNAVAILABLE_INFORMATION */ - /* GetFreePublicMemory defaults to CK_UNAVAILABLE_INFORMATION */ - /* GetTotalPrivateMemory defaults to CK_UNAVAILABLE_INFORMATION */ - /* GetFreePrivateMemory defaults to CK_UNAVAILABLE_INFORMATION */ - rv->GetHardwareVersion = nss_dbm_mdToken_GetHardwareVersion; - /* GetFirmwareVersion is irrelevant */ - /* GetUTCTime is irrelevant */ - rv->OpenSession = nss_dbm_mdToken_OpenSession; - rv->null = NULL; - - return rv; -} diff --git a/security/nss/lib/ckfw/find.c b/security/nss/lib/ckfw/find.c deleted file mode 100644 index 434e0a162..000000000 --- a/security/nss/lib/ckfw/find.c +++ /dev/null @@ -1,408 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * find.c - * - * This file implements the nssCKFWFindObjects type and methods. - */ - -#ifndef CK_H -#include "ck.h" -#endif /* CK_H */ - -/* - * NSSCKFWFindObjects - * - * -- create/destroy -- - * nssCKFWFindObjects_Create - * nssCKFWFindObjects_Destroy - * - * -- public accessors -- - * NSSCKFWFindObjects_GetMDFindObjects - * - * -- implement public accessors -- - * nssCKFWFindObjects_GetMDFindObjects - * - * -- private accessors -- - * - * -- module fronts -- - * nssCKFWFindObjects_Next - */ - -struct NSSCKFWFindObjectsStr { - NSSCKFWMutex *mutex; /* merely to serialise the MDObject calls */ - NSSCKMDFindObjects *mdfo1; - NSSCKMDFindObjects *mdfo2; - NSSCKFWSession *fwSession; - NSSCKMDSession *mdSession; - NSSCKFWToken *fwToken; - NSSCKMDToken *mdToken; - NSSCKFWInstance *fwInstance; - NSSCKMDInstance *mdInstance; - - NSSCKMDFindObjects *mdFindObjects; /* varies */ -}; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do these routines as no-ops. - */ - -static CK_RV -findObjects_add_pointer -( - const NSSCKFWFindObjects *fwFindObjects -) -{ - return CKR_OK; -} - -static CK_RV -findObjects_remove_pointer -( - const NSSCKFWFindObjects *fwFindObjects -) -{ - return CKR_OK; -} - -NSS_IMPLEMENT CK_RV -nssCKFWFindObjects_verifyPointer -( - const NSSCKFWFindObjects *fwFindObjects -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -/* - * nssCKFWFindObjects_Create - * - */ -NSS_EXTERN NSSCKFWFindObjects * -nssCKFWFindObjects_Create -( - NSSCKFWSession *fwSession, - NSSCKFWToken *fwToken, - NSSCKFWInstance *fwInstance, - NSSCKMDFindObjects *mdFindObjects1, - NSSCKMDFindObjects *mdFindObjects2, - CK_RV *pError -) -{ - NSSCKFWFindObjects *fwFindObjects; - NSSArena *arena; - NSSCKMDSession *mdSession; - NSSCKMDToken *mdToken; - NSSCKMDInstance *mdInstance; - - mdSession = nssCKFWSession_GetMDSession(fwSession); - mdToken = nssCKFWToken_GetMDToken(fwToken); - mdInstance = nssCKFWInstance_GetMDInstance(fwInstance); - - arena = nssCKFWSession_GetArena(fwSession, pError); - if( (NSSArena *)NULL == arena ) { - goto loser; - } - - fwFindObjects = nss_ZNEW(arena, NSSCKFWFindObjects); - if( (NSSCKFWFindObjects *)NULL == fwFindObjects ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - fwFindObjects->mdfo1 = mdFindObjects1; - fwFindObjects->mdfo2 = mdFindObjects2; - fwFindObjects->fwSession = fwSession; - fwFindObjects->mdSession = mdSession; - fwFindObjects->fwToken = fwToken; - fwFindObjects->mdToken = mdToken; - fwFindObjects->fwInstance = fwInstance; - fwFindObjects->mdInstance = mdInstance; - - fwFindObjects->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == fwFindObjects->mutex ) { - goto loser; - } - -#ifdef DEBUG - *pError = findObjects_add_pointer(fwFindObjects); - if( CKR_OK != *pError ) { - goto loser; - } -#endif /* DEBUG */ - - return fwFindObjects; - - loser: - nss_ZFreeIf(fwFindObjects); - - if( (NSSCKMDFindObjects *)NULL != mdFindObjects1 ) { - if( (void *)NULL != (void *)mdFindObjects1->Final ) { - fwFindObjects->mdFindObjects = mdFindObjects1; - mdFindObjects1->Final(mdFindObjects1, fwFindObjects, mdSession, - fwSession, mdToken, fwToken, mdInstance, fwInstance); - } - } - - if( (NSSCKMDFindObjects *)NULL != mdFindObjects2 ) { - if( (void *)NULL != (void *)mdFindObjects2->Final ) { - fwFindObjects->mdFindObjects = mdFindObjects2; - mdFindObjects2->Final(mdFindObjects2, fwFindObjects, mdSession, - fwSession, mdToken, fwToken, mdInstance, fwInstance); - } - } - - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - - return (NSSCKFWFindObjects *)NULL; -} - - -/* - * nssCKFWFindObjects_Destroy - * - */ -NSS_EXTERN void -nssCKFWFindObjects_Destroy -( - NSSCKFWFindObjects *fwFindObjects -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWFindObjects_verifyPointer(fwFindObjects) ) { - return; - } -#endif /* NSSDEBUG */ - - (void)nssCKFWMutex_Destroy(fwFindObjects->mutex); - - if( (NSSCKMDFindObjects *)NULL != fwFindObjects->mdfo1 ) { - if( (void *)NULL != (void *)fwFindObjects->mdfo1->Final ) { - fwFindObjects->mdFindObjects = fwFindObjects->mdfo1; - fwFindObjects->mdfo1->Final(fwFindObjects->mdfo1, fwFindObjects, - fwFindObjects->mdSession, fwFindObjects->fwSession, - fwFindObjects->mdToken, fwFindObjects->fwToken, - fwFindObjects->mdInstance, fwFindObjects->fwInstance); - } - } - - if( (NSSCKMDFindObjects *)NULL != fwFindObjects->mdfo2 ) { - if( (void *)NULL != (void *)fwFindObjects->mdfo2->Final ) { - fwFindObjects->mdFindObjects = fwFindObjects->mdfo2; - fwFindObjects->mdfo2->Final(fwFindObjects->mdfo2, fwFindObjects, - fwFindObjects->mdSession, fwFindObjects->fwSession, - fwFindObjects->mdToken, fwFindObjects->fwToken, - fwFindObjects->mdInstance, fwFindObjects->fwInstance); - } - } - - nss_ZFreeIf(fwFindObjects); - -#ifdef DEBUG - (void)findObjects_remove_pointer(fwFindObjects); -#endif /* DEBUG */ - - return; -} - -/* - * nssCKFWFindObjects_GetMDFindObjects - * - */ -NSS_EXTERN NSSCKMDFindObjects * -nssCKFWFindObjects_GetMDFindObjects -( - NSSCKFWFindObjects *fwFindObjects -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWFindObjects_verifyPointer(fwFindObjects) ) { - return (NSSCKMDFindObjects *)NULL; - } -#endif /* NSSDEBUG */ - - return fwFindObjects->mdFindObjects; -} - -/* - * nssCKFWFindObjects_Next - * - */ -NSS_EXTERN NSSCKFWObject * -nssCKFWFindObjects_Next -( - NSSCKFWFindObjects *fwFindObjects, - NSSArena *arenaOpt, - CK_RV *pError -) -{ - NSSCKMDObject *mdObject; - NSSCKFWObject *fwObject = (NSSCKFWObject *)NULL; - NSSArena *objArena; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWObject *)NULL; - } - - *pError = nssCKFWFindObjects_verifyPointer(fwFindObjects); - if( CKR_OK != *pError ) { - return (NSSCKFWObject *)NULL; - } -#endif /* NSSDEBUG */ - - *pError = nssCKFWMutex_Lock(fwFindObjects->mutex); - if( CKR_OK != *pError ) { - return (NSSCKFWObject *)NULL; - } - - if( (NSSCKMDFindObjects *)NULL != fwFindObjects->mdfo1 ) { - if( (void *)NULL != (void *)fwFindObjects->mdfo1->Next ) { - fwFindObjects->mdFindObjects = fwFindObjects->mdfo1; - mdObject = fwFindObjects->mdfo1->Next(fwFindObjects->mdfo1, - fwFindObjects, fwFindObjects->mdSession, fwFindObjects->fwSession, - fwFindObjects->mdToken, fwFindObjects->fwToken, - fwFindObjects->mdInstance, fwFindObjects->fwInstance, - arenaOpt, pError); - if( (NSSCKMDObject *)NULL == mdObject ) { - if( CKR_OK != *pError ) { - goto done; - } - - /* All done. */ - fwFindObjects->mdfo1->Final(fwFindObjects->mdfo1, fwFindObjects, - fwFindObjects->mdSession, fwFindObjects->fwSession, - fwFindObjects->mdToken, fwFindObjects->fwToken, - fwFindObjects->mdInstance, fwFindObjects->fwInstance); - fwFindObjects->mdfo1 = (NSSCKMDFindObjects *)NULL; - } else { - goto wrap; - } - } - } - - if( (NSSCKMDFindObjects *)NULL != fwFindObjects->mdfo2 ) { - if( (void *)NULL != (void *)fwFindObjects->mdfo2->Next ) { - fwFindObjects->mdFindObjects = fwFindObjects->mdfo2; - mdObject = fwFindObjects->mdfo2->Next(fwFindObjects->mdfo2, - fwFindObjects, fwFindObjects->mdSession, fwFindObjects->fwSession, - fwFindObjects->mdToken, fwFindObjects->fwToken, - fwFindObjects->mdInstance, fwFindObjects->fwInstance, - arenaOpt, pError); - if( (NSSCKMDObject *)NULL == mdObject ) { - if( CKR_OK != *pError ) { - goto done; - } - - /* All done. */ - fwFindObjects->mdfo2->Final(fwFindObjects->mdfo2, fwFindObjects, - fwFindObjects->mdSession, fwFindObjects->fwSession, - fwFindObjects->mdToken, fwFindObjects->fwToken, - fwFindObjects->mdInstance, fwFindObjects->fwInstance); - fwFindObjects->mdfo2 = (NSSCKMDFindObjects *)NULL; - } else { - goto wrap; - } - } - } - - /* No more objects */ - *pError = CKR_OK; - goto done; - - wrap: - /* - * This is less than ideal-- we should determine if it's a token - * object or a session object, and use the appropriate arena. - * But that duplicates logic in nssCKFWObject_IsTokenObject. - * Worry about that later. For now, be conservative, and use - * the token arena. - */ - objArena = nssCKFWToken_GetArena(fwFindObjects->fwToken, pError); - if( (NSSArena *)NULL == objArena ) { - if( CKR_OK == *pError ) { - *pError = CKR_HOST_MEMORY; - } - goto done; - } - - fwObject = nssCKFWObject_Create(objArena, mdObject, - fwFindObjects->fwSession, fwFindObjects->fwToken, - fwFindObjects->fwInstance, pError); - if( (NSSCKFWObject *)NULL == fwObject ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - } - - done: - (void)nssCKFWMutex_Unlock(fwFindObjects->mutex); - return fwObject; -} - -/* - * NSSCKFWFindObjects_GetMDFindObjects - * - */ - -NSS_EXTERN NSSCKMDFindObjects * -NSSCKFWFindObjects_GetMDFindObjects -( - NSSCKFWFindObjects *fwFindObjects -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWFindObjects_verifyPointer(fwFindObjects) ) { - return (NSSCKMDFindObjects *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWFindObjects_GetMDFindObjects(fwFindObjects); -} diff --git a/security/nss/lib/ckfw/hash.c b/security/nss/lib/ckfw/hash.c deleted file mode 100644 index f9790493b..000000000 --- a/security/nss/lib/ckfw/hash.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * hash.c - * - * This is merely a couple wrappers around NSPR's PLHashTable, using - * the identity hash and arena-aware allocators. The reason I did - * this is that hash tables are used in a few places throughout the - * NSS Cryptoki Framework in a fairly stereotyped way, and this allows - * me to pull the commonalities into one place. Should we ever want - * to change the implementation, it's all right here. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * nssCKFWHash - * - * nssCKFWHash_Create - * nssCKFWHash_Destroy - * nssCKFWHash_Add - * nssCKFWHash_Remove - * nssCKFWHash_Count - * nssCKFWHash_Exists - * nssCKFWHash_Lookup - * nssCKFWHash_Iterate - */ - -struct nssCKFWHashStr { - NSSCKFWMutex *mutex; - - /* - * The invariant that mutex protects is: - * The count accurately reflects the hashtable state. - */ - - PLHashTable *plHashTable; - CK_ULONG count; -}; - -static PLHashNumber -nss_ckfw_identity_hash -( - const void *key -) -{ - PRUint32 i = (PRUint32)key; - PR_ASSERT(sizeof(PLHashNumber) == sizeof(PRUint32)); - return (PLHashNumber)i; -} - -/* - * nssCKFWHash_Create - * - */ -NSS_IMPLEMENT nssCKFWHash * -nssCKFWHash_Create -( - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -) -{ - nssCKFWHash *rv; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (nssCKFWHash *)NULL; - } - - if( PR_SUCCESS != nssArena_verifyPointer(arena) ) { - *pError = CKR_ARGUMENTS_BAD; - return (nssCKFWHash *)NULL; - } -#endif /* NSSDEBUG */ - - rv = nss_ZNEW(arena, nssCKFWHash); - if( (nssCKFWHash *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - return (nssCKFWHash *)NULL; - } - - rv->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == rv->mutex ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (nssCKFWHash *)NULL; - } - - rv->plHashTable = PL_NewHashTable(0, nss_ckfw_identity_hash, - PL_CompareValues, PL_CompareValues, &nssArenaHashAllocOps, arena); - if( (PLHashTable *)NULL == rv->plHashTable ) { - (void)nssCKFWMutex_Destroy(rv->mutex); - (void)nss_ZFreeIf(rv); - *pError = CKR_HOST_MEMORY; - return (nssCKFWHash *)NULL; - } - - rv->count = 0; - - return rv; -} - -/* - * nssCKFWHash_Destroy - * - */ -NSS_IMPLEMENT void -nssCKFWHash_Destroy -( - nssCKFWHash *hash -) -{ - (void)nssCKFWMutex_Destroy(hash->mutex); - PL_HashTableDestroy(hash->plHashTable); - (void)nss_ZFreeIf(hash); -} - -/* - * nssCKFWHash_Add - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWHash_Add -( - nssCKFWHash *hash, - const void *key, - const void *value -) -{ - CK_RV error = CKR_OK; - PLHashEntry *he; - - error = nssCKFWMutex_Lock(hash->mutex); - if( CKR_OK != error ) { - return error; - } - - he = PL_HashTableAdd(hash->plHashTable, key, (void *)value); - if( (PLHashEntry *)NULL == he ) { - error = CKR_HOST_MEMORY; - } else { - hash->count++; - } - - (void)nssCKFWMutex_Unlock(hash->mutex); - - return error; -} - -/* - * nssCKFWHash_Remove - * - */ -NSS_IMPLEMENT void -nssCKFWHash_Remove -( - nssCKFWHash *hash, - const void *it -) -{ - PRBool found; - - if( CKR_OK != nssCKFWMutex_Lock(hash->mutex) ) { - return; - } - - found = PL_HashTableRemove(hash->plHashTable, it); - if( found ) { - hash->count--; - } - - (void)nssCKFWMutex_Unlock(hash->mutex); - return; -} - -/* - * nssCKFWHash_Count - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWHash_Count -( - nssCKFWHash *hash -) -{ - CK_ULONG count; - - if( CKR_OK != nssCKFWMutex_Lock(hash->mutex) ) { - return (CK_ULONG)0; - } - - count = hash->count; - - (void)nssCKFWMutex_Unlock(hash->mutex); - - return count; -} - -/* - * nssCKFWHash_Exists - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWHash_Exists -( - nssCKFWHash *hash, - const void *it -) -{ - void *value; - - if( CKR_OK != nssCKFWMutex_Lock(hash->mutex) ) { - return CK_FALSE; - } - - value = PL_HashTableLookup(hash->plHashTable, it); - - (void)nssCKFWMutex_Unlock(hash->mutex); - - if( (void *)NULL == value ) { - return CK_FALSE; - } else { - return CK_TRUE; - } -} - -/* - * nssCKFWHash_Lookup - * - */ -NSS_IMPLEMENT void * -nssCKFWHash_Lookup -( - nssCKFWHash *hash, - const void *it -) -{ - void *rv; - - if( CKR_OK != nssCKFWMutex_Lock(hash->mutex) ) { - return (void *)NULL; - } - - rv = PL_HashTableLookup(hash->plHashTable, it); - - (void)nssCKFWMutex_Unlock(hash->mutex); - - return rv; -} - -struct arg_str { - nssCKFWHashIterator fcn; - void *closure; -}; - -static PRIntn -nss_ckfwhash_enumerator -( - PLHashEntry *he, - PRIntn index, - void *arg -) -{ - struct arg_str *as = (struct arg_str *)arg; - as->fcn(he->key, he->value, as->closure); - return HT_ENUMERATE_NEXT; -} - -/* - * nssCKFWHash_Iterate - * - * NOTE that the iteration function will be called with the hashtable locked. - */ -NSS_IMPLEMENT void -nssCKFWHash_Iterate -( - nssCKFWHash *hash, - nssCKFWHashIterator fcn, - void *closure -) -{ - struct arg_str as; - as.fcn = fcn; - as.closure = closure; - - if( CKR_OK != nssCKFWMutex_Lock(hash->mutex) ) { - return; - } - - PL_HashTableEnumerateEntries(hash->plHashTable, nss_ckfwhash_enumerator, &as); - - (void)nssCKFWMutex_Unlock(hash->mutex); - - return; -} diff --git a/security/nss/lib/ckfw/instance.c b/security/nss/lib/ckfw/instance.c deleted file mode 100644 index 4d5769258..000000000 --- a/security/nss/lib/ckfw/instance.c +++ /dev/null @@ -1,1310 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * instance.c - * - * This file implements the NSSCKFWInstance type and methods. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWInstance - * - * -- create/destroy -- - * nssCKFWInstance_Create - * nssCKFWInstance_Destroy - * - * -- public accessors -- - * NSSCKFWInstance_GetMDInstance - * NSSCKFWInstance_GetArena - * NSSCKFWInstance_MayCreatePthreads - * NSSCKFWInstance_CreateMutex - * NSSCKFWInstance_GetConfigurationData - * - * -- implement public accessors -- - * nssCKFWInstance_GetMDInstance - * nssCKFWInstance_GetArena - * nssCKFWInstance_MayCreatePthreads - * nssCKFWInstance_CreateMutex - * nssCKFWInstance_GetConfigurationData - * - * -- private accessors -- - * nssCKFWInstance_CreateSessionHandle - * nssCKFWInstance_ResolveSessionHandle - * nssCKFWInstance_DestroySessionHandle - * nssCKFWInstance_FindSessionHandle - * nssCKFWInstance_CreateObjectHandle - * nssCKFWInstance_ResolveObjectHandle - * nssCKFWInstance_DestroyObjectHandle - * - * -- module fronts -- - * nssCKFWInstance_GetNSlots - * nssCKFWInstance_GetCryptokiVersion - * nssCKFWInstance_GetManufacturerID - * nssCKFWInstance_GetFlags - * nssCKFWInstance_GetLibraryDescription - * nssCKFWInstance_GetLibraryVersion - * nssCKFWInstance_GetModuleHandlesSessionObjects - * nssCKFWInstance_GetSlots - * nssCKFWInstance_WaitForSlotEvent - * - * -- debugging versions only -- - * nssCKFWInstance_verifyPointer - */ - -struct NSSCKFWInstanceStr { - NSSCKFWMutex *mutex; - NSSArena *arena; - NSSCKMDInstance *mdInstance; - CK_C_INITIALIZE_ARGS_PTR pInitArgs; - CK_BBOOL mayCreatePthreads; - NSSUTF8 *configurationData; - CK_ULONG nSlots; - NSSCKFWSlot **fwSlotList; - NSSCKMDSlot **mdSlotList; - CK_BBOOL moduleHandlesSessionObjects; - - /* - * Everything above is set at creation time, and then not modified. - * The invariants the mutex protects are: - * - * 1) Each of the cached descriptions (versions, etc.) are in an - * internally consistant state. - * - * 2) The session handle hashes and count are consistant - * - * 3) The object handle hashes and count are consistant. - * - * I could use multiple locks, but let's wait to see if that's - * really necessary. - * - * Note that the calls accessing the cached descriptions will - * call the NSSCKMDInstance methods with the mutex locked. Those - * methods may then call the public NSSCKFWInstance routines. - * Those public routines only access the constant data above, so - * there's no problem. But be careful if you add to this object; - * mutexes are in general not reentrant, so don't create deadlock - * situations. - */ - - CK_VERSION cryptokiVersion; - NSSUTF8 *manufacturerID; - NSSUTF8 *libraryDescription; - CK_VERSION libraryVersion; - - CK_ULONG lastSessionHandle; - nssCKFWHash *sessionHandleHash; - - CK_ULONG lastObjectHandle; - nssCKFWHash *objectHandleHash; -}; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -instance_add_pointer -( - const NSSCKFWInstance *fwInstance -) -{ - return CKR_OK; -} - -static CK_RV -instance_remove_pointer -( - const NSSCKFWInstance *fwInstance -) -{ - return CKR_OK; -} - -NSS_IMPLEMENT CK_RV -nssCKFWInstance_verifyPointer -( - const NSSCKFWInstance *fwInstance -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -/* - * nssCKFWInstance_Create - * - */ -NSS_IMPLEMENT NSSCKFWInstance * -nssCKFWInstance_Create -( - CK_C_INITIALIZE_ARGS_PTR pInitArgs, - NSSCKMDInstance *mdInstance, - CK_RV *pError -) -{ - NSSCKFWInstance *fwInstance; - NSSArena *arena = (NSSArena *)NULL; - CK_ULONG i; - CK_BBOOL called_Initialize = CK_FALSE; - -#ifdef NSSDEBUG - if( (CK_RV)NULL == pError ) { - return (NSSCKFWInstance *)NULL; - } - - if( (NSSCKMDInstance *)NULL == mdInstance ) { - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKFWInstance *)NULL; - } -#endif /* NSSDEBUG */ - - arena = NSSArena_Create(); - if( (NSSArena *)NULL == arena ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKFWInstance *)NULL; - } - - fwInstance = nss_ZNEW(arena, NSSCKFWInstance); - if( (NSSCKFWInstance *)NULL == fwInstance ) { - goto nomem; - } - - fwInstance->arena = arena; - fwInstance->mdInstance = mdInstance; - fwInstance->pInitArgs = pInitArgs; - - if( (CK_C_INITIALIZE_ARGS_PTR)NULL != pInitArgs ) { - if( pInitArgs->flags & CKF_LIBRARY_CANT_CREATE_OS_THREADS ) { - fwInstance->mayCreatePthreads = CK_FALSE; - } else { - fwInstance->mayCreatePthreads = CK_TRUE; - } - fwInstance->configurationData = (NSSUTF8 *)(pInitArgs->pReserved); - } else { - fwInstance->mayCreatePthreads = CK_TRUE; - } - - fwInstance->mutex = nssCKFWMutex_Create(pInitArgs, arena, pError); - if( (NSSCKFWMutex *)NULL == fwInstance->mutex ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - - if( (void *)NULL != (void *)mdInstance->Initialize ) { - *pError = mdInstance->Initialize(mdInstance, fwInstance, fwInstance->configurationData); - if( CKR_OK != *pError ) { - goto loser; - } - - called_Initialize = CK_TRUE; - } - - if( (void *)NULL != (void *)mdInstance->ModuleHandlesSessionObjects ) { - fwInstance->moduleHandlesSessionObjects = - mdInstance->ModuleHandlesSessionObjects(mdInstance, fwInstance); - } else { - fwInstance->moduleHandlesSessionObjects = CK_FALSE; - } - - if( (void *)NULL == (void *)mdInstance->GetNSlots ) { - /* That routine is required */ - *pError = CKR_GENERAL_ERROR; - goto loser; - } - - fwInstance->nSlots = mdInstance->GetNSlots(mdInstance, fwInstance, pError); - if( (CK_ULONG)0 == fwInstance->nSlots ) { - if( CKR_OK == *pError ) { - /* Zero is not a legitimate answer */ - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - - fwInstance->fwSlotList = nss_ZNEWARRAY(arena, NSSCKFWSlot *, fwInstance->nSlots); - if( (NSSCKFWSlot **)NULL == fwInstance->fwSlotList ) { - goto nomem; - } - - fwInstance->mdSlotList = nss_ZNEWARRAY(arena, NSSCKMDSlot *, fwInstance->nSlots); - if( (NSSCKMDSlot **)NULL == fwInstance->mdSlotList ) { - goto nomem; - } - - fwInstance->sessionHandleHash = nssCKFWHash_Create(fwInstance, - fwInstance->arena, pError); - if( (nssCKFWHash *)NULL == fwInstance->sessionHandleHash ) { - goto loser; - } - - fwInstance->objectHandleHash = nssCKFWHash_Create(fwInstance, - fwInstance->arena, pError); - if( (nssCKFWHash *)NULL == fwInstance->objectHandleHash ) { - goto loser; - } - - if( (void *)NULL == (void *)mdInstance->GetSlots ) { - /* That routine is required */ - *pError = CKR_GENERAL_ERROR; - goto loser; - } - - *pError = mdInstance->GetSlots(mdInstance, fwInstance, fwInstance->mdSlotList); - if( CKR_OK != *pError ) { - goto loser; - } - - for( i = 0; i < fwInstance->nSlots; i++ ) { - NSSCKMDSlot *mdSlot = fwInstance->mdSlotList[i]; - - if( (NSSCKMDSlot *)NULL == mdSlot ) { - *pError = CKR_GENERAL_ERROR; - goto loser; - } - - fwInstance->fwSlotList[i] = nssCKFWSlot_Create(fwInstance, mdSlot, i, pError); - if( CKR_OK != *pError ) { - CK_ULONG j; - - for( j = 0; j < i; j++ ) { - (void)nssCKFWSlot_Destroy(fwInstance->fwSlotList[j]); - } - - for( j = i; j < fwInstance->nSlots; j++ ) { - NSSCKMDSlot *mds = fwInstance->mdSlotList[j]; - if( (void *)NULL != (void *)mds->Destroy ) { - mds->Destroy(mds, (NSSCKFWSlot *)NULL, mdInstance, fwInstance); - } - } - - goto loser; - } - } - -#ifdef DEBUG - *pError = instance_add_pointer(fwInstance); - if( CKR_OK != *pError ) { - for( i = 0; i < fwInstance->nSlots; i++ ) { - (void)nssCKFWSlot_Destroy(fwInstance->fwSlotList[i]); - } - - goto loser; - } -#endif /* DEBUG */ - - *pError = CKR_OK; - return fwInstance; - - nomem: - *pError = CKR_HOST_MEMORY; - /*FALLTHROUGH*/ - loser: - - if( CK_TRUE == called_Initialize ) { - if( (void *)NULL != (void *)mdInstance->Finalize ) { - mdInstance->Finalize(mdInstance, fwInstance); - } - } - - (void)NSSArena_Destroy(arena); - return (NSSCKFWInstance *)NULL; -} - -/* - * nssCKFWInstance_Destroy - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWInstance_Destroy -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - CK_RV error = CKR_OK; -#endif /* NSSDEBUG */ - CK_ULONG i; - -#ifdef NSSDEBUG - error = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - nssCKFWMutex_Destroy(fwInstance->mutex); - - for( i = 0; i < fwInstance->nSlots; i++ ) { - (void)nssCKFWSlot_Destroy(fwInstance->fwSlotList[i]); - } - - if( (void *)NULL != (void *)fwInstance->mdInstance->Finalize ) { - fwInstance->mdInstance->Finalize(fwInstance->mdInstance, fwInstance); - } - -#ifdef DEBUG - (void)instance_remove_pointer(fwInstance); -#endif /* DEBUG */ - - (void)NSSArena_Destroy(fwInstance->arena); - return CKR_OK; -} - -/* - * nssCKFWInstance_GetMDInstance - * - */ -NSS_IMPLEMENT NSSCKMDInstance * -nssCKFWInstance_GetMDInstance -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (NSSCKMDInstance *)NULL; - } -#endif /* NSSDEBUG */ - - return fwInstance->mdInstance; -} - -/* - * nssCKFWInstance_GetArena - * - */ -NSS_IMPLEMENT NSSArena * -nssCKFWInstance_GetArena -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (NSSArena *)NULL; - } -#endif /* NSSDEBUG */ - - *pError = CKR_OK; - return fwInstance->arena; -} - -/* - * nssCKFWInstance_MayCreatePthreads - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWInstance_MayCreatePthreads -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - return fwInstance->mayCreatePthreads; -} - -/* - * nssCKFWInstance_CreateMutex - * - */ -NSS_IMPLEMENT NSSCKFWMutex * -nssCKFWInstance_CreateMutex -( - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -) -{ - NSSCKFWMutex *mutex; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWMutex *)NULL; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (NSSCKFWMutex *)NULL; - } -#endif /* NSSDEBUG */ - - if( (NSSArena *)NULL == arena ) { - arena = fwInstance->arena; - } - - mutex = nssCKFWMutex_Create(fwInstance->pInitArgs, arena, pError); - if( (NSSCKFWMutex *)NULL == mutex ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - - return (NSSCKFWMutex *)NULL; - } - - return mutex; -} - -/* - * nssCKFWInstance_GetConfigurationData - * - */ -NSS_IMPLEMENT NSSUTF8 * -nssCKFWInstance_GetConfigurationData -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (NSSUTF8 *)NULL; - } -#endif /* NSSDEBUG */ - - return fwInstance->configurationData; -} - -/* - * nssCKFWInstance_CreateSessionHandle - * - */ -NSS_IMPLEMENT CK_SESSION_HANDLE -nssCKFWInstance_CreateSessionHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWSession *fwSession, - CK_RV *pError -) -{ - CK_SESSION_HANDLE hSession; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_SESSION_HANDLE)0; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (CK_SESSION_HANDLE)0; - } -#endif /* NSSDEBUG */ - - *pError = nssCKFWMutex_Lock(fwInstance->mutex); - if( CKR_OK != *pError ) { - return (CK_SESSION_HANDLE)0; - } - - hSession = ++(fwInstance->lastSessionHandle); - - /* Alan would say I should unlock for this call. */ - - *pError = nssCKFWSession_SetHandle(fwSession, hSession); - if( CKR_OK != *pError ) { - goto done; - } - - *pError = nssCKFWHash_Add(fwInstance->sessionHandleHash, - (const void *)hSession, (const void *)fwSession); - if( CKR_OK != *pError ) { - hSession = (CK_SESSION_HANDLE)0; - goto done; - } - - done: - nssCKFWMutex_Unlock(fwInstance->mutex); - return hSession; -} - -/* - * nssCKFWInstance_ResolveSessionHandle - * - */ -NSS_IMPLEMENT NSSCKFWSession * -nssCKFWInstance_ResolveSessionHandle -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -) -{ - NSSCKFWSession *fwSession; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (NSSCKFWSession *)NULL; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwInstance->mutex) ) { - return (NSSCKFWSession *)NULL; - } - - fwSession = (NSSCKFWSession *)nssCKFWHash_Lookup( - fwInstance->sessionHandleHash, (const void *)hSession); - - /* Assert(hSession == nssCKFWSession_GetHandle(fwSession)) */ - - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - - return fwSession; -} - -/* - * nssCKFWInstance_DestroySessionHandle - * - */ -NSS_IMPLEMENT void -nssCKFWInstance_DestroySessionHandle -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -) -{ - NSSCKFWSession *fwSession; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwInstance->mutex) ) { - return; - } - - fwSession = (NSSCKFWSession *)nssCKFWHash_Lookup( - fwInstance->sessionHandleHash, (const void *)hSession); - - nssCKFWHash_Remove(fwInstance->sessionHandleHash, (const void *)hSession); - nssCKFWSession_SetHandle(fwSession, (CK_SESSION_HANDLE)0); - - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - - return; -} - -/* - * nssCKFWInstance_FindSessionHandle - * - */ -NSS_IMPLEMENT CK_SESSION_HANDLE -nssCKFWInstance_FindSessionHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWSession *fwSession -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (CK_SESSION_HANDLE)0; - } - - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return (CK_SESSION_HANDLE)0; - } -#endif /* NSSDEBUG */ - - return nssCKFWSession_GetHandle(fwSession); - /* look it up and assert? */ -} - -/* - * nssCKFWInstance_CreateObjectHandle - * - */ -NSS_IMPLEMENT CK_OBJECT_HANDLE -nssCKFWInstance_CreateObjectHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWObject *fwObject, - CK_RV *pError -) -{ - CK_OBJECT_HANDLE hObject; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_OBJECT_HANDLE)0; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (CK_OBJECT_HANDLE)0; - } -#endif /* NSSDEBUG */ - - *pError = nssCKFWMutex_Lock(fwInstance->mutex); - if( CKR_OK != *pError ) { - return (CK_OBJECT_HANDLE)0; - } - - hObject = ++(fwInstance->lastObjectHandle); - - *pError = nssCKFWObject_SetHandle(fwObject, hObject); - if( CKR_OK != *pError ) { - hObject = (CK_OBJECT_HANDLE)0; - goto done; - } - - *pError = nssCKFWHash_Add(fwInstance->objectHandleHash, - (const void *)hObject, (const void *)fwObject); - if( CKR_OK != *pError ) { - hObject = (CK_OBJECT_HANDLE)0; - goto done; - } - - done: - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return hObject; -} - -/* - * nssCKFWInstance_ResolveObjectHandle - * - */ -NSS_IMPLEMENT NSSCKFWObject * -nssCKFWInstance_ResolveObjectHandle -( - NSSCKFWInstance *fwInstance, - CK_OBJECT_HANDLE hObject -) -{ - NSSCKFWObject *fwObject; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (NSSCKFWObject *)NULL; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwInstance->mutex) ) { - return (NSSCKFWObject *)NULL; - } - - fwObject = (NSSCKFWObject *)nssCKFWHash_Lookup( - fwInstance->objectHandleHash, (const void *)hObject); - - /* Assert(hObject == nssCKFWObject_GetHandle(fwObject)) */ - - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return fwObject; -} - -/* - * nssCKFWInstance_ReassignObjectHandle - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWInstance_ReassignObjectHandle -( - NSSCKFWInstance *fwInstance, - CK_OBJECT_HANDLE hObject, - NSSCKFWObject *fwObject -) -{ - CK_RV error = CKR_OK; - NSSCKFWObject *oldObject; - -#ifdef NSSDEBUG - error = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwInstance->mutex); - if( CKR_OK != error ) { - return error; - } - - oldObject = (NSSCKFWObject *)nssCKFWHash_Lookup( - fwInstance->objectHandleHash, (const void *)hObject); - /* Assert(hObject == nssCKFWObject_GetHandle(oldObject) */ - (void)nssCKFWObject_SetHandle(oldObject, (CK_SESSION_HANDLE)0); - nssCKFWHash_Remove(fwInstance->objectHandleHash, (const void *)hObject); - - error = nssCKFWObject_SetHandle(fwObject, hObject); - if( CKR_OK != error ) { - goto done; - } - error = nssCKFWHash_Add(fwInstance->objectHandleHash, - (const void *)hObject, (const void *)fwObject); - - done: - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return error; -} - -/* - * nssCKFWInstance_DestroyObjectHandle - * - */ -NSS_IMPLEMENT void -nssCKFWInstance_DestroyObjectHandle -( - NSSCKFWInstance *fwInstance, - CK_OBJECT_HANDLE hObject -) -{ - NSSCKFWObject *fwObject; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwInstance->mutex) ) { - return; - } - - fwObject = (NSSCKFWObject *)nssCKFWHash_Lookup( - fwInstance->objectHandleHash, (const void *)hObject); - /* Assert(hObject = nssCKFWObject_GetHandle(fwObject)) */ - nssCKFWHash_Remove(fwInstance->objectHandleHash, (const void *)hObject); - (void)nssCKFWObject_SetHandle(fwObject, (CK_SESSION_HANDLE)0); - - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return; -} - -/* - * nssCKFWInstance_FindObjectHandle - * - */ -NSS_IMPLEMENT CK_OBJECT_HANDLE -nssCKFWInstance_FindObjectHandle -( - NSSCKFWInstance *fwInstance, - NSSCKFWObject *fwObject -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (CK_OBJECT_HANDLE)0; - } - - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return (CK_OBJECT_HANDLE)0; - } -#endif /* NSSDEBUG */ - - return nssCKFWObject_GetHandle(fwObject); -} - -/* - * nssCKFWInstance_GetNSlots - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWInstance_GetNSlots -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - *pError = CKR_OK; - return fwInstance->nSlots; -} - -/* - * nssCKFWInstance_GetCryptokiVersion - * - */ -NSS_IMPLEMENT CK_VERSION -nssCKFWInstance_GetCryptokiVersion -( - NSSCKFWInstance *fwInstance -) -{ - CK_VERSION rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - rv.major = rv.minor = 0; - return rv; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwInstance->mutex) ) { - rv.major = rv.minor = 0; - return rv; - } - - if( (0 != fwInstance->cryptokiVersion.major) || - (0 != fwInstance->cryptokiVersion.minor) ) { - rv = fwInstance->cryptokiVersion; - goto done; - } - - if( (void *)NULL != (void *)fwInstance->mdInstance->GetCryptokiVersion ) { - fwInstance->cryptokiVersion = fwInstance->mdInstance->GetCryptokiVersion( - fwInstance->mdInstance, fwInstance); - } else { - fwInstance->cryptokiVersion.major = 2; - fwInstance->cryptokiVersion.minor = 1; - } - - rv = fwInstance->cryptokiVersion; - - done: - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return rv; -} - -/* - * nssCKFWInstance_GetManufacturerID - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWInstance_GetManufacturerID -( - NSSCKFWInstance *fwInstance, - CK_CHAR manufacturerID[32] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == manufacturerID ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwInstance->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwInstance->manufacturerID ) { - if( (void *)NULL != (void *)fwInstance->mdInstance->GetManufacturerID ) { - fwInstance->manufacturerID = fwInstance->mdInstance->GetManufacturerID( - fwInstance->mdInstance, fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwInstance->manufacturerID) && (CKR_OK != error) ) { - goto done; - } - } else { - fwInstance->manufacturerID = (NSSUTF8 *) ""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwInstance->manufacturerID, (char *)manufacturerID, 32, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return error; -} - -/* - * nssCKFWInstance_GetFlags - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWInstance_GetFlags -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - /* No "instance flags" are yet defined by Cryptoki. */ - return (CK_ULONG)0; -} - -/* - * nssCKFWInstance_GetLibraryDescription - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWInstance_GetLibraryDescription -( - NSSCKFWInstance *fwInstance, - CK_CHAR libraryDescription[32] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == libraryDescription ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwInstance->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwInstance->libraryDescription ) { - if( (void *)NULL != (void *)fwInstance->mdInstance->GetLibraryDescription ) { - fwInstance->libraryDescription = fwInstance->mdInstance->GetLibraryDescription( - fwInstance->mdInstance, fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwInstance->libraryDescription) && (CKR_OK != error) ) { - goto done; - } - } else { - fwInstance->libraryDescription = (NSSUTF8 *) ""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwInstance->libraryDescription, (char *)libraryDescription, 32, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return error; -} - -/* - * nssCKFWInstance_GetLibraryVersion - * - */ -NSS_IMPLEMENT CK_VERSION -nssCKFWInstance_GetLibraryVersion -( - NSSCKFWInstance *fwInstance -) -{ - CK_VERSION rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - rv.major = rv.minor = 0; - return rv; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwInstance->mutex) ) { - rv.major = rv.minor = 0; - return rv; - } - - if( (0 != fwInstance->libraryVersion.major) || - (0 != fwInstance->libraryVersion.minor) ) { - rv = fwInstance->libraryVersion; - goto done; - } - - if( (void *)NULL != (void *)fwInstance->mdInstance->GetLibraryVersion ) { - fwInstance->libraryVersion = fwInstance->mdInstance->GetLibraryVersion( - fwInstance->mdInstance, fwInstance); - } else { - fwInstance->libraryVersion.major = 0; - fwInstance->libraryVersion.minor = 1; - } - - rv = fwInstance->libraryVersion; - done: - (void)nssCKFWMutex_Unlock(fwInstance->mutex); - return rv; -} - -/* - * nssCKFWInstance_GetModuleHandlesSessionObjects - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWInstance_GetModuleHandlesSessionObjects -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - return fwInstance->moduleHandlesSessionObjects; -} - -/* - * nssCKFWInstance_GetSlots - * - */ -NSS_IMPLEMENT NSSCKFWSlot ** -nssCKFWInstance_GetSlots -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWSlot **)NULL; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (NSSCKFWSlot **)NULL; - } -#endif /* NSSDEBUG */ - - return fwInstance->fwSlotList; -} - -/* - * nssCKFWInstance_WaitForSlotEvent - * - */ -NSS_IMPLEMENT NSSCKFWSlot * -nssCKFWInstance_WaitForSlotEvent -( - NSSCKFWInstance *fwInstance, - CK_BBOOL block, - CK_RV *pError -) -{ - NSSCKFWSlot *fwSlot = (NSSCKFWSlot *)NULL; - NSSCKMDSlot *mdSlot; - CK_ULONG i, n; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWSlot *)NULL; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (NSSCKFWSlot *)NULL; - } - - switch( block ) { - case CK_TRUE: - case CK_FALSE: - break; - default: - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKFWSlot *)NULL; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwInstance->mdInstance->WaitForSlotEvent ) { - *pError = CKR_NO_EVENT; - return (NSSCKFWSlot *)NULL; - } - - mdSlot = fwInstance->mdInstance->WaitForSlotEvent( - fwInstance->mdInstance, - fwInstance, - block, - pError - ); - - if( (NSSCKMDSlot *)NULL == mdSlot ) { - return (NSSCKFWSlot *)NULL; - } - - n = nssCKFWInstance_GetNSlots(fwInstance, pError); - if( ((CK_ULONG)0 == n) && (CKR_OK != *pError) ) { - return (NSSCKFWSlot *)NULL; - } - - for( i = 0; i < n; i++ ) { - if( fwInstance->mdSlotList[i] == mdSlot ) { - fwSlot = fwInstance->fwSlotList[i]; - break; - } - } - - if( (NSSCKFWSlot *)NULL == fwSlot ) { - /* Internal error */ - *pError = CKR_GENERAL_ERROR; - return (NSSCKFWSlot *)NULL; - } - - return fwSlot; -} - -/* - * NSSCKFWInstance_GetMDInstance - * - */ -NSS_IMPLEMENT NSSCKMDInstance * -NSSCKFWInstance_GetMDInstance -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (NSSCKMDInstance *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWInstance_GetMDInstance(fwInstance); -} - -/* - * NSSCKFWInstance_GetArena - * - */ -NSS_IMPLEMENT NSSArena * -NSSCKFWInstance_GetArena -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (NSSArena *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWInstance_GetArena(fwInstance, pError); -} - -/* - * NSSCKFWInstance_MayCreatePthreads - * - */ -NSS_IMPLEMENT CK_BBOOL -NSSCKFWInstance_MayCreatePthreads -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return CK_FALSE; - } -#endif /* DEBUG */ - - return nssCKFWInstance_MayCreatePthreads(fwInstance); -} - -/* - * NSSCKFWInstance_CreateMutex - * - */ -NSS_IMPLEMENT NSSCKFWMutex * -NSSCKFWInstance_CreateMutex -( - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWMutex *)NULL; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (NSSCKFWMutex *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWInstance_CreateMutex(fwInstance, arena, pError); -} - -/* - * NSSCKFWInstance_GetConfigurationData - * - */ -NSS_IMPLEMENT NSSUTF8 * -NSSCKFWInstance_GetConfigurationData -( - NSSCKFWInstance *fwInstance -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWInstance_verifyPointer(fwInstance) ) { - return (NSSUTF8 *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWInstance_GetConfigurationData(fwInstance); -} diff --git a/security/nss/lib/ckfw/manifest.mn b/security/nss/lib/ckfw/manifest.mn deleted file mode 100644 index d228e12ab..000000000 --- a/security/nss/lib/ckfw/manifest.mn +++ /dev/null @@ -1,81 +0,0 @@ -# -# The contents of this file are subject to the Mozilla Public -# License Version 1.1 (the "License"); you may not use this file -# except in compliance with the License. You may obtain a copy of -# the License at http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS -# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or -# implied. See the License for the specific language governing -# rights and limitations under the License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is Netscape -# Communications Corporation. Portions created by Netscape are -# Copyright (C) 1994-2000 Netscape Communications Corporation. All -# Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the -# terms of the GNU General Public License Version 2 or later (the -# "GPL"), in which case the provisions of the GPL are applicable -# instead of those above. If you wish to allow use of your -# version of this file only under the terms of the GPL and not to -# allow others to use your version of this file under the MPL, -# indicate your decision by deleting the provisions above and -# replace them with the notice and other provisions required by -# the GPL. If you do not delete the provisions above, a recipient -# may use your version of this file under either the MPL or the -# GPL. -# -MANIFEST_CVS_ID = "@(#) $RCSfile$ $Revision$ $Date$ $Name$" - -CORE_DEPTH = ../../.. - -DIRS = builtins - -PRIVATE_EXPORTS = \ - ck.h \ - ckfw.h \ - ckfwm.h \ - ckfwtm.h \ - ckmd.h \ - ckt.h \ - $(NULL) - -EXPORTS = \ - nssck.api \ - nssckepv.h \ - nssckft.h \ - nssckfw.h \ - nssckfwc.h \ - nssckfwt.h \ - nssckg.h \ - nssckmdt.h \ - nssckp.h \ - nssckt.h \ - nsscku.h \ - $(NULL) - -MODULE = security - -CSRCS = \ - find.c \ - hash.c \ - instance.c \ - mutex.c \ - nsprstub.c \ - object.c \ - session.c \ - sessobj.c \ - slot.c \ - token.c \ - wrap.c \ - mechanism.c \ - $(NULL) - -REQUIRES = security nspr - -LIBRARY_NAME = nssckfw diff --git a/security/nss/lib/ckfw/mechanism.c b/security/nss/lib/ckfw/mechanism.c deleted file mode 100644 index 634c5ae8b..000000000 --- a/security/nss/lib/ckfw/mechanism.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * mechanism.c - * - * This file implements the NSSCKFWMechanism type and methods. - * These functions are currently stubs. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWMechanism - * - * -- create/destroy -- - * nssCKFWMechanism_Create - * nssCKFWMechanism_Destroy - * - * -- implement public accessors -- - * nssCKFWMechanism_GetMDMechanism - * nssCKFWMechanism_GetParameter - * - * -- private accessors -- - * - * -- module fronts -- - * nssCKFWMechanism_GetMinKeySize - * nssCKFWMechanism_GetMaxKeySize - * nssCKFWMechanism_GetInHardware - */ - - -struct NSSCKFWMechanismStr { - void * dummy; -}; - -/* - * nssCKFWMechanism_Create - * - */ -NSS_IMPLEMENT NSSCKFWMechanism * -nssCKFWMechanism_Create -( - void /* XXX fgmr */ -) -{ - return (NSSCKFWMechanism *)NULL; -} - -/* - * nssCKFWMechanism_Destroy - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWMechanism_Destroy -( - NSSCKFWMechanism *fwMechanism -) -{ - return CKR_OK; -} - -/* - * nssCKFWMechanism_GetMDMechanism - * - */ - -NSS_IMPLEMENT NSSCKMDMechanism * -nssCKFWMechanism_GetMDMechanism -( - NSSCKFWMechanism *fwMechanism -) -{ - return NULL; -} - -/* - * nssCKFWMechanism_GetParameter - * - * XXX fgmr-- or as an additional parameter to the crypto ops? - */ -NSS_IMPLEMENT NSSItem * -nssCKFWMechanism_GetParameter -( - NSSCKFWMechanism *fwMechanism -) -{ - return NULL; -} - -/* - * nssCKFWMechanism_GetMinKeySize - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWMechanism_GetMinKeySize -( - NSSCKFWMechanism *fwMechanism -) -{ - return 0; -} - -/* - * nssCKFWMechanism_GetMaxKeySize - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWMechanism_GetMaxKeySize -( - NSSCKFWMechanism *fwMechanism -) -{ - return 0; -} - -/* - * nssCKFWMechanism_GetInHardware - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWMechanism_GetInHardware -( - NSSCKFWMechanism *fwMechanism -) -{ - return PR_FALSE; -} - diff --git a/security/nss/lib/ckfw/mutex.c b/security/nss/lib/ckfw/mutex.c deleted file mode 100644 index e4c363f31..000000000 --- a/security/nss/lib/ckfw/mutex.c +++ /dev/null @@ -1,346 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * mutex.c - * - * This file implements a mutual-exclusion locking facility for Modules - * using the NSS Cryptoki Framework. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWMutex - * - * NSSCKFWMutex_Destroy - * NSSCKFWMutex_Lock - * NSSCKFWMutex_Unlock - * - * nssCKFWMutex_Create - * nssCKFWMutex_Destroy - * nssCKFWMutex_Lock - * nssCKFWMutex_Unlock - * - * -- debugging versions only -- - * nssCKFWMutex_verifyPointer - * - */ - -struct NSSCKFWMutexStr { - CK_VOID_PTR etc; - - CK_DESTROYMUTEX Destroy; - CK_LOCKMUTEX Lock; - CK_UNLOCKMUTEX Unlock; -}; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -mutex_add_pointer -( - const NSSCKFWMutex *fwMutex -) -{ - return CKR_OK; -} - -static CK_RV -mutex_remove_pointer -( - const NSSCKFWMutex *fwMutex -) -{ - return CKR_OK; -} - -NSS_IMPLEMENT CK_RV -nssCKFWMutex_verifyPointer -( - const NSSCKFWMutex *fwMutex -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -static CK_RV -mutex_noop -( - CK_VOID_PTR pMutex -) -{ - return CKR_OK; -} - -/* - * nssCKFWMutex_Create - * - */ -NSS_EXTERN NSSCKFWMutex * -nssCKFWMutex_Create -( - CK_C_INITIALIZE_ARGS_PTR pInitArgs, - NSSArena *arena, - CK_RV *pError -) -{ - NSSCKFWMutex *mutex; - CK_ULONG count = (CK_ULONG)0; - CK_BBOOL os_ok = CK_FALSE; - CK_VOID_PTR pMutex = (CK_VOID_PTR)NULL; - - if( (CK_C_INITIALIZE_ARGS_PTR)NULL != pInitArgs ) { - if( (CK_CREATEMUTEX )NULL != pInitArgs->CreateMutex ) count++; - if( (CK_DESTROYMUTEX)NULL != pInitArgs->DestroyMutex ) count++; - if( (CK_LOCKMUTEX )NULL != pInitArgs->LockMutex ) count++; - if( (CK_UNLOCKMUTEX )NULL != pInitArgs->UnlockMutex ) count++; - os_ok = (pInitArgs->flags & CKF_OS_LOCKING_OK) ? CK_TRUE : CK_FALSE; - - if( (0 != count) && (4 != count) ) { - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKFWMutex *)NULL; - } - } - - if( (0 == count) && (CK_TRUE == os_ok) ) { - /* - * This is case #2 in the description of C_Initialize: - * The library will be called in a multithreaded way, but - * no routines were specified: os locking calls should be - * used. Unfortunately, this can be hard.. like, I think - * I may have to dynamically look up the entry points in - * the instance of NSPR already going in the application. - * - * I know that *we* always specify routines, so this only - * comes up if someone is using NSS to create their own - * PCKS#11 modules for other products. Oh, heck, I'll - * worry about this then. - */ - *pError = CKR_CANT_LOCK; - return (NSSCKFWMutex *)NULL; - } - - mutex = nss_ZNEW(arena, NSSCKFWMutex); - if( (NSSCKFWMutex *)NULL == mutex ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKFWMutex *)NULL; - } - - if( 0 == count ) { - /* - * With the above test out of the way, we know this is case - * #1 in the description of C_Initialize: this library will - * not be called in a multithreaded way. I'll just return - * an object with noop calls. - */ - - mutex->Destroy = (CK_DESTROYMUTEX)mutex_noop; - mutex->Lock = (CK_LOCKMUTEX )mutex_noop; - mutex->Unlock = (CK_UNLOCKMUTEX )mutex_noop; - } else { - /* - * We know that we're in either case #3 or #4 in the description - * of C_Initialize. Case #3 says we should use the specified - * functions, case #4 cays we can use either the specified ones - * or the OS ones. I'll use the specified ones. - */ - - mutex->Destroy = pInitArgs->DestroyMutex; - mutex->Lock = pInitArgs->LockMutex; - mutex->Unlock = pInitArgs->UnlockMutex; - - *pError = pInitArgs->CreateMutex(&mutex->etc); - if( CKR_OK != *pError ) { - (void)nss_ZFreeIf(mutex); - return (NSSCKFWMutex *)NULL; - } - } - -#ifdef DEBUG - *pError = mutex_add_pointer(mutex); - if( CKR_OK != *pError ) { - (void)nss_ZFreeIf(mutex); - return (NSSCKFWMutex *)NULL; - } -#endif /* DEBUG */ - - return mutex; -} - -/* - * nssCKFWMutex_Destroy - * - */ -NSS_EXTERN CK_RV -nssCKFWMutex_Destroy -( - NSSCKFWMutex *mutex -) -{ - CK_RV rv = CKR_OK; - -#ifdef NSSDEBUG - rv = nssCKFWMutex_verifyPointer(mutex); - if( CKR_OK != rv ) { - return rv; - } -#endif /* NSSDEBUG */ - - rv = mutex->Destroy(mutex->etc); - -#ifdef DEBUG - (void)mutex_remove_pointer(mutex); -#endif /* DEBUG */ - - (void)nss_ZFreeIf(mutex); - return rv; -} - -/* - * nssCKFWMutex_Lock - * - */ -NSS_EXTERN CK_RV -nssCKFWMutex_Lock -( - NSSCKFWMutex *mutex -) -{ -#ifdef NSSDEBUG - CK_RV rv = nssCKFWMutex_verifyPointer(mutex); - if( CKR_OK != rv ) { - return rv; - } -#endif /* NSSDEBUG */ - - return mutex->Lock(mutex->etc); -} - -/* - * nssCKFWMutex_Unlock - * - */ -NSS_EXTERN CK_RV -nssCKFWMutex_Unlock -( - NSSCKFWMutex *mutex -) -{ -#ifdef NSSDEBUG - CK_RV rv = nssCKFWMutex_verifyPointer(mutex); - if( CKR_OK != rv ) { - return rv; - } -#endif /* NSSDEBUG */ - - return mutex->Unlock(mutex->etc); -} - -/* - * NSSCKFWMutex_Destroy - * - */ -NSS_EXTERN CK_RV -NSSCKFWMutex_Destroy -( - NSSCKFWMutex *mutex -) -{ -#ifdef DEBUG - CK_RV rv = nssCKFWMutex_verifyPointer(mutex); - if( CKR_OK != rv ) { - return rv; - } -#endif /* DEBUG */ - - return nssCKFWMutex_Destroy(mutex); -} - -/* - * NSSCKFWMutex_Lock - * - */ -NSS_EXTERN CK_RV -NSSCKFWMutex_Lock -( - NSSCKFWMutex *mutex -) -{ -#ifdef DEBUG - CK_RV rv = nssCKFWMutex_verifyPointer(mutex); - if( CKR_OK != rv ) { - return rv; - } -#endif /* DEBUG */ - - return nssCKFWMutex_Lock(mutex); -} - -/* - * NSSCKFWMutex_Unlock - * - */ -NSS_EXTERN CK_RV -NSSCKFWMutex_Unlock -( - NSSCKFWMutex *mutex -) -{ -#ifdef DEBUG - CK_RV rv = nssCKFWMutex_verifyPointer(mutex); - if( CKR_OK != rv ) { - return rv; - } -#endif /* DEBUG */ - - return nssCKFWMutex_Unlock(mutex); -} diff --git a/security/nss/lib/ckfw/nsprstub.c b/security/nss/lib/ckfw/nsprstub.c deleted file mode 100644 index e4c33cdbd..000000000 --- a/security/nss/lib/ckfw/nsprstub.c +++ /dev/null @@ -1,442 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ -/* - * secport.c - portability interfaces for security libraries - * - * This file abstracts out libc functionality that libsec depends on - * - * NOTE - These are not public interfaces. These stubs are to allow the - * SW FORTEZZA to link with some low level security functions without dragging - * in NSPR. - * - * $Id$ - */ - -#include "seccomon.h" -#include "prmem.h" -#include "prerror.h" -#include "plarena.h" -#include "secerr.h" -#include "prmon.h" -#include "prbit.h" -#include "ck.h" - -#ifdef notdef -unsigned long port_allocFailures; - -/* locations for registering Unicode conversion functions. - * Is this the appropriate location? or should they be - * moved to client/server specific locations? - */ -PORTCharConversionFunc ucs4Utf8ConvertFunc; -PORTCharConversionFunc ucs2Utf8ConvertFunc; -PORTCharConversionWSwapFunc ucs2AsciiConvertFunc; - -void * -PORT_Alloc(size_t bytes) -{ - void *rv; - - /* Always allocate a non-zero amount of bytes */ - rv = (void *)malloc(bytes ? bytes : 1); - if (!rv) { - ++port_allocFailures; - } - return rv; -} - -void * -PORT_Realloc(void *oldptr, size_t bytes) -{ - void *rv; - - rv = (void *)realloc(oldptr, bytes); - if (!rv) { - ++port_allocFailures; - } - return rv; -} - -void * -PORT_ZAlloc(size_t bytes) -{ - void *rv; - - /* Always allocate a non-zero amount of bytes */ - rv = (void *)calloc(1, bytes ? bytes : 1); - if (!rv) { - ++port_allocFailures; - } - return rv; -} - -void -PORT_Free(void *ptr) -{ - if (ptr) { - free(ptr); - } -} - -void -PORT_ZFree(void *ptr, size_t len) -{ - if (ptr) { - memset(ptr, 0, len); - free(ptr); - } -} - -/********************* Arena code follows *****************************/ - - -PLArenaPool * -PORT_NewArena(unsigned long chunksize) -{ - PLArenaPool *arena; - - arena = (PLArenaPool*)PORT_ZAlloc(sizeof(PLArenaPool)); - if ( arena != NULL ) { - PR_InitArenaPool(arena, "security", chunksize, sizeof(double)); - } - return(arena); -} - -void * -PORT_ArenaAlloc(PLArenaPool *arena, size_t size) -{ - void *p; - - PL_ARENA_ALLOCATE(p, arena, size); - if (p == NULL) { - ++port_allocFailures; - } - - return(p); -} - -void * -PORT_ArenaZAlloc(PLArenaPool *arena, size_t size) -{ - void *p; - - PL_ARENA_ALLOCATE(p, arena, size); - if (p == NULL) { - ++port_allocFailures; - } else { - PORT_Memset(p, 0, size); - } - - return(p); -} - -/* need to zeroize!! */ -void -PORT_FreeArena(PLArenaPool *arena, PRBool zero) -{ - PR_FinishArenaPool(arena); - PORT_Free(arena); -} - -void * -PORT_ArenaGrow(PLArenaPool *arena, void *ptr, size_t oldsize, size_t newsize) -{ - PORT_Assert(newsize >= oldsize); - - PL_ARENA_GROW(ptr, arena, oldsize, ( newsize - oldsize ) ); - - return(ptr); -} - -void * -PORT_ArenaMark(PLArenaPool *arena) -{ - void * result; - - result = PL_ARENA_MARK(arena); - return result; -} - -void -PORT_ArenaRelease(PLArenaPool *arena, void *mark) -{ - PL_ARENA_RELEASE(arena, mark); -} - -void -PORT_ArenaUnmark(PLArenaPool *arena, void *mark) -{ - /* do nothing */ -} - -char * -PORT_ArenaStrdup(PLArenaPool *arena,char *str) { - int len = PORT_Strlen(str)+1; - char *newstr; - - newstr = (char*)PORT_ArenaAlloc(arena,len); - if (newstr) { - PORT_Memcpy(newstr,str,len); - } - return newstr; -} -#endif - -/* - * replace the nice thread-safe Error stack code with something - * that will work without all the NSPR features. - */ -static PRInt32 stack[2] = {0, 0}; - -PR_IMPLEMENT(void) -nss_SetError(PRUint32 value) -{ - stack[0] = value; - return; -} - -PR_IMPLEMENT(PRInt32) -NSS_GetError(void) -{ - return(stack[0]); -} - - -PR_IMPLEMENT(PRInt32 *) -NSS_GetErrorStack(void) -{ - return(&stack[0]); -} - -PR_IMPLEMENT(void) -nss_ClearErrorStack(void) -{ - stack[0] = 0; - return; -} - -#ifdef DEBUG -/* - * replace the pointer tracking stuff for the same reasons. - * If you want to turn pointer tracking on, simply ifdef out this code and - * link with real NSPR. - */ -PR_IMPLEMENT(PRStatus) -nssPointerTracker_initialize(nssPointerTracker *tracker) -{ - return PR_SUCCESS; -} - - -PR_IMPLEMENT(PRStatus) -nssPointerTracker_finalize(nssPointerTracker *tracker) -{ - return PR_SUCCESS; -} - -PR_IMPLEMENT(PRStatus) -nssPointerTracker_add(nssPointerTracker *tracker, const void *pointer) -{ - return PR_SUCCESS; -} - -PR_IMPLEMENT(PRStatus) -nssPointerTracker_remove(nssPointerTracker *tracker, const void *pointer) -{ - return PR_SUCCESS; -} - -PR_IMPLEMENT(PRStatus) -nssPointerTracker_verify(nssPointerTracker *tracker, const void *pointer) -{ - return PR_SUCCESS; -} -#endif - -PR_IMPLEMENT(PRThread *) -PR_GetCurrentThread(void) -{ - return (PRThread *)1; -} - - - -PR_IMPLEMENT(void) -PR_Assert(const char *expr, const char *file, int line) { - return; -} - -PR_IMPLEMENT(void *) -PR_Alloc(PRUint32 bytes) { return malloc(bytes); } - -PR_IMPLEMENT(void *) -PR_Malloc(PRUint32 bytes) { return malloc(bytes); } - -PR_IMPLEMENT(void *) -PR_Calloc(PRUint32 blocks, PRUint32 bytes) { return calloc(blocks,bytes); } - -PR_IMPLEMENT(void *) -PR_Realloc(void * blocks, PRUint32 bytes) { return realloc(blocks,bytes); } - -PR_IMPLEMENT(void) -PR_Free(void *ptr) { free(ptr); } - -#ifdef notdef -/* Old template; want to expunge it eventually. */ -#include "secasn1.h" -#include "secoid.h" - -const SEC_ASN1Template SECOID_AlgorithmIDTemplate[] = { - { SEC_ASN1_SEQUENCE, - 0, NULL, sizeof(SECAlgorithmID) }, - { SEC_ASN1_OBJECT_ID, - offsetof(SECAlgorithmID,algorithm), }, - { SEC_ASN1_OPTIONAL | SEC_ASN1_ANY, - offsetof(SECAlgorithmID,parameters), }, - { 0, } -}; - -PR_IMPLEMENT(PRStatus) PR_Sleep(PRIntervalTime ticks) { return PR_SUCCESS; } - -/* This is not atomic! */ -PR_IMPLEMENT(PRInt32) PR_AtomicDecrement(PRInt32 *val) { return --(*val); } - -PR_IMPLEMENT(PRInt32) PR_AtomicSet(PRInt32 *val) { return ++(*val); } - -#endif - -/* now make the RNG happy */ /* This is not atomic! */ -PR_IMPLEMENT(PRInt32) PR_AtomicIncrement(PRInt32 *val) { return ++(*val); } - -CK_C_INITIALIZE_ARGS_PTR nssstub_initArgs = NULL; -NSSArena *nssstub_arena = NULL; -PR_IMPLEMENT(void) -nssSetLockArgs(CK_C_INITIALIZE_ARGS_PTR pInitArgs) -{ - if (nssstub_initArgs == NULL) { - nssstub_initArgs = pInitArgs; - /* nssstub_arena = NSSArena_Create(); */ - } -} - -#include "prlock.h" -PR_IMPLEMENT(PRLock *) -PR_NewLock(void) { - PRLock *lock = NULL; - NSSCKFWMutex *mlock = NULL; - CK_RV error; - - mlock = nssCKFWMutex_Create(nssstub_initArgs,nssstub_arena,&error); - lock = (PRLock *)mlock; - - /* if we don't have a lock, nssCKFWMutex can deal with things */ - if (lock == NULL) lock=(PRLock *) 1; - return lock; -} - -PR_IMPLEMENT(void) -PR_DestroyLock(PRLock *lock) { - NSSCKFWMutex *mlock = (NSSCKFWMutex *)lock; - if (lock == (PRLock *)1) return; - nssCKFWMutex_Destroy(mlock); -} - -PR_IMPLEMENT(void) -PR_Lock(PRLock *lock) { - NSSCKFWMutex *mlock = (NSSCKFWMutex *)lock; - if (lock == (PRLock *)1) return; - nssCKFWMutex_Lock(mlock); -} - -PR_IMPLEMENT(PRStatus) -PR_Unlock(PRLock *lock) { - NSSCKFWMutex *mlock = (NSSCKFWMutex *)lock; - if (lock == (PRLock *)1) return PR_SUCCESS; - nssCKFWMutex_Unlock(mlock); - return PR_SUCCESS; -} - -#ifdef notdef -#endif -/* this implementation is here to satisfy the PRMonitor use in plarena.c. -** It appears that it doesn't need re-entrant locks. It could have used -** PRLock instead of PRMonitor. So, this implementation just uses -** PRLock for a PRMonitor. -*/ -PR_IMPLEMENT(PRMonitor*) -PR_NewMonitor(void) -{ - return (PRMonitor *) PR_NewLock(); -} - - -PR_IMPLEMENT(void) -PR_EnterMonitor(PRMonitor *mon) -{ - PR_Lock( (PRLock *)mon ); -} - -PR_IMPLEMENT(PRStatus) -PR_ExitMonitor(PRMonitor *mon) -{ - return PR_Unlock( (PRLock *)mon ); -} - -#include "prinit.h" - -/* This is NOT threadsafe. It is merely a pseudo-functional stub. -*/ -PR_IMPLEMENT(PRStatus) PR_CallOnce( - PRCallOnceType *once, - PRCallOnceFN func) -{ - /* This is not really atomic! */ - if (1 == PR_AtomicIncrement(&once->initialized)) { - once->status = (*func)(); - } else { - /* Should wait to be sure that func has finished before returning. */ - } - return once->status; -} - -/* -** Compute the log of the least power of 2 greater than or equal to n -*/ -PRIntn PR_CeilingLog2(PRUint32 i) { - PRIntn log2; - PR_CEILING_LOG2(log2,i); - return log2; -} - -/********************** end of arena functions ***********************/ - diff --git a/security/nss/lib/ckfw/nssck.api b/security/nss/lib/ckfw/nssck.api deleted file mode 100644 index 9abc795c1..000000000 --- a/security/nss/lib/ckfw/nssck.api +++ /dev/null @@ -1,1889 +0,0 @@ -/* THIS IS A GENERATED FILE */ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char NSSCKAPI_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$ ; @(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssck.api - * - * This automatically-generated file is used to generate a set of - * Cryptoki entry points within the object space of a Module using - * the NSS Cryptoki Framework. - * - * The Module should have a .c file with the following: - * - * #define MODULE_NAME name - * #define INSTANCE_NAME instance - * #include "nssck.api" - * - * where "name" is some module-specific name that can be used to - * disambiguate various modules. This included file will then - * define the actual Cryptoki routines which pass through to the - * Framework calls. All routines, except C_GetFunctionList, will - * be prefixed with the name; C_GetFunctionList will be generated - * to return an entry-point vector with these routines. The - * instance specified should be the basic instance of NSSCKMDInstance. - * - * If, prior to including nssck.api, the .c file also specifies - * - * #define DECLARE_STRICT_CRYTPOKI_NAMES - * - * Then a set of "stub" routines not prefixed with the name will - * be included. This would allow the combined module and framework - * to be used in applications which are hard-coded to use the - * PKCS#11 names (instead of going through the EPV). Please note - * that such applications should be careful resolving symbols when - * more than one PKCS#11 module is loaded. - */ - -#ifndef MODULE_NAME -#error "Error: MODULE_NAME must be defined." -#endif /* MODULE_NAME */ - -#ifndef INSTANCE_NAME -#error "Error: INSTANCE_NAME must be defined." -#endif /* INSTANCE_NAME */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -#ifndef NSSCKFWC_H -#include "nssckfwc.h" -#endif /* NSSCKFWC_H */ - -#ifndef NSSCKEPV_H -#include "nssckepv.h" -#endif /* NSSCKEPV_H */ - -#define __ADJOIN(x,y) x##y - -/* - * The anchor. This object is used to store an "anchor" pointer in - * the Module's object space, so the wrapper functions can relate - * back to this instance. - */ - -static NSSCKFWInstance *fwInstance = (NSSCKFWInstance *)0; - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Initialize) -( - CK_VOID_PTR pInitArgs -) -{ - return NSSCKFWC_Initialize(&fwInstance, INSTANCE_NAME, pInitArgs); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Initialize -( - CK_VOID_PTR pInitArgs -) -{ - return __ADJOIN(MODULE_NAME,C_Initialize)(pInitArgs); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Finalize) -( - CK_VOID_PTR pReserved -) -{ - return NSSCKFWC_Finalize(&fwInstance); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Finalize -( - CK_VOID_PTR pReserved -) -{ - return __ADJOIN(MODULE_NAME,C_Finalize)(pReserved); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetInfo) -( - CK_INFO_PTR pInfo -) -{ - return NSSCKFWC_GetInfo(fwInstance, pInfo); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetInfo -( - CK_INFO_PTR pInfo -) -{ - return __ADJOIN(MODULE_NAME,C_GetInfo)(pInfo); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -/* - * C_GetFunctionList is defined at the end. - */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetSlotList) -( - CK_BBOOL tokenPresent, - CK_SLOT_ID_PTR pSlotList, - CK_ULONG_PTR pulCount -) -{ - return NSSCKFWC_GetSlotList(fwInstance, tokenPresent, pSlotList, pulCount); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetSlotList -( - CK_BBOOL tokenPresent, - CK_SLOT_ID_PTR pSlotList, - CK_ULONG_PTR pulCount -) -{ - return __ADJOIN(MODULE_NAME,C_GetSlotList)(tokenPresent, pSlotList, pulCount); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetSlotInfo) -( - CK_SLOT_ID slotID, - CK_SLOT_INFO_PTR pInfo -) -{ - return NSSCKFWC_GetSlotInfo(fwInstance, slotID, pInfo); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetSlotInfo -( - CK_SLOT_ID slotID, - CK_SLOT_INFO_PTR pInfo -) -{ - return __ADJOIN(MODULE_NAME,C_GetSlotInfo)(slotID, pInfo); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetTokenInfo) -( - CK_SLOT_ID slotID, - CK_TOKEN_INFO_PTR pInfo -) -{ - return NSSCKFWC_GetTokenInfo(fwInstance, slotID, pInfo); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetTokenInfo -( - CK_SLOT_ID slotID, - CK_TOKEN_INFO_PTR pInfo -) -{ - return __ADJOIN(MODULE_NAME,C_GetTokenInfo)(slotID, pInfo); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetMechanismList) -( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE_PTR pMechanismList, - CK_ULONG_PTR pulCount -) -{ - return NSSCKFWC_GetMechanismList(fwInstance, slotID, pMechanismList, pulCount); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetMechanismList -( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE_PTR pMechanismList, - CK_ULONG_PTR pulCount -) -{ - return __ADJOIN(MODULE_NAME,C_GetMechanismList)(slotID, pMechanismList, pulCount); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetMechanismInfo) -( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE type, - CK_MECHANISM_INFO_PTR pInfo -) -{ - return NSSCKFWC_GetMechanismInfo(fwInstance, slotID, type, pInfo); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetMechanismInfo -( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE type, - CK_MECHANISM_INFO_PTR pInfo -) -{ - return __ADJOIN(MODULE_NAME,C_GetMechanismInfo)(slotID, type, pInfo); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_InitToken) -( - CK_SLOT_ID slotID, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen, - CK_CHAR_PTR pLabel -) -{ - return NSSCKFWC_InitToken(fwInstance, slotID, pPin, ulPinLen, pLabel); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_InitToken -( - CK_SLOT_ID slotID, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen, - CK_CHAR_PTR pLabel -) -{ - return __ADJOIN(MODULE_NAME,C_InitToken)(slotID, pPin, ulPinLen, pLabel); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_InitPIN) -( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -) -{ - return NSSCKFWC_InitPIN(fwInstance, hSession, pPin, ulPinLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_InitPIN -( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -) -{ - return __ADJOIN(MODULE_NAME,C_InitPIN)(hSession, pPin, ulPinLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SetPIN) -( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pOldPin, - CK_ULONG ulOldLen, - CK_CHAR_PTR pNewPin, - CK_ULONG ulNewLen -) -{ - return NSSCKFWC_SetPIN(fwInstance, hSession, pOldPin, ulOldLen, pNewPin, ulNewLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SetPIN -( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pOldPin, - CK_ULONG ulOldLen, - CK_CHAR_PTR pNewPin, - CK_ULONG ulNewLen -) -{ - return __ADJOIN(MODULE_NAME,C_SetPIN)(hSession, pOldPin, ulOldLen, pNewPin, ulNewLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_OpenSession) -( - CK_SLOT_ID slotID, - CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_SESSION_HANDLE_PTR phSession -) -{ - return NSSCKFWC_OpenSession(fwInstance, slotID, flags, pApplication, Notify, phSession); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_OpenSession -( - CK_SLOT_ID slotID, - CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_SESSION_HANDLE_PTR phSession -) -{ - return __ADJOIN(MODULE_NAME,C_OpenSession)(slotID, flags, pApplication, Notify, phSession); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_CloseSession) -( - CK_SESSION_HANDLE hSession -) -{ - return NSSCKFWC_CloseSession(fwInstance, hSession); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_CloseSession -( - CK_SESSION_HANDLE hSession -) -{ - return __ADJOIN(MODULE_NAME,C_CloseSession)(hSession); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_CloseAllSessions) -( - CK_SLOT_ID slotID -) -{ - return NSSCKFWC_CloseAllSessions(fwInstance, slotID); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_CloseAllSessions -( - CK_SLOT_ID slotID -) -{ - return __ADJOIN(MODULE_NAME,C_CloseAllSessions)(slotID); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetSessionInfo) -( - CK_SESSION_HANDLE hSession, - CK_SESSION_INFO_PTR pInfo -) -{ - return NSSCKFWC_GetSessionInfo(fwInstance, hSession, pInfo); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetSessionInfo -( - CK_SESSION_HANDLE hSession, - CK_SESSION_INFO_PTR pInfo -) -{ - return __ADJOIN(MODULE_NAME,C_GetSessionInfo)(hSession, pInfo); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetOperationState) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG_PTR pulOperationStateLen -) -{ - return NSSCKFWC_GetOperationState(fwInstance, hSession, pOperationState, pulOperationStateLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetOperationState -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG_PTR pulOperationStateLen -) -{ - return __ADJOIN(MODULE_NAME,C_GetOperationState)(hSession, pOperationState, pulOperationStateLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SetOperationState) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG ulOperationStateLen, - CK_OBJECT_HANDLE hEncryptionKey, - CK_OBJECT_HANDLE hAuthenticationKey -) -{ - return NSSCKFWC_SetOperationState(fwInstance, hSession, pOperationState, ulOperationStateLen, hEncryptionKey, hAuthenticationKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SetOperationState -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG ulOperationStateLen, - CK_OBJECT_HANDLE hEncryptionKey, - CK_OBJECT_HANDLE hAuthenticationKey -) -{ - return __ADJOIN(MODULE_NAME,C_SetOperationState)(hSession, pOperationState, ulOperationStateLen, hEncryptionKey, hAuthenticationKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Login) -( - CK_SESSION_HANDLE hSession, - CK_USER_TYPE userType, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -) -{ - return NSSCKFWC_Login(fwInstance, hSession, userType, pPin, ulPinLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Login -( - CK_SESSION_HANDLE hSession, - CK_USER_TYPE userType, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -) -{ - return __ADJOIN(MODULE_NAME,C_Login)(hSession, userType, pPin, ulPinLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Logout) -( - CK_SESSION_HANDLE hSession -) -{ - return NSSCKFWC_Logout(fwInstance, hSession); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Logout -( - CK_SESSION_HANDLE hSession -) -{ - return __ADJOIN(MODULE_NAME,C_Logout)(hSession); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_CreateObject) -( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phObject -) -{ - return NSSCKFWC_CreateObject(fwInstance, hSession, pTemplate, ulCount, phObject); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_CreateObject -( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phObject -) -{ - return __ADJOIN(MODULE_NAME,C_CreateObject)(hSession, pTemplate, ulCount, phObject); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_CopyObject) -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phNewObject -) -{ - return NSSCKFWC_CopyObject(fwInstance, hSession, hObject, pTemplate, ulCount, phNewObject); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_CopyObject -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phNewObject -) -{ - return __ADJOIN(MODULE_NAME,C_CopyObject)(hSession, hObject, pTemplate, ulCount, phNewObject); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DestroyObject) -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject -) -{ - return NSSCKFWC_DestroyObject(fwInstance, hSession, hObject); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DestroyObject -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject -) -{ - return __ADJOIN(MODULE_NAME,C_DestroyObject)(hSession, hObject); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetObjectSize) -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ULONG_PTR pulSize -) -{ - return NSSCKFWC_GetObjectSize(fwInstance, hSession, hObject, pulSize); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetObjectSize -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ULONG_PTR pulSize -) -{ - return __ADJOIN(MODULE_NAME,C_GetObjectSize)(hSession, hObject, pulSize); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetAttributeValue) -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - return NSSCKFWC_GetAttributeValue(fwInstance, hSession, hObject, pTemplate, ulCount); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetAttributeValue -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - return __ADJOIN(MODULE_NAME,C_GetAttributeValue)(hSession, hObject, pTemplate, ulCount); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SetAttributeValue) -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - return NSSCKFWC_SetAttributeValue(fwInstance, hSession, hObject, pTemplate, ulCount); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SetAttributeValue -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - return __ADJOIN(MODULE_NAME,C_SetAttributeValue)(hSession, hObject, pTemplate, ulCount); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_FindObjectsInit) -( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - return NSSCKFWC_FindObjectsInit(fwInstance, hSession, pTemplate, ulCount); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_FindObjectsInit -( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - return __ADJOIN(MODULE_NAME,C_FindObjectsInit)(hSession, pTemplate, ulCount); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_FindObjects) -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE_PTR phObject, - CK_ULONG ulMaxObjectCount, - CK_ULONG_PTR pulObjectCount -) -{ - return NSSCKFWC_FindObjects(fwInstance, hSession, phObject, ulMaxObjectCount, pulObjectCount); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_FindObjects -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE_PTR phObject, - CK_ULONG ulMaxObjectCount, - CK_ULONG_PTR pulObjectCount -) -{ - return __ADJOIN(MODULE_NAME,C_FindObjects)(hSession, phObject, ulMaxObjectCount, pulObjectCount); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_FindObjectsFinal) -( - CK_SESSION_HANDLE hSession -) -{ - return NSSCKFWC_FindObjectsFinal(fwInstance, hSession); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_FindObjectsFinal -( - CK_SESSION_HANDLE hSession -) -{ - return __ADJOIN(MODULE_NAME,C_FindObjectsFinal)(hSession); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_EncryptInit) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return NSSCKFWC_EncryptInit(fwInstance, hSession, pMechanism, hKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_EncryptInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return __ADJOIN(MODULE_NAME,C_EncryptInit)(hSession, pMechanism, hKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Encrypt) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pEncryptedData, - CK_ULONG_PTR pulEncryptedDataLen -) -{ - return NSSCKFWC_Encrypt(fwInstance, hSession, pData, ulDataLen, pEncryptedData, pulEncryptedDataLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Encrypt -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pEncryptedData, - CK_ULONG_PTR pulEncryptedDataLen -) -{ - return __ADJOIN(MODULE_NAME,C_Encrypt)(hSession, pData, ulDataLen, pEncryptedData, pulEncryptedDataLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_EncryptUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return NSSCKFWC_EncryptUpdate(fwInstance, hSession, pPart, ulPartLen, pEncryptedPart, pulEncryptedPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_EncryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_EncryptUpdate)(hSession, pPart, ulPartLen, pEncryptedPart, pulEncryptedPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_EncryptFinal) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastEncryptedPart, - CK_ULONG_PTR pulLastEncryptedPartLen -) -{ - return NSSCKFWC_EncryptFinal(fwInstance, hSession, pLastEncryptedPart, pulLastEncryptedPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_EncryptFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastEncryptedPart, - CK_ULONG_PTR pulLastEncryptedPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_EncryptFinal)(hSession, pLastEncryptedPart, pulLastEncryptedPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DecryptInit) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return NSSCKFWC_DecryptInit(fwInstance, hSession, pMechanism, hKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DecryptInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return __ADJOIN(MODULE_NAME,C_DecryptInit)(hSession, pMechanism, hKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Decrypt) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedData, - CK_ULONG ulEncryptedDataLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -) -{ - return NSSCKFWC_Decrypt(fwInstance, hSession, pEncryptedData, ulEncryptedDataLen, pData, pulDataLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Decrypt -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedData, - CK_ULONG ulEncryptedDataLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -) -{ - return __ADJOIN(MODULE_NAME,C_Decrypt)(hSession, pEncryptedData, ulEncryptedDataLen, pData, pulDataLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DecryptUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return NSSCKFWC_DecryptUpdate(fwInstance, hSession, pEncryptedPart, ulEncryptedPartLen, pPart, pulPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DecryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_DecryptUpdate)(hSession, pEncryptedPart, ulEncryptedPartLen, pPart, pulPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DecryptFinal) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastPart, - CK_ULONG_PTR pulLastPartLen -) -{ - return NSSCKFWC_DecryptFinal(fwInstance, hSession, pLastPart, pulLastPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DecryptFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastPart, - CK_ULONG_PTR pulLastPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_DecryptFinal)(hSession, pLastPart, pulLastPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DigestInit) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism -) -{ - return NSSCKFWC_DigestInit(fwInstance, hSession, pMechanism); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DigestInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism -) -{ - return __ADJOIN(MODULE_NAME,C_DigestInit)(hSession, pMechanism); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Digest) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -) -{ - return NSSCKFWC_Digest(fwInstance, hSession, pData, ulDataLen, pDigest, pulDigestLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Digest -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -) -{ - return __ADJOIN(MODULE_NAME,C_Digest)(hSession, pData, ulDataLen, pDigest, pulDigestLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DigestUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return NSSCKFWC_DigestUpdate(fwInstance, hSession, pPart, ulPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DigestUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_DigestUpdate)(hSession, pPart, ulPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DigestKey) -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hKey -) -{ - return NSSCKFWC_DigestKey(fwInstance, hSession, hKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DigestKey -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hKey -) -{ - return __ADJOIN(MODULE_NAME,C_DigestKey)(hSession, hKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DigestFinal) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -) -{ - return NSSCKFWC_DigestFinal(fwInstance, hSession, pDigest, pulDigestLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DigestFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -) -{ - return __ADJOIN(MODULE_NAME,C_DigestFinal)(hSession, pDigest, pulDigestLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SignInit) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return NSSCKFWC_SignInit(fwInstance, hSession, pMechanism, hKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SignInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return __ADJOIN(MODULE_NAME,C_SignInit)(hSession, pMechanism, hKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Sign) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return NSSCKFWC_Sign(fwInstance, hSession, pData, ulDataLen, pSignature, pulSignatureLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Sign -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return __ADJOIN(MODULE_NAME,C_Sign)(hSession, pData, ulDataLen, pSignature, pulSignatureLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SignUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return NSSCKFWC_SignUpdate(fwInstance, hSession, pPart, ulPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SignUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_SignUpdate)(hSession, pPart, ulPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SignFinal) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return NSSCKFWC_SignFinal(fwInstance, hSession, pSignature, pulSignatureLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SignFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return __ADJOIN(MODULE_NAME,C_SignFinal)(hSession, pSignature, pulSignatureLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SignRecoverInit) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return NSSCKFWC_SignRecoverInit(fwInstance, hSession, pMechanism, hKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SignRecoverInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return __ADJOIN(MODULE_NAME,C_SignRecoverInit)(hSession, pMechanism, hKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SignRecover) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return NSSCKFWC_SignRecover(fwInstance, hSession, pData, ulDataLen, pSignature, pulSignatureLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SignRecover -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return __ADJOIN(MODULE_NAME,C_SignRecover)(hSession, pData, ulDataLen, pSignature, pulSignatureLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_VerifyInit) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return NSSCKFWC_VerifyInit(fwInstance, hSession, pMechanism, hKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_VerifyInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return __ADJOIN(MODULE_NAME,C_VerifyInit)(hSession, pMechanism, hKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_Verify) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -) -{ - return NSSCKFWC_Verify(fwInstance, hSession, pData, ulDataLen, pSignature, ulSignatureLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_Verify -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -) -{ - return __ADJOIN(MODULE_NAME,C_Verify)(hSession, pData, ulDataLen, pSignature, ulSignatureLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_VerifyUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return NSSCKFWC_VerifyUpdate(fwInstance, hSession, pPart, ulPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_VerifyUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_VerifyUpdate)(hSession, pPart, ulPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_VerifyFinal) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -) -{ - return NSSCKFWC_VerifyFinal(fwInstance, hSession, pSignature, ulSignatureLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_VerifyFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -) -{ - return __ADJOIN(MODULE_NAME,C_VerifyFinal)(hSession, pSignature, ulSignatureLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_VerifyRecoverInit) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return NSSCKFWC_VerifyRecoverInit(fwInstance, hSession, pMechanism, hKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_VerifyRecoverInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return __ADJOIN(MODULE_NAME,C_VerifyRecoverInit)(hSession, pMechanism, hKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_VerifyRecover) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -) -{ - return NSSCKFWC_VerifyRecover(fwInstance, hSession, pSignature, ulSignatureLen, pData, pulDataLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_VerifyRecover -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -) -{ - return __ADJOIN(MODULE_NAME,C_VerifyRecover)(hSession, pSignature, ulSignatureLen, pData, pulDataLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DigestEncryptUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return NSSCKFWC_DigestEncryptUpdate(fwInstance, hSession, pPart, ulPartLen, pEncryptedPart, pulEncryptedPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DigestEncryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_DigestEncryptUpdate)(hSession, pPart, ulPartLen, pEncryptedPart, pulEncryptedPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DecryptDigestUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return NSSCKFWC_DecryptDigestUpdate(fwInstance, hSession, pEncryptedPart, ulEncryptedPartLen, pPart, pulPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DecryptDigestUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_DecryptDigestUpdate)(hSession, pEncryptedPart, ulEncryptedPartLen, pPart, pulPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SignEncryptUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return NSSCKFWC_SignEncryptUpdate(fwInstance, hSession, pPart, ulPartLen, pEncryptedPart, pulEncryptedPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SignEncryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_SignEncryptUpdate)(hSession, pPart, ulPartLen, pEncryptedPart, pulEncryptedPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DecryptVerifyUpdate) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return NSSCKFWC_DecryptVerifyUpdate(fwInstance, hSession, pEncryptedPart, ulEncryptedPartLen, pPart, pulPartLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DecryptVerifyUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return __ADJOIN(MODULE_NAME,C_DecryptVerifyUpdate)(hSession, pEncryptedPart, ulEncryptedPartLen, pPart, pulPartLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GenerateKey) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return NSSCKFWC_GenerateKey(fwInstance, hSession, pMechanism, pTemplate, ulCount, phKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GenerateKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return __ADJOIN(MODULE_NAME,C_GenerateKey)(hSession, pMechanism, pTemplate, ulCount, phKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GenerateKeyPair) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG ulPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG ulPrivateKeyAttributeCount, - CK_OBJECT_HANDLE_PTR phPublicKey, - CK_OBJECT_HANDLE_PTR phPrivateKey -) -{ - return NSSCKFWC_GenerateKeyPair(fwInstance, hSession, pMechanism, pPublicKeyTemplate, ulPublicKeyAttributeCount, pPrivateKeyTemplate, ulPrivateKeyAttributeCount, phPublicKey, phPrivateKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GenerateKeyPair -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG ulPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG ulPrivateKeyAttributeCount, - CK_OBJECT_HANDLE_PTR phPublicKey, - CK_OBJECT_HANDLE_PTR phPrivateKey -) -{ - return __ADJOIN(MODULE_NAME,C_GenerateKeyPair)(hSession, pMechanism, pPublicKeyTemplate, ulPublicKeyAttributeCount, pPrivateKeyTemplate, ulPrivateKeyAttributeCount, phPublicKey, phPrivateKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_WrapKey) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hWrappingKey, - CK_OBJECT_HANDLE hKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG_PTR pulWrappedKeyLen -) -{ - return NSSCKFWC_WrapKey(fwInstance, hSession, pMechanism, hWrappingKey, hKey, pWrappedKey, pulWrappedKeyLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_WrapKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hWrappingKey, - CK_OBJECT_HANDLE hKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG_PTR pulWrappedKeyLen -) -{ - return __ADJOIN(MODULE_NAME,C_WrapKey)(hSession, pMechanism, hWrappingKey, hKey, pWrappedKey, pulWrappedKeyLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_UnwrapKey) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hUnwrappingKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG ulWrappedKeyLen, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return NSSCKFWC_UnwrapKey(fwInstance, hSession, pMechanism, hUnwrappingKey, pWrappedKey, ulWrappedKeyLen, pTemplate, ulAttributeCount, phKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_UnwrapKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hUnwrappingKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG ulWrappedKeyLen, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return __ADJOIN(MODULE_NAME,C_UnwrapKey)(hSession, pMechanism, hUnwrappingKey, pWrappedKey, ulWrappedKeyLen, pTemplate, ulAttributeCount, phKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_DeriveKey) -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return NSSCKFWC_DeriveKey(fwInstance, hSession, pMechanism, hBaseKey, pTemplate, ulAttributeCount, phKey); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_DeriveKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return __ADJOIN(MODULE_NAME,C_DeriveKey)(hSession, pMechanism, hBaseKey, pTemplate, ulAttributeCount, phKey); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_SeedRandom) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSeed, - CK_ULONG ulSeedLen -) -{ - return NSSCKFWC_SeedRandom(fwInstance, hSession, pSeed, ulSeedLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_SeedRandom -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSeed, - CK_ULONG ulSeedLen -) -{ - return __ADJOIN(MODULE_NAME,C_SeedRandom)(hSession, pSeed, ulSeedLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GenerateRandom) -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR RandomData, - CK_ULONG ulRandomLen -) -{ - return NSSCKFWC_GenerateRandom(fwInstance, hSession, RandomData, ulRandomLen); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GenerateRandom -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR RandomData, - CK_ULONG ulRandomLen -) -{ - return __ADJOIN(MODULE_NAME,C_GenerateRandom)(hSession, RandomData, ulRandomLen); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetFunctionStatus) -( - CK_SESSION_HANDLE hSession -) -{ - return NSSCKFWC_GetFunctionStatus(fwInstance, hSession); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_GetFunctionStatus -( - CK_SESSION_HANDLE hSession -) -{ - return __ADJOIN(MODULE_NAME,C_GetFunctionStatus)(hSession); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_CancelFunction) -( - CK_SESSION_HANDLE hSession -) -{ - return NSSCKFWC_CancelFunction(fwInstance, hSession); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_CancelFunction -( - CK_SESSION_HANDLE hSession -) -{ - return __ADJOIN(MODULE_NAME,C_CancelFunction)(hSession); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_WaitForSlotEvent) -( - CK_FLAGS flags, - CK_SLOT_ID_PTR pSlot, - CK_VOID_PTR pRserved -) -{ - return NSSCKFWC_WaitForSlotEvent(fwInstance, flags, pSlot, pRserved); -} - -#ifdef DECLARE_STRICT_CRYPTOKI_NAMES -CK_RV CK_ENTRY -C_WaitForSlotEvent -( - CK_FLAGS flags, - CK_SLOT_ID_PTR pSlot, - CK_VOID_PTR pRserved -) -{ - return __ADJOIN(MODULE_NAME,C_WaitForSlotEvent)(flags, pSlot, pRserved); -} -#endif /* DECLARE_STRICT_CRYPTOKI_NAMES */ - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetFunctionList) -( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -); - -static CK_FUNCTION_LIST FunctionList = { - { 2, 1 }, -__ADJOIN(MODULE_NAME,C_Initialize), -__ADJOIN(MODULE_NAME,C_Finalize), -__ADJOIN(MODULE_NAME,C_GetInfo), -__ADJOIN(MODULE_NAME,C_GetFunctionList), -__ADJOIN(MODULE_NAME,C_GetSlotList), -__ADJOIN(MODULE_NAME,C_GetSlotInfo), -__ADJOIN(MODULE_NAME,C_GetTokenInfo), -__ADJOIN(MODULE_NAME,C_GetMechanismList), -__ADJOIN(MODULE_NAME,C_GetMechanismInfo), -__ADJOIN(MODULE_NAME,C_InitToken), -__ADJOIN(MODULE_NAME,C_InitPIN), -__ADJOIN(MODULE_NAME,C_SetPIN), -__ADJOIN(MODULE_NAME,C_OpenSession), -__ADJOIN(MODULE_NAME,C_CloseSession), -__ADJOIN(MODULE_NAME,C_CloseAllSessions), -__ADJOIN(MODULE_NAME,C_GetSessionInfo), -__ADJOIN(MODULE_NAME,C_GetOperationState), -__ADJOIN(MODULE_NAME,C_SetOperationState), -__ADJOIN(MODULE_NAME,C_Login), -__ADJOIN(MODULE_NAME,C_Logout), -__ADJOIN(MODULE_NAME,C_CreateObject), -__ADJOIN(MODULE_NAME,C_CopyObject), -__ADJOIN(MODULE_NAME,C_DestroyObject), -__ADJOIN(MODULE_NAME,C_GetObjectSize), -__ADJOIN(MODULE_NAME,C_GetAttributeValue), -__ADJOIN(MODULE_NAME,C_SetAttributeValue), -__ADJOIN(MODULE_NAME,C_FindObjectsInit), -__ADJOIN(MODULE_NAME,C_FindObjects), -__ADJOIN(MODULE_NAME,C_FindObjectsFinal), -__ADJOIN(MODULE_NAME,C_EncryptInit), -__ADJOIN(MODULE_NAME,C_Encrypt), -__ADJOIN(MODULE_NAME,C_EncryptUpdate), -__ADJOIN(MODULE_NAME,C_EncryptFinal), -__ADJOIN(MODULE_NAME,C_DecryptInit), -__ADJOIN(MODULE_NAME,C_Decrypt), -__ADJOIN(MODULE_NAME,C_DecryptUpdate), -__ADJOIN(MODULE_NAME,C_DecryptFinal), -__ADJOIN(MODULE_NAME,C_DigestInit), -__ADJOIN(MODULE_NAME,C_Digest), -__ADJOIN(MODULE_NAME,C_DigestUpdate), -__ADJOIN(MODULE_NAME,C_DigestKey), -__ADJOIN(MODULE_NAME,C_DigestFinal), -__ADJOIN(MODULE_NAME,C_SignInit), -__ADJOIN(MODULE_NAME,C_Sign), -__ADJOIN(MODULE_NAME,C_SignUpdate), -__ADJOIN(MODULE_NAME,C_SignFinal), -__ADJOIN(MODULE_NAME,C_SignRecoverInit), -__ADJOIN(MODULE_NAME,C_SignRecover), -__ADJOIN(MODULE_NAME,C_VerifyInit), -__ADJOIN(MODULE_NAME,C_Verify), -__ADJOIN(MODULE_NAME,C_VerifyUpdate), -__ADJOIN(MODULE_NAME,C_VerifyFinal), -__ADJOIN(MODULE_NAME,C_VerifyRecoverInit), -__ADJOIN(MODULE_NAME,C_VerifyRecover), -__ADJOIN(MODULE_NAME,C_DigestEncryptUpdate), -__ADJOIN(MODULE_NAME,C_DecryptDigestUpdate), -__ADJOIN(MODULE_NAME,C_SignEncryptUpdate), -__ADJOIN(MODULE_NAME,C_DecryptVerifyUpdate), -__ADJOIN(MODULE_NAME,C_GenerateKey), -__ADJOIN(MODULE_NAME,C_GenerateKeyPair), -__ADJOIN(MODULE_NAME,C_WrapKey), -__ADJOIN(MODULE_NAME,C_UnwrapKey), -__ADJOIN(MODULE_NAME,C_DeriveKey), -__ADJOIN(MODULE_NAME,C_SeedRandom), -__ADJOIN(MODULE_NAME,C_GenerateRandom), -__ADJOIN(MODULE_NAME,C_GetFunctionStatus), -__ADJOIN(MODULE_NAME,C_CancelFunction), -__ADJOIN(MODULE_NAME,C_WaitForSlotEvent) -}; - -CK_RV CK_ENTRY -__ADJOIN(MODULE_NAME,C_GetFunctionList) -( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -) -{ - *ppFunctionList = &FunctionList; - return CKR_OK; -} - -/* This one is always present */ -#ifdef WIN32 -CK_RV _declspec(dllexport) -#else -CK_RV CK_ENTRY -#endif -C_GetFunctionList -( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -) -{ - return __ADJOIN(MODULE_NAME,C_GetFunctionList)(ppFunctionList); -} - -#undef __ADJOIN - diff --git a/security/nss/lib/ckfw/nssckepv.h b/security/nss/lib/ckfw/nssckepv.h deleted file mode 100644 index 88ff9d773..000000000 --- a/security/nss/lib/ckfw/nssckepv.h +++ /dev/null @@ -1,132 +0,0 @@ -/* THIS IS A GENERATED FILE */ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ -#ifndef NSSCKEPV_H -#define NSSCKEPV_H - -#ifdef DEBUG -static const char NSSCKEPV_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$ ; @(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssckepv.h - * - * This automatically-generated header file defines the type - * CK_FUNCTION_LIST specified by PKCS#11. - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFT_H -#include "nssckft.h" -#endif /* NSSCKFT_H */ - -#include "nssckp.h" - -struct CK_FUNCTION_LIST { - CK_VERSION version; - CK_C_Initialize C_Initialize; - CK_C_Finalize C_Finalize; - CK_C_GetInfo C_GetInfo; - CK_C_GetFunctionList C_GetFunctionList; - CK_C_GetSlotList C_GetSlotList; - CK_C_GetSlotInfo C_GetSlotInfo; - CK_C_GetTokenInfo C_GetTokenInfo; - CK_C_GetMechanismList C_GetMechanismList; - CK_C_GetMechanismInfo C_GetMechanismInfo; - CK_C_InitToken C_InitToken; - CK_C_InitPIN C_InitPIN; - CK_C_SetPIN C_SetPIN; - CK_C_OpenSession C_OpenSession; - CK_C_CloseSession C_CloseSession; - CK_C_CloseAllSessions C_CloseAllSessions; - CK_C_GetSessionInfo C_GetSessionInfo; - CK_C_GetOperationState C_GetOperationState; - CK_C_SetOperationState C_SetOperationState; - CK_C_Login C_Login; - CK_C_Logout C_Logout; - CK_C_CreateObject C_CreateObject; - CK_C_CopyObject C_CopyObject; - CK_C_DestroyObject C_DestroyObject; - CK_C_GetObjectSize C_GetObjectSize; - CK_C_GetAttributeValue C_GetAttributeValue; - CK_C_SetAttributeValue C_SetAttributeValue; - CK_C_FindObjectsInit C_FindObjectsInit; - CK_C_FindObjects C_FindObjects; - CK_C_FindObjectsFinal C_FindObjectsFinal; - CK_C_EncryptInit C_EncryptInit; - CK_C_Encrypt C_Encrypt; - CK_C_EncryptUpdate C_EncryptUpdate; - CK_C_EncryptFinal C_EncryptFinal; - CK_C_DecryptInit C_DecryptInit; - CK_C_Decrypt C_Decrypt; - CK_C_DecryptUpdate C_DecryptUpdate; - CK_C_DecryptFinal C_DecryptFinal; - CK_C_DigestInit C_DigestInit; - CK_C_Digest C_Digest; - CK_C_DigestUpdate C_DigestUpdate; - CK_C_DigestKey C_DigestKey; - CK_C_DigestFinal C_DigestFinal; - CK_C_SignInit C_SignInit; - CK_C_Sign C_Sign; - CK_C_SignUpdate C_SignUpdate; - CK_C_SignFinal C_SignFinal; - CK_C_SignRecoverInit C_SignRecoverInit; - CK_C_SignRecover C_SignRecover; - CK_C_VerifyInit C_VerifyInit; - CK_C_Verify C_Verify; - CK_C_VerifyUpdate C_VerifyUpdate; - CK_C_VerifyFinal C_VerifyFinal; - CK_C_VerifyRecoverInit C_VerifyRecoverInit; - CK_C_VerifyRecover C_VerifyRecover; - CK_C_DigestEncryptUpdate C_DigestEncryptUpdate; - CK_C_DecryptDigestUpdate C_DecryptDigestUpdate; - CK_C_SignEncryptUpdate C_SignEncryptUpdate; - CK_C_DecryptVerifyUpdate C_DecryptVerifyUpdate; - CK_C_GenerateKey C_GenerateKey; - CK_C_GenerateKeyPair C_GenerateKeyPair; - CK_C_WrapKey C_WrapKey; - CK_C_UnwrapKey C_UnwrapKey; - CK_C_DeriveKey C_DeriveKey; - CK_C_SeedRandom C_SeedRandom; - CK_C_GenerateRandom C_GenerateRandom; - CK_C_GetFunctionStatus C_GetFunctionStatus; - CK_C_CancelFunction C_CancelFunction; - CK_C_WaitForSlotEvent C_WaitForSlotEvent; -}; - -#include "nsscku.h" - -#endif /* NSSCKEPV_H */ diff --git a/security/nss/lib/ckfw/nssckft.h b/security/nss/lib/ckfw/nssckft.h deleted file mode 100644 index 287f91956..000000000 --- a/security/nss/lib/ckfw/nssckft.h +++ /dev/null @@ -1,492 +0,0 @@ -/* THIS IS A GENERATED FILE */ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ -#ifndef NSSCKFT_H -#define NSSCKFT_H - -#ifdef DEBUG -static const char NSSCKFT_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$ ; @(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssckft.h - * - * The automatically-generated header file declares a typedef - * each of the Cryptoki functions specified by PKCS#11. - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Initialize)( - CK_VOID_PTR pInitArgs -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Finalize)( - CK_VOID_PTR pReserved -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetInfo)( - CK_INFO_PTR pInfo -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetFunctionList)( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetSlotList)( - CK_BBOOL tokenPresent, - CK_SLOT_ID_PTR pSlotList, - CK_ULONG_PTR pulCount -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetSlotInfo)( - CK_SLOT_ID slotID, - CK_SLOT_INFO_PTR pInfo -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetTokenInfo)( - CK_SLOT_ID slotID, - CK_TOKEN_INFO_PTR pInfo -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetMechanismList)( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE_PTR pMechanismList, - CK_ULONG_PTR pulCount -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetMechanismInfo)( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE type, - CK_MECHANISM_INFO_PTR pInfo -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_InitToken)( - CK_SLOT_ID slotID, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen, - CK_CHAR_PTR pLabel -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_InitPIN)( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SetPIN)( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pOldPin, - CK_ULONG ulOldLen, - CK_CHAR_PTR pNewPin, - CK_ULONG ulNewLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_OpenSession)( - CK_SLOT_ID slotID, - CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_SESSION_HANDLE_PTR phSession -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_CloseSession)( - CK_SESSION_HANDLE hSession -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_CloseAllSessions)( - CK_SLOT_ID slotID -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetSessionInfo)( - CK_SESSION_HANDLE hSession, - CK_SESSION_INFO_PTR pInfo -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetOperationState)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG_PTR pulOperationStateLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SetOperationState)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG ulOperationStateLen, - CK_OBJECT_HANDLE hEncryptionKey, - CK_OBJECT_HANDLE hAuthenticationKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Login)( - CK_SESSION_HANDLE hSession, - CK_USER_TYPE userType, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Logout)( - CK_SESSION_HANDLE hSession -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_CreateObject)( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phObject -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_CopyObject)( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phNewObject -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DestroyObject)( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetObjectSize)( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ULONG_PTR pulSize -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetAttributeValue)( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SetAttributeValue)( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_FindObjectsInit)( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_FindObjects)( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE_PTR phObject, - CK_ULONG ulMaxObjectCount, - CK_ULONG_PTR pulObjectCount -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_FindObjectsFinal)( - CK_SESSION_HANDLE hSession -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_EncryptInit)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Encrypt)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pEncryptedData, - CK_ULONG_PTR pulEncryptedDataLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_EncryptUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_EncryptFinal)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastEncryptedPart, - CK_ULONG_PTR pulLastEncryptedPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DecryptInit)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Decrypt)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedData, - CK_ULONG ulEncryptedDataLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DecryptUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DecryptFinal)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastPart, - CK_ULONG_PTR pulLastPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DigestInit)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Digest)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DigestUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DigestKey)( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DigestFinal)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SignInit)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Sign)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SignUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SignFinal)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SignRecoverInit)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SignRecover)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_VerifyInit)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_Verify)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_VerifyUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_VerifyFinal)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_VerifyRecoverInit)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_VerifyRecover)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DigestEncryptUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DecryptDigestUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SignEncryptUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DecryptVerifyUpdate)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GenerateKey)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GenerateKeyPair)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG ulPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG ulPrivateKeyAttributeCount, - CK_OBJECT_HANDLE_PTR phPublicKey, - CK_OBJECT_HANDLE_PTR phPrivateKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_WrapKey)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hWrappingKey, - CK_OBJECT_HANDLE hKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG_PTR pulWrappedKeyLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_UnwrapKey)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hUnwrappingKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG ulWrappedKeyLen, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_DeriveKey)( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_SeedRandom)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSeed, - CK_ULONG ulSeedLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GenerateRandom)( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR RandomData, - CK_ULONG ulRandomLen -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_GetFunctionStatus)( - CK_SESSION_HANDLE hSession -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_CancelFunction)( - CK_SESSION_HANDLE hSession -); - -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_C_WaitForSlotEvent)( - CK_FLAGS flags, - CK_SLOT_ID_PTR pSlot, - CK_VOID_PTR pRserved -); - -#endif /* NSSCKFT_H */ diff --git a/security/nss/lib/ckfw/nssckfw.h b/security/nss/lib/ckfw/nssckfw.h deleted file mode 100644 index ce16f2b7b..000000000 --- a/security/nss/lib/ckfw/nssckfw.h +++ /dev/null @@ -1,499 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef NSSCKFW_H -#define NSSCKFW_H - -#ifdef DEBUG -static const char NSSCKFW_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssckfw.h - * - * This file prototypes the publicly available calls of the - * NSS Cryptoki Framework. - */ - -#ifndef NSSBASET_H -#include "nssbaset.h" -#endif /* NSSBASET_H */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -/* - * NSSCKFWInstance - * - * NSSCKFWInstance_GetMDInstance - * NSSCKFWInstance_GetArena - * NSSCKFWInstance_MayCreatePthreads - * NSSCKFWInstance_CreateMutex - * NSSCKFWInstance_GetConfigurationData - */ - -/* - * NSSCKFWInstance_GetMDInstance - * - */ - -NSS_EXTERN NSSCKMDInstance * -NSSCKFWInstance_GetMDInstance -( - NSSCKFWInstance *fwInstance -); - -/* - * NSSCKFWInstance_GetArena - * - */ - -NSS_EXTERN NSSArena * -NSSCKFWInstance_GetArena -( - NSSCKFWInstance *fwInstance, - CK_RV *pError -); - -/* - * NSSCKFWInstance_MayCreatePthreads - * - */ - -NSS_EXTERN CK_BBOOL -NSSCKFWInstance_MayCreatePthreads -( - NSSCKFWInstance *fwInstance -); - -/* - * NSSCKFWInstance_CreateMutex - * - */ - -NSS_EXTERN NSSCKFWMutex * -NSSCKFWInstance_CreateMutex -( - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -); - -/* - * NSSCKFWInstance_GetConfigurationData - * - */ - -NSS_EXTERN NSSUTF8 * -NSSCKFWInstance_GetConfigurationData -( - NSSCKFWInstance *fwInstance -); - -/* - * NSSCKFWSlot - * - * NSSCKFWSlot_GetMDSlot - * NSSCKFWSlot_GetFWInstance - * NSSCKFWSlot_GetMDInstance - * - */ - -/* - * NSSCKFWSlot_GetMDSlot - * - */ - -NSS_EXTERN NSSCKMDSlot * -NSSCKFWSlot_GetMDSlot -( - NSSCKFWSlot *fwSlot -); - -/* - * NSSCKFWSlot_GetFWInstance - * - */ - -NSS_EXTERN NSSCKFWInstance * -NSSCKFWSlot_GetFWInstance -( - NSSCKFWSlot *fwSlot -); - -/* - * NSSCKFWSlot_GetMDInstance - * - */ - -NSS_EXTERN NSSCKMDInstance * -NSSCKFWSlot_GetMDInstance -( - NSSCKFWSlot *fwSlot -); - -/* - * NSSCKFWToken - * - * NSSCKFWToken_GetMDToken - * NSSCKFWToken_GetFWSlot - * NSSCKFWToken_GetMDSlot - * NSSCKFWToken_GetSessionState - * - */ - -/* - * NSSCKFWToken_GetMDToken - * - */ - -NSS_EXTERN NSSCKMDToken * -NSSCKFWToken_GetMDToken -( - NSSCKFWToken *fwToken -); - -/* - * NSSCKFWToken_GetArena - * - */ - -NSS_EXTERN NSSArena * -NSSCKFWToken_GetArena -( - NSSCKFWToken *fwToken, - CK_RV *pError -); - -/* - * NSSCKFWToken_GetFWSlot - * - */ - -NSS_EXTERN NSSCKFWSlot * -NSSCKFWToken_GetFWSlot -( - NSSCKFWToken *fwToken -); - -/* - * NSSCKFWToken_GetMDSlot - * - */ - -NSS_EXTERN NSSCKMDSlot * -NSSCKFWToken_GetMDSlot -( - NSSCKFWToken *fwToken -); - -/* - * NSSCKFWToken_GetSessionState - * - */ - -NSS_EXTERN CK_STATE -NSSCKFWSession_GetSessionState -( - NSSCKFWToken *fwToken -); - -/* - * NSSCKFWMechanism - * - * NSSKCFWMechanism_GetMDMechanism - * NSSCKFWMechanism_GetParameter - * - */ - -/* - * NSSKCFWMechanism_GetMDMechanism - * - */ - -NSS_EXTERN NSSCKMDMechanism * -NSSCKFWMechanism_GetMDMechanism -( - NSSCKFWMechanism *fwMechanism -); - -/* - * NSSCKFWMechanism_GetParameter - * - */ - -NSS_EXTERN NSSItem * -NSSCKFWMechanism_GetParameter -( - NSSCKFWMechanism *fwMechanism -); - -/* - * NSSCKFWSession - * - * NSSCKFWSession_GetMDSession - * NSSCKFWSession_GetArena - * NSSCKFWSession_CallNotification - * NSSCKFWSession_IsRWSession - * NSSCKFWSession_IsSO - * - */ - -/* - * NSSCKFWSession_GetMDSession - * - */ - -NSS_EXTERN NSSCKMDSession * -NSSCKFWSession_GetMDSession -( - NSSCKFWSession *fwSession -); - -/* - * NSSCKFWSession_GetArena - * - */ - -NSS_EXTERN NSSArena * -NSSCKFWSession_GetArena -( - NSSCKFWSession *fwSession, - CK_RV *pError -); - -/* - * NSSCKFWSession_CallNotification - * - */ - -NSS_EXTERN CK_RV -NSSCKFWSession_CallNotification -( - NSSCKFWSession *fwSession, - CK_NOTIFICATION event -); - -/* - * NSSCKFWSession_IsRWSession - * - */ - -NSS_EXTERN CK_BBOOL -NSSCKFWSession_IsRWSession -( - NSSCKFWSession *fwSession -); - -/* - * NSSCKFWSession_IsSO - * - */ - -NSS_EXTERN CK_BBOOL -NSSCKFWSession_IsSO -( - NSSCKFWSession *fwSession -); - -/* - * NSSCKFWObject - * - * NSSCKFWObject_GetMDObject - * NSSCKFWObject_GetArena - * NSSCKFWObject_IsTokenObject - * NSSCKFWObject_GetAttributeCount - * NSSCKFWObject_GetAttributeTypes - * NSSCKFWObject_GetAttributeSize - * NSSCKFWObject_GetAttribute - * NSSCKFWObject_GetObjectSize - */ - -/* - * NSSCKFWObject_GetMDObject - * - */ -NSS_EXTERN NSSCKMDObject * -NSSCKFWObject_GetMDObject -( - NSSCKFWObject *fwObject -); - -/* - * NSSCKFWObject_GetArena - * - */ -NSS_EXTERN NSSArena * -NSSCKFWObject_GetArena -( - NSSCKFWObject *fwObject, - CK_RV *pError -); - -/* - * NSSCKFWObject_IsTokenObject - * - */ -NSS_EXTERN CK_BBOOL -NSSCKFWObject_IsTokenObject -( - NSSCKFWObject *fwObject -); - -/* - * NSSCKFWObject_GetAttributeCount - * - */ -NSS_EXTERN CK_ULONG -NSSCKFWObject_GetAttributeCount -( - NSSCKFWObject *fwObject, - CK_RV *pError -); - -/* - * NSSCKFWObject_GetAttributeTypes - * - */ -NSS_EXTERN CK_RV -NSSCKFWObject_GetAttributeTypes -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -); - -/* - * NSSCKFWObject_GetAttributeSize - * - */ -NSS_EXTERN CK_ULONG -NSSCKFWObject_GetAttributeSize -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -); - -/* - * NSSCKFWObject_GetAttribute - * - */ -NSS_EXTERN NSSItem * -NSSCKFWObject_GetAttribute -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *itemOpt, - NSSArena *arenaOpt, - CK_RV *pError -); - -/* - * NSSCKFWObject_GetObjectSize - * - */ -NSS_EXTERN CK_ULONG -NSSCKFWObject_GetObjectSize -( - NSSCKFWObject *fwObject, - CK_RV *pError -); - -/* - * NSSCKFWFindObjects - * - * NSSCKFWFindObjects_GetMDFindObjects - * - */ - -/* - * NSSCKFWFindObjects_GetMDFindObjects - * - */ - -NSS_EXTERN NSSCKMDFindObjects * -NSSCKFWFindObjects_GetMDFindObjects -( - NSSCKFWFindObjects * -); - -/* - * NSSCKFWMutex - * - * NSSCKFWMutex_Destroy - * NSSCKFWMutex_Lock - * NSSCKFWMutex_Unlock - * - */ - -/* - * NSSCKFWMutex_Destroy - * - */ - -NSS_EXTERN CK_RV -NSSCKFWMutex_Destroy -( - NSSCKFWMutex *mutex -); - -/* - * NSSCKFWMutex_Lock - * - */ - -NSS_EXTERN CK_RV -NSSCKFWMutex_Lock -( - NSSCKFWMutex *mutex -); - -/* - * NSSCKFWMutex_Unlock - * - */ - -NSS_EXTERN CK_RV -NSSCKFWMutex_Unlock -( - NSSCKFWMutex *mutex -); - -#endif /* NSSCKFW_H */ - diff --git a/security/nss/lib/ckfw/nssckfwc.h b/security/nss/lib/ckfw/nssckfwc.h deleted file mode 100644 index 02b15ec35..000000000 --- a/security/nss/lib/ckfw/nssckfwc.h +++ /dev/null @@ -1,1046 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef NSSCKFWC_H -#define NSSCKFWC_H - -#ifdef DEBUG -static const char NSSCKFWC_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssckfwc.h - * - * This file prototypes all of the NSS Cryptoki Framework "wrapper" - * which implement the PKCS#11 API. Technically, these are public - * routines (with capital "NSS" prefixes), since they are called - * from (generated) code within a Module using the Framework. - * However, they should not be called except from those generated - * calls. Hence, the prototypes have been split out into this file. - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -#ifndef NSSCKMDT_H -#include "nssckmdt.h" -#endif /* NSSCKMDT_H */ - -/* - * NSSCKFWC_Initialize - * NSSCKFWC_Finalize - * NSSCKFWC_GetInfo - * -- NSSCKFWC_GetFunctionList -- see the API insert file - * NSSCKFWC_GetSlotList - * NSSCKFWC_GetSlotInfo - * NSSCKFWC_GetTokenInfo - * NSSCKFWC_WaitForSlotEvent - * NSSCKFWC_GetMechanismList - * NSSCKFWC_GetMechanismInfo - * NSSCKFWC_InitToken - * NSSCKFWC_InitPIN - * NSSCKFWC_SetPIN - * NSSCKFWC_OpenSession - * NSSCKFWC_CloseSession - * NSSCKFWC_CloseAllSessions - * NSSCKFWC_GetSessionInfo - * NSSCKFWC_GetOperationState - * NSSCKFWC_SetOperationState - * NSSCKFWC_Login - * NSSCKFWC_Logout - * NSSCKFWC_CreateObject - * NSSCKFWC_CopyObject - * NSSCKFWC_DestroyObject - * NSSCKFWC_GetObjectSize - * NSSCKFWC_GetAttributeValue - * NSSCKFWC_SetAttributeValue - * NSSCKFWC_FindObjectsInit - * NSSCKFWC_FindObjects - * NSSCKFWC_FindObjectsFinal - * NSSCKFWC_EncryptInit - * NSSCKFWC_Encrypt - * NSSCKFWC_EncryptUpdate - * NSSCKFWC_EncryptFinal - * NSSCKFWC_DecryptInit - * NSSCKFWC_Decrypt - * NSSCKFWC_DecryptUpdate - * NSSCKFWC_DecryptFinal - * NSSCKFWC_DigestInit - * NSSCKFWC_Digest - * NSSCKFWC_DigestUpdate - * NSSCKFWC_DigestKey - * NSSCKFWC_DigestFinal - * NSSCKFWC_SignInit - * NSSCKFWC_Sign - * NSSCKFWC_SignUpdate - * NSSCKFWC_SignFinal - * NSSCKFWC_SignRecoverInit - * NSSCKFWC_SignRecover - * NSSCKFWC_VerifyInit - * NSSCKFWC_Verify - * NSSCKFWC_VerifyUpdate - * NSSCKFWC_VerifyFinal - * NSSCKFWC_VerifyRecoverInit - * NSSCKFWC_VerifyRecover - * NSSCKFWC_DigestEncryptUpdate - * NSSCKFWC_DecryptDigestUpdate - * NSSCKFWC_SignEncryptUpdate - * NSSCKFWC_DecryptVerifyUpdate - * NSSCKFWC_GenerateKey - * NSSCKFWC_GenerateKeyPair - * NSSCKFWC_WrapKey - * NSSCKFWC_UnwrapKey - * NSSCKFWC_DeriveKey - * NSSCKFWC_SeedRandom - * NSSCKFWC_GenerateRandom - * NSSCKFWC_GetFunctionStatus - * NSSCKFWC_CancelFunction - */ - -/* - * NSSCKFWC_Initialize - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Initialize -( - NSSCKFWInstance **pFwInstance, - NSSCKMDInstance *mdInstance, - CK_VOID_PTR pInitArgs -); - -/* - * NSSCKFWC_Finalize - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Finalize -( - NSSCKFWInstance **pFwInstance -); - -/* - * NSSCKFWC_GetInfo - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetInfo -( - NSSCKFWInstance *fwInstance, - CK_INFO_PTR pInfo -); - -/* - * C_GetFunctionList is implemented entirely in the Module's file which - * includes the Framework API insert file. It requires no "actual" - * NSSCKFW routine. - */ - -/* - * NSSCKFWC_GetSlotList - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetSlotList -( - NSSCKFWInstance *fwInstance, - CK_BBOOL tokenPresent, - CK_SLOT_ID_PTR pSlotList, - CK_ULONG_PTR pulCount -); - -/* - * NSSCKFWC_GetSlotInfo - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetSlotInfo -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_SLOT_INFO_PTR pInfo -); - -/* - * NSSCKFWC_GetTokenInfo - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetTokenInfo -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_TOKEN_INFO_PTR pInfo -); - -/* - * NSSCKFWC_WaitForSlotEvent - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_WaitForSlotEvent -( - NSSCKFWInstance *fwInstance, - CK_FLAGS flags, - CK_SLOT_ID_PTR pSlot, - CK_VOID_PTR pReserved -); - -/* - * NSSCKFWC_GetMechanismList - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetMechanismList -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE_PTR pMechanismList, - CK_ULONG_PTR pulCount -); - -/* - * NSSCKFWC_GetMechanismInfo - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetMechanismInfo -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE type, - CK_MECHANISM_INFO_PTR pInfo -); - -/* - * NSSCKFWC_InitToken - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_InitToken -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen, - CK_CHAR_PTR pLabel -); - -/* - * NSSCKFWC_InitPIN - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_InitPIN -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -); - -/* - * NSSCKFWC_SetPIN - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SetPIN -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pOldPin, - CK_ULONG ulOldLen, - CK_CHAR_PTR pNewPin, - CK_ULONG ulNewLen -); - -/* - * NSSCKFWC_OpenSession - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_OpenSession -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_SESSION_HANDLE_PTR phSession -); - -/* - * NSSCKFWC_CloseSession - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_CloseSession -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -); - -/* - * NSSCKFWC_CloseAllSessions - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_CloseAllSessions -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID -); - -/* - * NSSCKFWC_GetSessionInfo - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetSessionInfo -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_SESSION_INFO_PTR pInfo -); - -/* - * NSSCKFWC_GetOperationState - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetOperationState -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG_PTR pulOperationStateLen -); - -/* - * NSSCKFWC_SetOperationState - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SetOperationState -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG ulOperationStateLen, - CK_OBJECT_HANDLE hEncryptionKey, - CK_OBJECT_HANDLE hAuthenticationKey -); - -/* - * NSSCKFWC_Login - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Login -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_USER_TYPE userType, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -); - -/* - * NSSCKFWC_Logout - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Logout -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -); - -/* - * NSSCKFWC_CreateObject - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_CreateObject -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phObject -); - -/* - * NSSCKFWC_CopyObject - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_CopyObject -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phNewObject -); - -/* - * NSSCKFWC_DestroyObject - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DestroyObject -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject -); - -/* - * NSSCKFWC_GetObjectSize - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetObjectSize -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ULONG_PTR pulSize -); - -/* - * NSSCKFWC_GetAttributeValue - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetAttributeValue -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -/* - * NSSCKFWC_SetAttributeValue - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SetAttributeValue -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -/* - * NSSCKFWC_FindObjectsInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_FindObjectsInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -/* - * NSSCKFWC_FindObjects - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_FindObjects -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE_PTR phObject, - CK_ULONG ulMaxObjectCount, - CK_ULONG_PTR pulObjectCount -); - -/* - * NSSCKFWC_FindObjectsFinal - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_FindObjectsFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -); - -/* - * NSSCKFWC_EncryptInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_EncryptInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -/* - * NSSCKFWC_Encrypt - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Encrypt -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pEncryptedData, - CK_ULONG_PTR pulEncryptedDataLen -); - -/* - * NSSCKFWC_EncryptUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_EncryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -/* - * NSSCKFWC_EncryptFinal - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_EncryptFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastEncryptedPart, - CK_ULONG_PTR pulLastEncryptedPartLen -); - -/* - * NSSCKFWC_DecryptInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DecryptInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -/* - * NSSCKFWC_Decrypt - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Decrypt -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedData, - CK_ULONG ulEncryptedDataLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -); - -/* - * NSSCKFWC_DecryptUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DecryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -/* - * NSSCKFWC_DecryptFinal - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DecryptFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastPart, - CK_ULONG_PTR pulLastPartLen -); - -/* - * NSSCKFWC_DigestInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DigestInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism -); - -/* - * NSSCKFWC_Digest - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Digest -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -); - -/* - * NSSCKFWC_DigestUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DigestUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen -); - -/* - * NSSCKFWC_DigestKey - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DigestKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hKey -); - -/* - * NSSCKFWC_DigestFinal - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DigestFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -); - -/* - * NSSCKFWC_SignInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SignInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -/* - * NSSCKFWC_Sign - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Sign -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -/* - * NSSCKFWC_SignUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SignUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -/* - * NSSCKFWC_SignFinal - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SignFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -/* - * NSSCKFWC_SignRecoverInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SignRecoverInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -/* - * NSSCKFWC_SignRecover - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SignRecover -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -/* - * NSSCKFWC_VerifyInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_VerifyInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -/* - * NSSCKFWC_Verify - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_Verify -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -); - -/* - * NSSCKFWC_VerifyUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_VerifyUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -/* - * NSSCKFWC_VerifyFinal - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_VerifyFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -); - -/* - * NSSCKFWC_VerifyRecoverInit - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_VerifyRecoverInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -/* - * NSSCKFWC_VerifyRecover - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_VerifyRecover -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -); - -/* - * NSSCKFWC_DigestEncryptUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DigestEncryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -/* - * NSSCKFWC_DecryptDigestUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DecryptDigestUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -/* - * NSSCKFWC_SignEncryptUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SignEncryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -/* - * NSSCKFWC_DecryptVerifyUpdate - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DecryptVerifyUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -/* - * NSSCKFWC_GenerateKey - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GenerateKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phKey -); - -/* - * NSSCKFWC_GenerateKeyPair - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GenerateKeyPair -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG ulPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG ulPrivateKeyAttributeCount, - CK_OBJECT_HANDLE_PTR phPublicKey, - CK_OBJECT_HANDLE_PTR phPrivateKey -); - -/* - * NSSCKFWC_WrapKey - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_WrapKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hWrappingKey, - CK_OBJECT_HANDLE hKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG_PTR pulWrappedKeyLen -); - -/* - * NSSCKFWC_UnwrapKey - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_UnwrapKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hUnwrappingKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG ulWrappedKeyLen, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -); - -/* - * NSSCKFWC_DeriveKey - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_DeriveKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -); - -/* - * NSSCKFWC_SeedRandom - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_SeedRandom -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSeed, - CK_ULONG ulSeedLen -); - -/* - * NSSCKFWC_GenerateRandom - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GenerateRandom -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pRandomData, - CK_ULONG ulRandomLen -); - -/* - * NSSCKFWC_GetFunctionStatus - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_GetFunctionStatus -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -); - -/* - * NSSCKFWC_CancelFunction - * - */ -NSS_EXTERN CK_RV -NSSCKFWC_CancelFunction -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -); - -#endif /* NSSCKFWC_H */ diff --git a/security/nss/lib/ckfw/nssckfwt.h b/security/nss/lib/ckfw/nssckfwt.h deleted file mode 100644 index 13be0f325..000000000 --- a/security/nss/lib/ckfw/nssckfwt.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef NSSCKFWT_H -#define NSSCKFWT_H - -#ifdef DEBUG -static const char NSSCKFWT_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssckfwt.h - * - * This file declares the public types used by the NSS Cryptoki Framework. - */ - -/* - * NSSCKFWInstance - * - */ - -struct NSSCKFWInstanceStr; -typedef struct NSSCKFWInstanceStr NSSCKFWInstance; - -/* - * NSSCKFWSlot - * - */ - -struct NSSCKFWSlotStr; -typedef struct NSSCKFWSlotStr NSSCKFWSlot; - -/* - * NSSCKFWToken - * - */ - -struct NSSCKFWTokenStr; -typedef struct NSSCKFWTokenStr NSSCKFWToken; - -/* - * NSSCKFWMechanism - * - */ - -struct NSSCKFWMechanismStr; -typedef struct NSSCKFWMechanismStr NSSCKFWMechanism; - -/* - * NSSCKFWSession - * - */ - -struct NSSCKFWSessionStr; -typedef struct NSSCKFWSessionStr NSSCKFWSession; - -/* - * NSSCKFWObject - * - */ - -struct NSSCKFWObjectStr; -typedef struct NSSCKFWObjectStr NSSCKFWObject; - -/* - * NSSCKFWFindObjects - * - */ - -struct NSSCKFWFindObjectsStr; -typedef struct NSSCKFWFindObjectsStr NSSCKFWFindObjects; - -/* - * NSSCKFWMutex - * - */ - -struct NSSCKFWMutexStr; -typedef struct NSSCKFWMutexStr NSSCKFWMutex; - -#endif /* NSSCKFWT_H */ diff --git a/security/nss/lib/ckfw/nssckg.h b/security/nss/lib/ckfw/nssckg.h deleted file mode 100644 index 3dc76622a..000000000 --- a/security/nss/lib/ckfw/nssckg.h +++ /dev/null @@ -1,560 +0,0 @@ -/* THIS IS A GENERATED FILE */ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ -#ifndef NSSCKG_H -#define NSSCKG_H - -#ifdef DEBUG -static const char NSSCKG_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$ ; @(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssckg.h - * - * This automatically-generated header file prototypes the Cryptoki - * functions specified by PKCS#11. - */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -CK_RV CK_ENTRY C_Initialize -( - CK_VOID_PTR pInitArgs -); - -CK_RV CK_ENTRY C_Finalize -( - CK_VOID_PTR pReserved -); - -CK_RV CK_ENTRY C_GetInfo -( - CK_INFO_PTR pInfo -); - -CK_RV CK_ENTRY C_GetFunctionList -( - CK_FUNCTION_LIST_PTR_PTR ppFunctionList -); - -CK_RV CK_ENTRY C_GetSlotList -( - CK_BBOOL tokenPresent, - CK_SLOT_ID_PTR pSlotList, - CK_ULONG_PTR pulCount -); - -CK_RV CK_ENTRY C_GetSlotInfo -( - CK_SLOT_ID slotID, - CK_SLOT_INFO_PTR pInfo -); - -CK_RV CK_ENTRY C_GetTokenInfo -( - CK_SLOT_ID slotID, - CK_TOKEN_INFO_PTR pInfo -); - -CK_RV CK_ENTRY C_GetMechanismList -( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE_PTR pMechanismList, - CK_ULONG_PTR pulCount -); - -CK_RV CK_ENTRY C_GetMechanismInfo -( - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE type, - CK_MECHANISM_INFO_PTR pInfo -); - -CK_RV CK_ENTRY C_InitToken -( - CK_SLOT_ID slotID, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen, - CK_CHAR_PTR pLabel -); - -CK_RV CK_ENTRY C_InitPIN -( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -); - -CK_RV CK_ENTRY C_SetPIN -( - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pOldPin, - CK_ULONG ulOldLen, - CK_CHAR_PTR pNewPin, - CK_ULONG ulNewLen -); - -CK_RV CK_ENTRY C_OpenSession -( - CK_SLOT_ID slotID, - CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_SESSION_HANDLE_PTR phSession -); - -CK_RV CK_ENTRY C_CloseSession -( - CK_SESSION_HANDLE hSession -); - -CK_RV CK_ENTRY C_CloseAllSessions -( - CK_SLOT_ID slotID -); - -CK_RV CK_ENTRY C_GetSessionInfo -( - CK_SESSION_HANDLE hSession, - CK_SESSION_INFO_PTR pInfo -); - -CK_RV CK_ENTRY C_GetOperationState -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG_PTR pulOperationStateLen -); - -CK_RV CK_ENTRY C_SetOperationState -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG ulOperationStateLen, - CK_OBJECT_HANDLE hEncryptionKey, - CK_OBJECT_HANDLE hAuthenticationKey -); - -CK_RV CK_ENTRY C_Login -( - CK_SESSION_HANDLE hSession, - CK_USER_TYPE userType, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -); - -CK_RV CK_ENTRY C_Logout -( - CK_SESSION_HANDLE hSession -); - -CK_RV CK_ENTRY C_CreateObject -( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phObject -); - -CK_RV CK_ENTRY C_CopyObject -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phNewObject -); - -CK_RV CK_ENTRY C_DestroyObject -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject -); - -CK_RV CK_ENTRY C_GetObjectSize -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ULONG_PTR pulSize -); - -CK_RV CK_ENTRY C_GetAttributeValue -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -CK_RV CK_ENTRY C_SetAttributeValue -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -CK_RV CK_ENTRY C_FindObjectsInit -( - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -); - -CK_RV CK_ENTRY C_FindObjects -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE_PTR phObject, - CK_ULONG ulMaxObjectCount, - CK_ULONG_PTR pulObjectCount -); - -CK_RV CK_ENTRY C_FindObjectsFinal -( - CK_SESSION_HANDLE hSession -); - -CK_RV CK_ENTRY C_EncryptInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -CK_RV CK_ENTRY C_Encrypt -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pEncryptedData, - CK_ULONG_PTR pulEncryptedDataLen -); - -CK_RV CK_ENTRY C_EncryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -CK_RV CK_ENTRY C_EncryptFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastEncryptedPart, - CK_ULONG_PTR pulLastEncryptedPartLen -); - -CK_RV CK_ENTRY C_DecryptInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -CK_RV CK_ENTRY C_Decrypt -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedData, - CK_ULONG ulEncryptedDataLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -); - -CK_RV CK_ENTRY C_DecryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -CK_RV CK_ENTRY C_DecryptFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastPart, - CK_ULONG_PTR pulLastPartLen -); - -CK_RV CK_ENTRY C_DigestInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism -); - -CK_RV CK_ENTRY C_Digest -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -); - -CK_RV CK_ENTRY C_DigestUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -CK_RV CK_ENTRY C_DigestKey -( - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hKey -); - -CK_RV CK_ENTRY C_DigestFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -); - -CK_RV CK_ENTRY C_SignInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -CK_RV CK_ENTRY C_Sign -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -CK_RV CK_ENTRY C_SignUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -CK_RV CK_ENTRY C_SignFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -CK_RV CK_ENTRY C_SignRecoverInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -CK_RV CK_ENTRY C_SignRecover -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -); - -CK_RV CK_ENTRY C_VerifyInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -CK_RV CK_ENTRY C_Verify -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -); - -CK_RV CK_ENTRY C_VerifyUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -); - -CK_RV CK_ENTRY C_VerifyFinal -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -); - -CK_RV CK_ENTRY C_VerifyRecoverInit -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -); - -CK_RV CK_ENTRY C_VerifyRecover -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -); - -CK_RV CK_ENTRY C_DigestEncryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -CK_RV CK_ENTRY C_DecryptDigestUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -CK_RV CK_ENTRY C_SignEncryptUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -); - -CK_RV CK_ENTRY C_DecryptVerifyUpdate -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -); - -CK_RV CK_ENTRY C_GenerateKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phKey -); - -CK_RV CK_ENTRY C_GenerateKeyPair -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG ulPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG ulPrivateKeyAttributeCount, - CK_OBJECT_HANDLE_PTR phPublicKey, - CK_OBJECT_HANDLE_PTR phPrivateKey -); - -CK_RV CK_ENTRY C_WrapKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hWrappingKey, - CK_OBJECT_HANDLE hKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG_PTR pulWrappedKeyLen -); - -CK_RV CK_ENTRY C_UnwrapKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hUnwrappingKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG ulWrappedKeyLen, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -); - -CK_RV CK_ENTRY C_DeriveKey -( - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -); - -CK_RV CK_ENTRY C_SeedRandom -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSeed, - CK_ULONG ulSeedLen -); - -CK_RV CK_ENTRY C_GenerateRandom -( - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR RandomData, - CK_ULONG ulRandomLen -); - -CK_RV CK_ENTRY C_GetFunctionStatus -( - CK_SESSION_HANDLE hSession -); - -CK_RV CK_ENTRY C_CancelFunction -( - CK_SESSION_HANDLE hSession -); - -CK_RV CK_ENTRY C_WaitForSlotEvent -( - CK_FLAGS flags, - CK_SLOT_ID_PTR pSlot, - CK_VOID_PTR pRserved -); - -#endif /* NSSCKG_H */ diff --git a/security/nss/lib/ckfw/nssckmdt.h b/security/nss/lib/ckfw/nssckmdt.h deleted file mode 100644 index 30e4fc33b..000000000 --- a/security/nss/lib/ckfw/nssckmdt.h +++ /dev/null @@ -1,2014 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifndef NSSCKMDT_H -#define NSSCKMDT_H - -#ifdef DEBUG -static const char NSSCKMDT_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * nssckmdt.h - * - * This file specifies the basic types that must be implemented by - * any Module using the NSS Cryptoki Framework. - */ - -#ifndef NSSBASET_H -#include "nssbaset.h" -#endif /* NSSBASET_H */ - -#ifndef NSSCKT_H -#include "nssckt.h" -#endif /* NSSCKT_H */ - -#ifndef NSSCKFWT_H -#include "nssckfwt.h" -#endif /* NSSCKFWT_H */ - -typedef struct NSSCKMDInstanceStr NSSCKMDInstance; -typedef struct NSSCKMDSlotStr NSSCKMDSlot; -typedef struct NSSCKMDTokenStr NSSCKMDToken; -typedef struct NSSCKMDSessionStr NSSCKMDSession; -typedef struct NSSCKMDFindObjectsStr NSSCKMDFindObjects; -typedef struct NSSCKMDMechanismStr NSSCKMDMechanism; -typedef struct NSSCKMDObjectStr NSSCKMDObject; - -/* - * NSSCKMDInstance - * - * This is the basic handle for an instance of a PKCS#11 Module. - * It is returned by the Module's CreateInstance routine, and - * may be obtained from the corresponding NSSCKFWInstance object. - * It contains a pointer for use by the Module, to store any - * instance-related data, and it contains the EPV for a set of - * routines which the Module may implement for use by the Framework. - * Some of these routines are optional; others are mandatory. - */ - -struct NSSCKMDInstanceStr { - /* - * The Module may use this pointer for its own purposes. - */ - void *etc; - - /* - * This routine is called by the Framework to initialize - * the Module. This routine is optional; if unimplemented, - * it won't be called. If this routine returns an error, - * then the initialization will fail. - */ - CK_RV (PR_CALLBACK *Initialize)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSUTF8 *configurationData - ); - - /* - * This routine is called when the Framework is finalizing - * the PKCS#11 Module. It is the last thing called before - * the NSSCKFWInstance's NSSArena is destroyed. This routine - * is optional; if unimplemented, it merely won't be called. - */ - void (PR_CALLBACK *Finalize)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine gets the number of slots. This value must - * never change, once the instance is initialized. This - * routine must be implemented. It may return zero on error. - */ - CK_ULONG (PR_CALLBACK *GetNSlots)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns the version of the Cryptoki standard - * to which this Module conforms. This routine is optional; - * if unimplemented, the Framework uses the version to which - * ~it~ was implemented. - */ - CK_VERSION (PR_CALLBACK *GetCryptokiVersion)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing the manufacturer ID for this Module. Only - * the characters completely encoded in the first thirty- - * two bytes are significant. This routine is optional. - * The string returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetManufacturerID)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing a description of this Module library. Only - * the characters completely encoded in the first thirty- - * two bytes are significant. This routine is optional. - * The string returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetLibraryDescription)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns the version of this Module library. - * This routine is optional; if unimplemented, the Framework - * will assume a Module library version of 0.1. - */ - CK_VERSION (PR_CALLBACK *GetLibraryVersion)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if the Module wishes to - * handle session objects. This routine is optional. - * If this routine is NULL, or if it exists but returns - * CK_FALSE, the Framework will assume responsibility - * for managing session objects. - */ - CK_BBOOL (PR_CALLBACK *ModuleHandlesSessionObjects)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine stuffs pointers to NSSCKMDSlot objects into - * the specified array; one for each slot supported by this - * instance. The Framework will determine the size needed - * for the array by calling GetNSlots. This routine is - * required. - */ - CK_RV (PR_CALLBACK *GetSlots)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDSlot *slots[] - ); - - /* - * This call returns a pointer to the slot in which an event - * has occurred. If the block argument is CK_TRUE, the call - * should block until a slot event occurs; if CK_FALSE, it - * should check to see if an event has occurred, occurred, - * but return NULL (and set *pError to CK_NO_EVENT) if one - * hasn't. This routine is optional; if unimplemented, the - * Framework will assume that no event has happened. This - * routine may return NULL upon error. - */ - NSSCKMDSlot *(PR_CALLBACK *WaitForSlotEvent)( - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_BBOOL block, - CK_RV *pError - ); - - /* - * This object may be extended in future versions of the - * NSS Cryptoki Framework. To allow for some flexibility - * in the area of binary compatibility, this field should - * be NULL. - */ - void *null; -}; - - -/* - * NSSCKMDSlot - * - * This is the basic handle for a PKCS#11 Module Slot. It is - * created by the NSSCKMDInstance->GetSlots call, and may be - * obtained from the Framework's corresponding NSSCKFWSlot - * object. It contains a pointer for use by the Module, to - * store any slot-related data, and it contains the EPV for - * a set of routines which the Module may implement for use - * by the Framework. Some of these routines are optional. - */ - -struct NSSCKMDSlotStr { - /* - * The Module may use this pointer for its own purposes. - */ - void *etc; - - /* - * This routine is called during the Framework initialization - * step, after the Framework Instance has obtained the list - * of slots (by calling NSSCKMDInstance->GetSlots). Any slot- - * specific initialization can be done here. This routine is - * optional; if unimplemented, it won't be called. Note that - * if this routine returns an error, the entire Framework - * initialization for this Module will fail. - */ - CK_RV (PR_CALLBACK *Initialize)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine is called when the Framework is finalizing - * the PKCS#11 Module. This call (for each of the slots) - * is the last thing called before NSSCKMDInstance->Finalize. - * This routine is optional; if unimplemented, it merely - * won't be called. Note: In the rare circumstance that - * the Framework initialization cannot complete (due to, - * for example, memory limitations), this can be called with - * a NULL value for fwSlot. - */ - void (PR_CALLBACK *Destroy)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing a description of this slot. Only the characters - * completely encoded in the first sixty-four bytes are - * significant. This routine is optional. The string - * returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetSlotDescription)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing a description of the manufacturer of this slot. - * Only the characters completely encoded in the first thirty- - * two bytes are significant. This routine is optional. - * The string returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetManufacturerID)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns CK_TRUE if a token is present in this - * slot. This routine is optional; if unimplemented, CK_TRUE - * is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetTokenPresent)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if the slot supports removable - * tokens. This routine is optional; if unimplemented, CK_FALSE - * is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetRemovableDevice)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if this slot is a hardware - * device, or CK_FALSE if this slot is a software device. This - * routine is optional; if unimplemented, CK_FALSE is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetHardwareSlot)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the version of this slot's hardware. - * This routine is optional; if unimplemented, the Framework - * will assume a hardware version of 0.1. - */ - CK_VERSION (PR_CALLBACK *GetHardwareVersion)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the version of this slot's firmware. - * This routine is optional; if unimplemented, the Framework - * will assume a hardware version of 0.1. - */ - CK_VERSION (PR_CALLBACK *GetFirmwareVersion)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine should return a pointer to an NSSCKMDToken - * object corresponding to the token in the specified slot. - * The NSSCKFWToken object passed in has an NSSArena - * available which is dedicated for this token. This routine - * must be implemented. This routine may return NULL upon - * error. - */ - NSSCKMDToken *(PR_CALLBACK *GetToken)( - NSSCKMDSlot *mdSlot, - NSSCKFWSlot *fwSlot, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This object may be extended in future versions of the - * NSS Cryptoki Framework. To allow for some flexibility - * in the area of binary compatibility, this field should - * be NULL. - */ - void *null; -}; - -/* - * NSSCKMDToken - * - * This is the basic handle for a PKCS#11 Token. It is created by - * the NSSCKMDSlot->GetToken call, and may be obtained from the - * Framework's corresponding NSSCKFWToken object. It contains a - * pointer for use by the Module, to store any token-related - * data, and it contains the EPV for a set of routines which the - * Module may implement for use by the Framework. Some of these - * routines are optional. - */ - -struct NSSCKMDTokenStr { - /* - * The Module may use this pointer for its own purposes. - */ - void *etc; - - /* - * This routine is used to prepare a Module token object for - * use. It is called after the NSSCKMDToken object is obtained - * from NSSCKMDSlot->GetToken. It is named "Setup" here because - * Cryptoki already defines "InitToken" to do the process of - * wiping out any existing state on a token and preparing it for - * a new use. This routine is optional; if unimplemented, it - * merely won't be called. - */ - CK_RV (PR_CALLBACK *Setup)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine is called by the Framework whenever it notices - * that the token object is invalid. (Typically this is when a - * routine indicates an error such as CKR_DEVICE_REMOVED). This - * call is the last thing called before the NSSArena in the - * corresponding NSSCKFWToken is destroyed. This routine is - * optional; if unimplemented, it merely won't be called. - */ - void (PR_CALLBACK *Invalidate)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine initialises the token in the specified slot. - * This routine is optional; if unimplemented, the Framework - * will fail this operation with an error of CKR_DEVICE_ERROR. - */ - - CK_RV (PR_CALLBACK *InitToken)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *pin, - NSSUTF8 *label - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing this token's label. Only the characters - * completely encoded in the first thirty-two bytes are - * significant. This routine is optional. The string - * returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetLabel)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing this token's manufacturer ID. Only the characters - * completely encoded in the first thirty-two bytes are - * significant. This routine is optional. The string - * returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetManufacturerID)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing this token's model name. Only the characters - * completely encoded in the first thirty-two bytes are - * significant. This routine is optional. The string - * returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetModel)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns a pointer to a UTF8-encoded string - * containing this token's serial number. Only the characters - * completely encoded in the first thirty-two bytes are - * significant. This routine is optional. The string - * returned is never freed; if dynamically generated, - * the space for it should be allocated from the NSSArena - * that may be obtained from the NSSCKFWInstance. This - * routine may return NULL upon error; however if *pError - * is CKR_OK, the NULL will be considered the valid response. - */ - NSSUTF8 *(PR_CALLBACK *GetSerialNumber)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns CK_TRUE if the token has its own - * random number generator. This routine is optional; if - * unimplemented, CK_FALSE is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetHasRNG)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if this token is write-protected. - * This routine is optional; if unimplemented, CK_FALSE is - * assumed. - */ - CK_BBOOL (PR_CALLBACK *GetIsWriteProtected)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if this token requires a login. - * This routine is optional; if unimplemented, CK_FALSE is - * assumed. - */ - CK_BBOOL (PR_CALLBACK *GetLoginRequired)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if the normal user's PIN on this - * token has been initialised. This routine is optional; if - * unimplemented, CK_FALSE is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetUserPinInitialized)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if a successful save of a - * session's cryptographic operations state ~always~ contains - * all keys needed to restore the state of the session. This - * routine is optional; if unimplemented, CK_FALSE is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetRestoreKeyNotNeeded)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if the token has its own - * hardware clock. This routine is optional; if unimplemented, - * CK_FALSE is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetHasClockOnToken)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if the token has a protected - * authentication path. This routine is optional; if - * unimplemented, CK_FALSE is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetHasProtectedAuthenticationPath)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns CK_TRUE if the token supports dual - * cryptographic operations within a single session. This - * routine is optional; if unimplemented, CK_FALSE is assumed. - */ - CK_BBOOL (PR_CALLBACK *GetSupportsDualCryptoOperations)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * XXX fgmr-- should we have a call to return all the flags - * at once, for folks who already know about Cryptoki? - */ - - /* - * This routine returns the maximum number of sessions that - * may be opened on this token. This routine is optional; - * if unimplemented, the special value CK_UNAVAILABLE_INFORMATION - * is assumed. XXX fgmr-- or CK_EFFECTIVELY_INFINITE? - */ - CK_ULONG (PR_CALLBACK *GetMaxSessionCount)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the maximum number of read/write - * sesisons that may be opened on this token. This routine - * is optional; if unimplemented, the special value - * CK_UNAVAILABLE_INFORMATION is assumed. XXX fgmr-- or - * CK_EFFECTIVELY_INFINITE? - */ - CK_ULONG (PR_CALLBACK *GetMaxRwSessionCount)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the maximum PIN code length that is - * supported on this token. This routine is optional; - * if unimplemented, the special value CK_UNAVAILABLE_INFORMATION - * is assumed. - */ - CK_ULONG (PR_CALLBACK *GetMaxPinLen)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the minimum PIN code length that is - * supported on this token. This routine is optional; if - * unimplemented, the special value CK_UNAVAILABLE_INFORMATION - * is assumed. XXX fgmr-- or 0? - */ - CK_ULONG (PR_CALLBACK *GetMinPinLen)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the total amount of memory on the token - * in which public objects may be stored. This routine is - * optional; if unimplemented, the special value - * CK_UNAVAILABLE_INFORMATION is assumed. - */ - CK_ULONG (PR_CALLBACK *GetTotalPublicMemory)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the amount of unused memory on the - * token in which public objects may be stored. This routine - * is optional; if unimplemented, the special value - * CK_UNAVAILABLE_INFORMATION is assumed. - */ - CK_ULONG (PR_CALLBACK *GetFreePublicMemory)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the total amount of memory on the token - * in which private objects may be stored. This routine is - * optional; if unimplemented, the special value - * CK_UNAVAILABLE_INFORMATION is assumed. - */ - CK_ULONG (PR_CALLBACK *GetTotalPrivateMemory)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the amount of unused memory on the - * token in which private objects may be stored. This routine - * is optional; if unimplemented, the special value - * CK_UNAVAILABLE_INFORMATION is assumed. - */ - CK_ULONG (PR_CALLBACK *GetFreePrivateMemory)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the version number of this token's - * hardware. This routine is optional; if unimplemented, - * the value 0.1 is assumed. - */ - CK_VERSION (PR_CALLBACK *GetHardwareVersion)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the version number of this token's - * firmware. This routine is optional; if unimplemented, - * the value 0.1 is assumed. - */ - CK_VERSION (PR_CALLBACK *GetFirmwareVersion)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine stuffs the current UTC time, as obtained from - * the token, into the sixteen-byte buffer in the form - * YYYYMMDDhhmmss00. This routine need only be implemented - * by token which indicate that they have a real-time clock. - * XXX fgmr-- think about time formats. - */ - CK_RV (PR_CALLBACK *GetUTCTime)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_CHAR utcTime[16] - ); - - /* - * This routine creates a session on the token, and returns - * the corresponding NSSCKMDSession object. The value of - * rw will be CK_TRUE if the session is to be a read/write - * session, or CK_FALSE otherwise. An NSSArena dedicated to - * the new session is available from the specified NSSCKFWSession. - * This routine may return NULL upon error. - */ - NSSCKMDSession *(PR_CALLBACK *OpenSession)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKFWSession *fwSession, - CK_BBOOL rw, - CK_RV *pError - ); - - /* - * This routine returns the number of PKCS#11 Mechanisms - * supported by this token. This routine is optional; if - * unimplemented, zero is assumed. - */ - CK_ULONG (PR_CALLBACK *GetMechanismCount)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine stuffs into the specified array the types - * of the mechanisms supported by this token. The Framework - * determines the size of the array by calling GetMechanismCount. - */ - CK_RV (PR_CALLBACK *GetMechanismTypes)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_MECHANISM_TYPE types[] - ); - - /* - * This routine returns a pointer to a Module mechanism - * object corresponding to a specified type. This routine - * need only exist for tokens implementing at least one - * mechanism. - */ - NSSCKMDMechanism *(PR_CALLBACK *GetMechanism)( - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKFWMechanism *fwMechanism, - CK_MECHANISM_TYPE which - ); - - /* - * This object may be extended in future versions of the - * NSS Cryptoki Framework. To allow for some flexibility - * in the area of binary compatibility, this field should - * be NULL. - */ - void *null; -}; - -/* - * NSSCKMDSession - * - * This is the basic handle for a session on a PKCS#11 Token. It - * is created by NSSCKMDToken->OpenSession, and may be obtained - * from the Framework's corresponding NSSCKFWSession object. It - * contains a pointer for use by the Module, to store any session- - * realted data, and it contains the EPV for a set of routines - * which the Module may implement for use by the Framework. Some - * of these routines are optional. - */ - -struct NSSCKMDSessionStr { - /* - * The Module may use this pointer for its own purposes. - */ - void *etc; - - /* - * This routine is called by the Framework when a session is - * closed. This call is the last thing called before the - * NSSArena in the correspoinding NSSCKFWSession is destroyed. - * This routine is optional; if unimplemented, it merely won't - * be called. - */ - void (PR_CALLBACK *Close)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine is used to get any device-specific error. - * This routine is optional. - */ - CK_ULONG (PR_CALLBACK *GetDeviceError)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine is used to log in a user to the token. This - * routine is optional, since the Framework's NSSCKFWSession - * object keeps track of the login state. - */ - CK_RV (PR_CALLBACK *Login)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_USER_TYPE userType, - NSSItem *pin, - CK_STATE oldState, - CK_STATE newState - ); - - /* - * This routine is used to log out a user from the token. This - * routine is optional, since the Framework's NSSCKFWSession - * object keeps track of the login state. - */ - CK_RV (PR_CALLBACK *Logout)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_STATE oldState, - CK_STATE newState - ); - - /* - * This routine is used to initialize the normal user's PIN or - * password. This will only be called in the "read/write - * security officer functions" state. If this token has a - * protected authentication path, then the pin argument will - * be NULL. This routine is optional; if unimplemented, the - * Framework will return the error CKR_TOKEN_WRITE_PROTECTED. - */ - CK_RV (PR_CALLBACK *InitPIN)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *pin - ); - - /* - * This routine is used to modify a user's PIN or password. This - * routine will only be called in the "read/write security officer - * functions" or "read/write user functions" state. If this token - * has a protected authentication path, then the pin arguments - * will be NULL. This routine is optional; if unimplemented, the - * Framework will return the error CKR_TOKEN_WRITE_PROTECTED. - */ - CK_RV (PR_CALLBACK *SetPIN)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *oldPin, - NSSItem *newPin - ); - - /* - * This routine is used to find out how much space would be required - * to save the current operational state. This routine is optional; - * if unimplemented, the Framework will reject any attempts to save - * the operational state with the error CKR_STATE_UNSAVEABLE. This - * routine may return zero on error. - */ - CK_ULONG (PR_CALLBACK *GetOperationStateLen)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine is used to store the current operational state. This - * routine is only required if GetOperationStateLen is implemented - * and can return a nonzero value. The buffer in the specified item - * will be pre-allocated, and the length will specify the amount of - * space available (which may be more than GetOperationStateLen - * asked for, but which will not be smaller). - */ - CK_RV (PR_CALLBACK *GetOperationState)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *buffer - ); - - /* - * This routine is used to restore an operational state previously - * obtained with GetOperationState. The Framework will take pains - * to be sure that the state is (or was at one point) valid; if the - * Module notices that the state is invalid, it should return an - * error, but it is not required to be paranoid about the issue. - * [XXX fgmr-- should (can?) the framework verify the keys match up?] - * This routine is required only if GetOperationState is implemented. - */ - CK_RV (PR_CALLBACK *SetOperationState)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *state, - NSSCKMDObject *mdEncryptionKey, - NSSCKFWObject *fwEncryptionKey, - NSSCKMDObject *mdAuthenticationKey, - NSSCKFWObject *fwAuthenticationKey - ); - - /* - * This routine is used to create an object. The specified template - * will only specify a session object if the Module has indicated - * that it wishes to handle its own session objects. This routine - * is optional; if unimplemented, the Framework will reject the - * operation with the error CKR_TOKEN_WRITE_PROTECTED. Space for - * token objects should come from the NSSArena available from the - * NSSCKFWToken object; space for session objects (if supported) - * should come from the NSSArena available from the NSSCKFWSession - * object. The appropriate NSSArena pointer will, as a convenience, - * be passed as the handyArenaPointer argument. This routine may - * return NULL upon error. - */ - NSSCKMDObject *(PR_CALLBACK *CreateObject)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSArena *handyArenaPointer, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError - ); - - /* - * This routine is used to make a copy of an object. It is entirely - * optional; if unimplemented, the Framework will try to use - * CreateObject instead. If the Module has indicated that it does - * not wish to handle session objects, then this routine will only - * be called to copy a token object to another token object. - * Otherwise, either the original object or the new may be of - * either the token or session variety. As with CreateObject, the - * handyArenaPointer will point to the appropriate arena for the - * new object. This routine may return NULL upon error. - */ - NSSCKMDObject *(PR_CALLBACK *CopyObject)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdOldObject, - NSSCKFWObject *fwOldObject, - NSSArena *handyArenaPointer, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError - ); - - /* - * This routine is used to begin an object search. This routine may - * be unimplemented only if the Module does not handle session - * objects, and if none of its tokens have token objects. The - * NSSCKFWFindObjects pointer has an NSSArena that may be used for - * storage for the life of this "find" operation. This routine may - * return NULL upon error. If the Module can determine immediately - * that the search will not find any matching objects, it may return - * NULL, and specify CKR_OK as the error. - */ - NSSCKMDFindObjects *(PR_CALLBACK *FindObjectsInit)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError - ); - - /* - * This routine seeds the random-number generator. It is - * optional, even if GetRandom is implemented. If unimplemented, - * the Framework will issue the error CKR_RANDOM_SEED_NOT_SUPPORTED. - */ - CK_RV (PR_CALLBACK *SeedRandom)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *seed - ); - - /* - * This routine gets random data. It is optional. If unimplemented, - * the Framework will issue the error CKR_RANDOM_NO_RNG. - */ - CK_RV (PR_CALLBACK *GetRandom)( - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *buffer - ); - - /* - * This object may be extended in future versions of the - * NSS Cryptoki Framework. To allow for some flexibility - * in the area of binary compatibility, this field should - * be NULL. - */ - void *null; -}; - -/* - * NSSCKMDFindObjects - * - * This is the basic handle for an object search. It is - * created by NSSCKMDSession->FindObjectsInit, and may be - * obtained from the Framework's corresponding object. - * It contains a pointer for use by the Module, to store - * any search-related data, and it contains the EPV for a - * set of routines which the Module may implement for use - * by the Framework. Some of these routines are optional. - */ - -struct NSSCKMDFindObjectsStr { - /* - * The Module may use this pointer for its own purposes. - */ - void *etc; - - /* - * This routine is called by the Framework to finish a - * search operation. Note that the Framework may finish - * a search before it has completed. This routine is - * optional; if unimplemented, it merely won't be called. - */ - void (PR_CALLBACK *Final)( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine is used to obtain another pointer to an - * object matching the search criteria. This routine is - * required. If no (more) objects match the search, it - * should return NULL and set the error to CKR_OK. - */ - NSSCKMDObject *(PR_CALLBACK *Next)( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError - ); - - /* - * This object may be extended in future versions of the - * NSS Cryptoki Framework. To allow for some flexibility - * in the area of binary compatibility, this field should - * be NULL. - */ - void *null; -}; - -/* - * NSSCKMDMechanism - * - */ - -struct NSSCKMDMechanismStr { - /* - * The Module may use this pointer for its own purposes. - */ - void *etc; - - /* - * This routine returns the minimum key size allowed for - * this mechanism. This routine is optional; if unimplemented, - * zero will be assumed. This routine may return zero on - * error; if the error is CKR_OK, zero will be accepted as - * a valid response. - */ - CK_ULONG (PR_CALLBACK *GetMinKeySize)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine returns the maximum key size allowed for - * this mechanism. This routine is optional; if unimplemented, - * zero will be assumed. This routine may return zero on - * error; if the error is CKR_OK, zero will be accepted as - * a valid response. - */ - CK_ULONG (PR_CALLBACK *GetMaxKeySize)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine is called to determine if the mechanism is - * implemented in hardware or software. It returns CK_TRUE - * if it is done in hardware. - */ - CK_BBOOL (PR_CALLBACK *GetInHardware)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * The crypto routines themselves. Most crypto operations may - * be performed in two ways, streaming and single-part. The - * streaming operations involve the use of (typically) three - * calls-- an Init method to set up the operation, an Update - * method to feed data to the operation, and a Final method to - * obtain the final result. Single-part operations involve - * one method, to perform the crypto operation all at once. - * The NSS Cryptoki Framework can implement the single-part - * operations in terms of the streaming operations on behalf - * of the Module. There are a few variances. - * - * For simplicity, the routines are listed in summary here: - * - * EncryptInit, EncryptUpdate, EncryptFinal; Encrypt - * DecryptInit, DecryptUpdate, DecryptFinal; Decrypt - * DigestInit, DigestUpdate, DigestKey, DigestFinal; Digest - * SignInit, SignUpdate, SignFinal; Sign - * SignRecoverInit; SignRecover - * VerifyInit, VerifyUpdate, VerifyFinal; Verify - * VerifyRecoverInit; VerifyRecover - * - * Also, there are some combined-operation calls: - * - * DigestEncryptUpdate - * DecryptDigestUpdate - * SignEncryptUpdate - * DecryptVerifyUpdate - * - * The key-management routines are - * - * GenerateKey - * GenerateKeyPair - * WrapKey - * UnwrapKey - * DeriveKey - * - * All of these routines based directly on the Cryptoki API; - * see PKCS#11 for further information. - */ - - /* - */ - CK_RV (PR_CALLBACK *EncryptInit)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey - ); - - /* - */ - CK_RV (PR_CALLBACK *EncryptUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *EncryptFinal)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *Encrypt)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *DecryptInit)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey - ); - - /* - */ - CK_RV (PR_CALLBACK *DecryptUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *DecryptFinal)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *Decrypt)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *DigestInit)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - */ - CK_RV (PR_CALLBACK *DigestUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data - ); - - /* - */ - CK_RV (PR_CALLBACK *DigestKey)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey - ); - - /* - */ - CK_RV (PR_CALLBACK *DigestFinal)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *Digest)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *SignInit)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey - ); - - /* - */ - CK_RV (PR_CALLBACK *SignUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *SignFinal)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *Sign)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *VerifyInit)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKFWObject *key - ); - - /* - */ - CK_RV (PR_CALLBACK *VerifyUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data - ); - - /* - */ - CK_RV (PR_CALLBACK *VerifyFinish)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *Verify)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKFWObject *key, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *SignRecover)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *VerifyRecover)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdKey, - NSSCKFWObject *fwKey, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *DigestEncryptUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *DecryptDigestUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *SignEncryptUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - */ - CK_RV (PR_CALLBACK *DecryptVerifyUpdate)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSItem *data, - NSSItem *buffer - ); - - /* - * Key management operations. - */ - - /* - * This routine generates a key. This routine may return NULL - * upon error. - */ - NSSCKMDObject *(PR_CALLBACK *GenerateKey)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError - ); - - /* - * This routine generates a key pair. - */ - CK_RV (PR_CALLBACK *GenerateKeyPair)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG ulPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG ulPrivateKeyAttributeCount, - NSSCKMDObject **pPublicKey, - NSSCKMDObject **pPrivateKey - ); - - /* - * This routine wraps a key. - */ - CK_RV (PR_CALLBACK *WrapKey)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdWrappingKey, - NSSCKFWObject *fwWrappingKey, - NSSCKMDObject *mdWrappedKey, - NSSCKFWObject *fwWrappedKey, - NSSItem *buffer - ); - - /* - * This routine unwraps a key. This routine may return NULL - * upon error. - */ - NSSCKMDObject *(PR_CALLBACK *UnwrapKey)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdWrappingKey, - NSSCKFWObject *fwWrappingKey, - NSSItem *wrappedKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError - ); - - /* - * This routine derives a key. This routine may return NULL - * upon error. - */ - NSSCKMDObject *(PR_CALLBACK *DeriveKey)( - NSSCKMDMechanism *mdMechanism, - NSSCKFWMechanism *fwMechanism, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSCKMDObject *mdBaseKey, - NSSCKFWObject *fwBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError - ); - - /* - * This object may be extended in future versions of the - * NSS Cryptoki Framework. To allow for some flexibility - * in the area of binary compatibility, this field should - * be NULL. - */ - void *null; -}; - -/* - * NSSCKMDObject - * - * This is the basic handle for any object used by a PKCS#11 Module. - * Modules must implement it if they support their own objects, and - * the Framework supports it for Modules that do not handle session - * objects. This type contains a pointer for use by the implementor, - * to store any object-specific data, and it contains an EPV for a - * set of routines used to access the object. - */ - -struct NSSCKMDObjectStr { - /* - * The implementation my use this pointer for its own purposes. - */ - void *etc; - - /* - * This routine is called by the Framework when it is letting - * go of an object handle. It can be used by the Module to - * free any resources tied up by an object "in use." It is - * optional. - */ - void (PR_CALLBACK *Finalize)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine is used to completely destroy an object. - * It is optional. The parameter fwObject might be NULL - * if the framework runs out of memory at the wrong moment. - */ - CK_RV (PR_CALLBACK *Destroy)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This helper routine is used by the Framework, and is especially - * useful when it is managing session objects on behalf of the - * Module. This routine is optional; if unimplemented, the - * Framework will actually look up the CKA_TOKEN attribute. In the - * event of an error, just make something up-- the Framework will - * find out soon enough anyway. - */ - CK_BBOOL (PR_CALLBACK *IsTokenObject)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance - ); - - /* - * This routine returns the number of attributes of which this - * object consists. It is mandatory. It can return zero on - * error. - */ - CK_ULONG (PR_CALLBACK *GetAttributeCount)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This routine stuffs the attribute types into the provided array. - * The array size (as obtained from GetAttributeCount) is passed in - * as a check; return CKR_BUFFER_TOO_SMALL if the count is wrong - * (either too big or too small). - */ - CK_RV (PR_CALLBACK *GetAttributeTypes)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount - ); - - /* - * This routine returns the size (in bytes) of the specified - * attribute. It can return zero on error. - */ - CK_ULONG (PR_CALLBACK *GetAttributeSize)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError - ); - - /* - * This routine returns the specified attribute. It can return - * NULL upon error. The pointer in the item will not be freed; - * any host memory required should come from the object's arena - * (which is likely the Framework's token or session arena). - * It may return NULL on error. - */ - const NSSItem *(PR_CALLBACK *GetAttribute)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError - ); - - /* - * This routine changes the specified attribute. If unimplemented, - * the object will be considered read-only. - */ - CK_RV (PR_CALLBACK *SetAttribute)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *value - ); - - /* - * This routine returns the storage requirements of this object, - * in bytes. Cryptoki doesn't strictly define the definition, - * but it should relate to the values returned by the "Get Memory" - * routines of the NSSCKMDToken. This routine is optional; if - * unimplemented, the Framework will consider this information - * sensitive. This routine may return zero on error. If the - * specified error is CKR_OK, zero will be accepted as a valid - * response. - */ - CK_ULONG (PR_CALLBACK *GetObjectSize)( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError - ); - - /* - * This object may be extended in future versions of the - * NSS Cryptoki Framework. To allow for some flexibility - * in the area of binary compatibility, this field should - * be NULL. - */ - void *null; -}; - - -#endif /* NSSCKMDT_H */ diff --git a/security/nss/lib/ckfw/nssckp.h b/security/nss/lib/ckfw/nssckp.h deleted file mode 100644 index 502e18408..000000000 --- a/security/nss/lib/ckfw/nssckp.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -/* - * This file is in part derived from a file "pkcs11t.h" made available - * by RSA Security at ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/pkcs11t.h - */ - -#ifndef NSSCKP_H -#define NSSCKP_H - -#ifdef DEBUG -static const char NSSCKP_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#endif /* NSSCKP_H */ - -/* - * These platform-dependent packing rules are required by all PKCS#11 - * modules, to be binary compatible. These rules have been placed in - * separate header files (nssckp.h to enable the packing, nsscku.h to - * disable) for consistancy. These files can be included many times, - * so the bodies should *NOT* be in the multiple-inclusion-preventing - * #ifndef/#endif area above. - */ - -/* - * WIN32 is defined (when appropriate) in NSPR's prcpucfg.h. - */ - -#ifdef WIN32 -#pragma warning(disable:4103) -#pragma pack(push, cryptoki, 1) -#endif /* WIN32 */ - -/* End of nssckp.h */ diff --git a/security/nss/lib/ckfw/nssckt.h b/security/nss/lib/ckfw/nssckt.h deleted file mode 100644 index f2bf36f1d..000000000 --- a/security/nss/lib/ckfw/nssckt.h +++ /dev/null @@ -1,1123 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -/* - * This file is in part derived from a file "pkcs11t.h" made available - * by RSA Security at ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/pkcs11t.h - * - * Copyright (C) 1994-1999 RSA Security Inc. Licence to copy this document - * is granted provided that it is identified as "RSA Security Inc Public-Key - * Cryptography Standards (PKCS)" in all material mentioning or referencing - * this document. - * - */ - -#ifndef NSSCKT_H -#define NSSCKT_H - -#ifdef DEBUG -static const char NSSCKT_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#include "nspr.h" - -/* - * nssckt.h - * - * This file contains the type definitions for Cryptoki (PKCS#11). - * These definitions are taken from the RSA Standard. - * - * NOTE: Unlike most things in NSS, there are public types and - * preprocessor definitions which do *NOT* begin with NSS-- rather, - * they begin with CK, as per the standard. - */ - -#ifndef CK_FALSE -#define CK_FALSE 0 -#endif - -#ifndef CK_TRUE -#define CK_TRUE (!CK_FALSE) -#endif - -#define CK_PTR * -#define CK_NULL_PTR 0 -#define CK_CALLBACK_FUNCTION(rv,func) rv (PR_CALLBACK * func) -#define CK_DECLARE_FUNCTION(rv,func) NSS_EXTERN rv func -#define CK_DECLARE_FUNCTION_POINTER(rv,func) rv (PR_CALLBACK * func) - -/* an unsigned 8-bit value */ -typedef unsigned char CK_BYTE; - -/* an unsigned 8-bit character */ -typedef CK_BYTE CK_CHAR; - -/* a BYTE-sized Boolean flag */ -typedef CK_BYTE CK_BBOOL; - -/* an unsigned value, at least 16 bits long */ -typedef unsigned short int CK_USHORT; - -/* a signed value, the same size as a CK_USHORT */ -typedef short int CK_SHORT; - -/* an unsigned value, at least 32 bits long */ -typedef unsigned long int CK_ULONG; - -/* a signed value, the same size as a CK_ULONG */ -/* CK_LONG is new for v2.0 */ -typedef long int CK_LONG; - -/* at least 32 bits; each bit is a Boolean flag */ -typedef CK_ULONG CK_FLAGS; - - -/* some special values for certain CK_ULONG variables */ -#define CK_UNAVAILABLE_INFORMATION (~0UL) -#define CK_EFFECTIVELY_INFINITE 0 - - -typedef CK_BYTE CK_PTR CK_BYTE_PTR; -typedef CK_CHAR CK_PTR CK_CHAR_PTR; -typedef CK_ULONG CK_PTR CK_ULONG_PTR; -typedef void CK_PTR CK_VOID_PTR; - -/* Pointer to a CK_VOID_PTR-- i.e., pointer to pointer to void */ -typedef CK_VOID_PTR CK_PTR CK_VOID_PTR_PTR; - - -/* The following value is always invalid if used as a session */ -/* handle or object handle */ -#define CK_INVALID_HANDLE 0 - -#define CK_ENTRY - -/* pack */ -#include "nssckp.h" - -typedef struct CK_VERSION { - CK_BYTE major; /* integer portion of version number */ - CK_BYTE minor; /* 1/100ths portion of version number */ -} CK_VERSION; - -typedef CK_VERSION CK_PTR CK_VERSION_PTR; - - -typedef struct CK_INFO { - CK_VERSION cryptokiVersion; /* Cryptoki interface ver */ - CK_CHAR manufacturerID[32]; /* blank padded */ - CK_FLAGS flags; /* must be zero */ - - /* libraryDescription and libraryVersion are new for v2.0 */ - CK_CHAR libraryDescription[32]; /* blank padded */ - CK_VERSION libraryVersion; /* version of library */ -} CK_INFO; - -typedef CK_INFO CK_PTR CK_INFO_PTR; - - -/* CK_NOTIFICATION enumerates the types of notifications that - * Cryptoki provides to an application */ -/* CK_NOTIFICATION has been changed from an enum to a CK_ULONG - * for v2.0 */ -typedef CK_ULONG CK_NOTIFICATION; -#define CKN_SURRENDER 0 - - -typedef CK_ULONG CK_SLOT_ID; - -typedef CK_SLOT_ID CK_PTR CK_SLOT_ID_PTR; - - -/* CK_SLOT_INFO provides information about a slot */ -typedef struct CK_SLOT_INFO { - CK_CHAR slotDescription[64]; /* blank padded */ - CK_CHAR manufacturerID[32]; /* blank padded */ - CK_FLAGS flags; - - /* hardwareVersion and firmwareVersion are new for v2.0 */ - CK_VERSION hardwareVersion; /* version of hardware */ - CK_VERSION firmwareVersion; /* version of firmware */ -} CK_SLOT_INFO; - -/* flags: bit flags that provide capabilities of the slot - * Bit Flag Mask Meaning - */ -#define CKF_TOKEN_PRESENT 0x00000001 /* a token is there */ -#define CKF_REMOVABLE_DEVICE 0x00000002 /* removable devices*/ -#define CKF_HW_SLOT 0x00000004 /* hardware slot */ - -typedef CK_SLOT_INFO CK_PTR CK_SLOT_INFO_PTR; - - -/* CK_TOKEN_INFO provides information about a token */ -typedef struct CK_TOKEN_INFO { - CK_CHAR label[32]; /* blank padded */ - CK_CHAR manufacturerID[32]; /* blank padded */ - CK_CHAR model[16]; /* blank padded */ - CK_CHAR serialNumber[16]; /* blank padded */ - CK_FLAGS flags; /* see below */ - - /* ulMaxSessionCount, ulSessionCount, ulMaxRwSessionCount, - * ulRwSessionCount, ulMaxPinLen, and ulMinPinLen have all been - * changed from CK_USHORT to CK_ULONG for v2.0 */ - CK_ULONG ulMaxSessionCount; /* max open sessions */ - CK_ULONG ulSessionCount; /* sess. now open */ - CK_ULONG ulMaxRwSessionCount; /* max R/W sessions */ - CK_ULONG ulRwSessionCount; /* R/W sess. now open */ - CK_ULONG ulMaxPinLen; /* in bytes */ - CK_ULONG ulMinPinLen; /* in bytes */ - CK_ULONG ulTotalPublicMemory; /* in bytes */ - CK_ULONG ulFreePublicMemory; /* in bytes */ - CK_ULONG ulTotalPrivateMemory; /* in bytes */ - CK_ULONG ulFreePrivateMemory; /* in bytes */ - - /* hardwareVersion, firmwareVersion, and time are new for - * v2.0 */ - CK_VERSION hardwareVersion; /* version of hardware */ - CK_VERSION firmwareVersion; /* version of firmware */ - CK_CHAR utcTime[16]; /* time */ -} CK_TOKEN_INFO; - -/* The flags parameter is defined as follows: - * Bit Flag Mask Meaning - */ -#define CKF_RNG 0x00000001 /* has random # - * generator */ -#define CKF_WRITE_PROTECTED 0x00000002 /* token is - * write- - * protected */ -#define CKF_LOGIN_REQUIRED 0x00000004 /* user must - * login */ -#define CKF_USER_PIN_INITIALIZED 0x00000008 /* normal user's - * PIN is set */ - -/* CKF_RESTORE_KEY_NOT_NEEDED is new for v2.0. If it is set, - * that means that *every* time the state of cryptographic - * operations of a session is successfully saved, all keys - * needed to continue those operations are stored in the state */ -#define CKF_RESTORE_KEY_NOT_NEEDED 0x00000020 - -/* CKF_CLOCK_ON_TOKEN is new for v2.0. If it is set, that means - * that the token has some sort of clock. The time on that - * clock is returned in the token info structure */ -#define CKF_CLOCK_ON_TOKEN 0x00000040 - -/* CKF_PROTECTED_AUTHENTICATION_PATH is new for v2.0. If it is - * set, that means that there is some way for the user to login - * without sending a PIN through the Cryptoki library itself */ -#define CKF_PROTECTED_AUTHENTICATION_PATH 0x00000100 - -/* CKF_DUAL_CRYPTO_OPERATIONS is new for v2.0. If it is true, - * that means that a single session with the token can perform - * dual simultaneous cryptographic operations (digest and - * encrypt; decrypt and digest; sign and encrypt; and decrypt - * and sign) */ -#define CKF_DUAL_CRYPTO_OPERATIONS 0x00000200 - -typedef CK_TOKEN_INFO CK_PTR CK_TOKEN_INFO_PTR; - - -/* CK_SESSION_HANDLE is a Cryptoki-assigned value that - * identifies a session */ -typedef CK_ULONG CK_SESSION_HANDLE; - -typedef CK_SESSION_HANDLE CK_PTR CK_SESSION_HANDLE_PTR; - - -/* CK_USER_TYPE enumerates the types of Cryptoki users */ -/* CK_USER_TYPE has been changed from an enum to a CK_ULONG for - * v2.0 */ -typedef CK_ULONG CK_USER_TYPE; -/* Security Officer */ -#define CKU_SO 0 -/* Normal user */ -#define CKU_USER 1 - - -/* CK_STATE enumerates the session states */ -/* CK_STATE has been changed from an enum to a CK_ULONG for - * v2.0 */ -typedef CK_ULONG CK_STATE; -#define CKS_RO_PUBLIC_SESSION 0 -#define CKS_RO_USER_FUNCTIONS 1 -#define CKS_RW_PUBLIC_SESSION 2 -#define CKS_RW_USER_FUNCTIONS 3 -#define CKS_RW_SO_FUNCTIONS 4 - - -/* CK_SESSION_INFO provides information about a session */ -typedef struct CK_SESSION_INFO { - CK_SLOT_ID slotID; - CK_STATE state; - CK_FLAGS flags; /* see below */ - - /* ulDeviceError was changed from CK_USHORT to CK_ULONG for - * v2.0 */ - CK_ULONG ulDeviceError; /* device-dependent error code */ -} CK_SESSION_INFO; - -/* The flags are defined in the following table: - * Bit Flag Mask Meaning - */ -#define CKF_RW_SESSION 0x00000002 /* session is r/w */ -#define CKF_SERIAL_SESSION 0x00000004 /* no parallel */ - -typedef CK_SESSION_INFO CK_PTR CK_SESSION_INFO_PTR; - - -/* CK_OBJECT_HANDLE is a token-specific identifier for an - * object */ -typedef CK_ULONG CK_OBJECT_HANDLE; - -typedef CK_OBJECT_HANDLE CK_PTR CK_OBJECT_HANDLE_PTR; - - -/* CK_OBJECT_CLASS is a value that identifies the classes (or - * types) of objects that Cryptoki recognizes. It is defined - * as follows: */ -/* CK_OBJECT_CLASS was changed from CK_USHORT to CK_ULONG for - * v2.0 */ -typedef CK_ULONG CK_OBJECT_CLASS; - -/* The following classes of objects are defined: */ -#define CKO_DATA 0x00000000 -#define CKO_CERTIFICATE 0x00000001 -#define CKO_PUBLIC_KEY 0x00000002 -#define CKO_PRIVATE_KEY 0x00000003 -#define CKO_SECRET_KEY 0x00000004 -#define CKO_VENDOR_DEFINED 0x80000000 - -typedef CK_OBJECT_CLASS CK_PTR CK_OBJECT_CLASS_PTR; - - -/* CK_KEY_TYPE is a value that identifies a key type */ -/* CK_KEY_TYPE was changed from CK_USHORT to CK_ULONG for v2.0 */ -typedef CK_ULONG CK_KEY_TYPE; - -/* the following key types are defined: */ -#define CKK_RSA 0x00000000 -#define CKK_DSA 0x00000001 -#define CKK_DH 0x00000002 - -/* CKK_ECDSA and CKK_KEA are new for v2.0 */ - -/* Cryptoki V2.01 probably won't actually have ECDSA in it */ -#define CKK_ECDSA 0x00000003 - -#define CKK_KEA 0x00000005 - -#define CKK_GENERIC_SECRET 0x00000010 -#define CKK_RC2 0x00000011 -#define CKK_RC4 0x00000012 -#define CKK_DES 0x00000013 -#define CKK_DES2 0x00000014 -#define CKK_DES3 0x00000015 - -/* all these key types are new for v2.0 */ -#define CKK_CAST 0x00000016 -#define CKK_CAST3 0x00000017 -#define CKK_CAST5 0x00000018 -#define CKK_CAST128 0x00000018 /* CAST128=CAST5 */ -#define CKK_RC5 0x00000019 -#define CKK_IDEA 0x0000001A -#define CKK_SKIPJACK 0x0000001B -#define CKK_BATON 0x0000001C -#define CKK_JUNIPER 0x0000001D -#define CKK_CDMF 0x0000001E - -#define CKK_VENDOR_DEFINED 0x80000000 - - -/* CK_CERTIFICATE_TYPE is a value that identifies a certificate - * type */ -/* CK_CERTIFICATE_TYPE was changed from CK_USHORT to CK_ULONG - * for v2.0 */ -typedef CK_ULONG CK_CERTIFICATE_TYPE; - -/* The following certificate types are defined: */ -#define CKC_X_509 0x00000000 -#define CKC_VENDOR_DEFINED 0x80000000 - -/* CK_ATTRIBUTE_TYPE is a value that identifies an attribute - * type */ -/* CK_ATTRIBUTE_TYPE was changed from CK_USHORT to CK_ULONG for - * v2.0 */ -typedef CK_ULONG CK_ATTRIBUTE_TYPE; - -typedef CK_ATTRIBUTE_TYPE CK_PTR CK_ATTRIBUTE_TYPE_PTR; - -/* The following attribute types are defined: */ -#define CKA_CLASS 0x00000000 -#define CKA_TOKEN 0x00000001 -#define CKA_PRIVATE 0x00000002 -#define CKA_LABEL 0x00000003 -#define CKA_APPLICATION 0x00000010 -#define CKA_VALUE 0x00000011 -#define CKA_CERTIFICATE_TYPE 0x00000080 -#define CKA_ISSUER 0x00000081 -#define CKA_SERIAL_NUMBER 0x00000082 -#define CKA_KEY_TYPE 0x00000100 -#define CKA_SUBJECT 0x00000101 -#define CKA_ID 0x00000102 -#define CKA_SENSITIVE 0x00000103 -#define CKA_ENCRYPT 0x00000104 -#define CKA_DECRYPT 0x00000105 -#define CKA_WRAP 0x00000106 -#define CKA_UNWRAP 0x00000107 -#define CKA_SIGN 0x00000108 -#define CKA_SIGN_RECOVER 0x00000109 -#define CKA_VERIFY 0x0000010A -#define CKA_VERIFY_RECOVER 0x0000010B -#define CKA_DERIVE 0x0000010C -#define CKA_START_DATE 0x00000110 -#define CKA_END_DATE 0x00000111 -#define CKA_MODULUS 0x00000120 -#define CKA_MODULUS_BITS 0x00000121 -#define CKA_PUBLIC_EXPONENT 0x00000122 -#define CKA_PRIVATE_EXPONENT 0x00000123 -#define CKA_PRIME_1 0x00000124 -#define CKA_PRIME_2 0x00000125 -#define CKA_EXPONENT_1 0x00000126 -#define CKA_EXPONENT_2 0x00000127 -#define CKA_COEFFICIENT 0x00000128 -#define CKA_PRIME 0x00000130 -#define CKA_SUBPRIME 0x00000131 -#define CKA_BASE 0x00000132 -#define CKA_VALUE_BITS 0x00000160 -#define CKA_VALUE_LEN 0x00000161 - -/* CKA_EXTRACTABLE, CKA_LOCAL, CKA_NEVER_EXTRACTABLE, - * CKA_ALWAYS_SENSITIVE, and CKA_MODIFIABLE are new for v2.0 */ -#define CKA_EXTRACTABLE 0x00000162 -#define CKA_LOCAL 0x00000163 -#define CKA_NEVER_EXTRACTABLE 0x00000164 -#define CKA_ALWAYS_SENSITIVE 0x00000165 -#define CKA_MODIFIABLE 0x00000170 - -#define CKA_VENDOR_DEFINED 0x80000000 - - -/* CK_ATTRIBUTE is a structure that includes the type, length - * and value of an attribute */ -typedef struct CK_ATTRIBUTE { - CK_ATTRIBUTE_TYPE type; - CK_VOID_PTR pValue; - - /* ulValueLen went from CK_USHORT to CK_ULONG for v2.0 */ - CK_ULONG ulValueLen; /* in bytes */ -} CK_ATTRIBUTE; - -typedef CK_ATTRIBUTE CK_PTR CK_ATTRIBUTE_PTR; - - -/* CK_DATE is a structure that defines a date */ -typedef struct CK_DATE{ - CK_CHAR year[4]; /* the year ("1900" - "9999") */ - CK_CHAR month[2]; /* the month ("01" - "12") */ - CK_CHAR day[2]; /* the day ("01" - "31") */ -} CK_DATE; - - -/* CK_MECHANISM_TYPE is a value that identifies a mechanism - * type */ -/* CK_MECHANISM_TYPE was changed from CK_USHORT to CK_ULONG for - * v2.0 */ -typedef CK_ULONG CK_MECHANISM_TYPE; - -/* the following mechanism types are defined: */ -#define CKM_RSA_PKCS_KEY_PAIR_GEN 0x00000000 -#define CKM_RSA_PKCS 0x00000001 -#define CKM_RSA_9796 0x00000002 -#define CKM_RSA_X_509 0x00000003 - -/* CKM_MD2_RSA_PKCS, CKM_MD5_RSA_PKCS, and CKM_SHA1_RSA_PKCS - * are new for v2.0. They are mechanisms which hash and sign */ -#define CKM_MD2_RSA_PKCS 0x00000004 -#define CKM_MD5_RSA_PKCS 0x00000005 -#define CKM_SHA1_RSA_PKCS 0x00000006 - -#define CKM_DSA_KEY_PAIR_GEN 0x00000010 -#define CKM_DSA 0x00000011 -#define CKM_DSA_SHA1 0x00000012 -#define CKM_DH_PKCS_KEY_PAIR_GEN 0x00000020 -#define CKM_DH_PKCS_DERIVE 0x00000021 -#define CKM_RC2_KEY_GEN 0x00000100 -#define CKM_RC2_ECB 0x00000101 -#define CKM_RC2_CBC 0x00000102 -#define CKM_RC2_MAC 0x00000103 - -/* CKM_RC2_MAC_GENERAL and CKM_RC2_CBC_PAD are new for v2.0 */ -#define CKM_RC2_MAC_GENERAL 0x00000104 -#define CKM_RC2_CBC_PAD 0x00000105 - -#define CKM_RC4_KEY_GEN 0x00000110 -#define CKM_RC4 0x00000111 -#define CKM_DES_KEY_GEN 0x00000120 -#define CKM_DES_ECB 0x00000121 -#define CKM_DES_CBC 0x00000122 -#define CKM_DES_MAC 0x00000123 - -/* CKM_DES_MAC_GENERAL and CKM_DES_CBC_PAD are new for v2.0 */ -#define CKM_DES_MAC_GENERAL 0x00000124 -#define CKM_DES_CBC_PAD 0x00000125 - -#define CKM_DES2_KEY_GEN 0x00000130 -#define CKM_DES3_KEY_GEN 0x00000131 -#define CKM_DES3_ECB 0x00000132 -#define CKM_DES3_CBC 0x00000133 -#define CKM_DES3_MAC 0x00000134 - -/* CKM_DES3_MAC_GENERAL, CKM_DES3_CBC_PAD, CKM_CDMF_KEY_GEN, - * CKM_CDMF_ECB, CKM_CDMF_CBC, CKM_CDMF_MAC, - * CKM_CDMF_MAC_GENERAL, and CKM_CDMF_CBC_PAD are new for v2.0 */ -#define CKM_DES3_MAC_GENERAL 0x00000135 -#define CKM_DES3_CBC_PAD 0x00000136 -#define CKM_CDMF_KEY_GEN 0x00000140 -#define CKM_CDMF_ECB 0x00000141 -#define CKM_CDMF_CBC 0x00000142 -#define CKM_CDMF_MAC 0x00000143 -#define CKM_CDMF_MAC_GENERAL 0x00000144 -#define CKM_CDMF_CBC_PAD 0x00000145 - -#define CKM_MD2 0x00000200 - -/* CKM_MD2_HMAC and CKM_MD2_HMAC_GENERAL are new for v2.0 */ -#define CKM_MD2_HMAC 0x00000201 -#define CKM_MD2_HMAC_GENERAL 0x00000202 - -#define CKM_MD5 0x00000210 - -/* CKM_MD5_HMAC and CKM_MD5_HMAC_GENERAL are new for v2.0 */ -#define CKM_MD5_HMAC 0x00000211 -#define CKM_MD5_HMAC_GENERAL 0x00000212 - -#define CKM_SHA_1 0x00000220 - -/* CKM_SHA_1_HMAC and CKM_SHA_1_HMAC_GENERAL are new for v2.0 */ -#define CKM_SHA_1_HMAC 0x00000221 -#define CKM_SHA_1_HMAC_GENERAL 0x00000222 - -/* All of the following mechanisms are new for v2.0 */ -/* Note that CAST128 and CAST5 are the same algorithm */ -#define CKM_CAST_KEY_GEN 0x00000300 -#define CKM_CAST_ECB 0x00000301 -#define CKM_CAST_CBC 0x00000302 -#define CKM_CAST_MAC 0x00000303 -#define CKM_CAST_MAC_GENERAL 0x00000304 -#define CKM_CAST_CBC_PAD 0x00000305 -#define CKM_CAST3_KEY_GEN 0x00000310 -#define CKM_CAST3_ECB 0x00000311 -#define CKM_CAST3_CBC 0x00000312 -#define CKM_CAST3_MAC 0x00000313 -#define CKM_CAST3_MAC_GENERAL 0x00000314 -#define CKM_CAST3_CBC_PAD 0x00000315 -#define CKM_CAST5_KEY_GEN 0x00000320 -#define CKM_CAST128_KEY_GEN 0x00000320 -#define CKM_CAST5_ECB 0x00000321 -#define CKM_CAST128_ECB 0x00000321 -#define CKM_CAST5_CBC 0x00000322 -#define CKM_CAST128_CBC 0x00000322 -#define CKM_CAST5_MAC 0x00000323 -#define CKM_CAST128_MAC 0x00000323 -#define CKM_CAST5_MAC_GENERAL 0x00000324 -#define CKM_CAST128_MAC_GENERAL 0x00000324 -#define CKM_CAST5_CBC_PAD 0x00000325 -#define CKM_CAST128_CBC_PAD 0x00000325 -#define CKM_RC5_KEY_GEN 0x00000330 -#define CKM_RC5_ECB 0x00000331 -#define CKM_RC5_CBC 0x00000332 -#define CKM_RC5_MAC 0x00000333 -#define CKM_RC5_MAC_GENERAL 0x00000334 -#define CKM_RC5_CBC_PAD 0x00000335 -#define CKM_IDEA_KEY_GEN 0x00000340 -#define CKM_IDEA_ECB 0x00000341 -#define CKM_IDEA_CBC 0x00000342 -#define CKM_IDEA_MAC 0x00000343 -#define CKM_IDEA_MAC_GENERAL 0x00000344 -#define CKM_IDEA_CBC_PAD 0x00000345 -#define CKM_GENERIC_SECRET_KEY_GEN 0x00000350 -#define CKM_CONCATENATE_BASE_AND_KEY 0x00000360 -#define CKM_CONCATENATE_BASE_AND_DATA 0x00000362 -#define CKM_CONCATENATE_DATA_AND_BASE 0x00000363 -#define CKM_XOR_BASE_AND_DATA 0x00000364 -#define CKM_EXTRACT_KEY_FROM_KEY 0x00000365 -#define CKM_SSL3_PRE_MASTER_KEY_GEN 0x00000370 -#define CKM_SSL3_MASTER_KEY_DERIVE 0x00000371 -#define CKM_SSL3_KEY_AND_MAC_DERIVE 0x00000372 -#define CKM_SSL3_MD5_MAC 0x00000380 -#define CKM_SSL3_SHA1_MAC 0x00000381 -#define CKM_MD5_KEY_DERIVATION 0x00000390 -#define CKM_MD2_KEY_DERIVATION 0x00000391 -#define CKM_SHA1_KEY_DERIVATION 0x00000392 -#define CKM_PBE_MD2_DES_CBC 0x000003A0 -#define CKM_PBE_MD5_DES_CBC 0x000003A1 -#define CKM_PBE_MD5_CAST_CBC 0x000003A2 -#define CKM_PBE_MD5_CAST3_CBC 0x000003A3 -#define CKM_PBE_MD5_CAST5_CBC 0x000003A4 -#define CKM_PBE_MD5_CAST128_CBC 0x000003A4 -#define CKM_PBE_SHA1_CAST5_CBC 0x000003A5 -#define CKM_PBE_SHA1_CAST128_CBC 0x000003A5 -#define CKM_PBE_SHA1_RC4_128 0x000003A6 -#define CKM_PBE_SHA1_RC4_40 0x000003A7 -#define CKM_PBE_SHA1_DES3_EDE_CBC 0x000003A8 -#define CKM_PBE_SHA1_DES2_EDE_CBC 0x000003A9 -#define CKM_PBE_SHA1_RC2_128_CBC 0x000003AA -#define CKM_PBE_SHA1_RC2_40_CBC 0x000003AB -#define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0 -#define CKM_KEY_WRAP_LYNKS 0x00000400 -#define CKM_KEY_WRAP_SET_OAEP 0x00000401 - -/* Fortezza mechanisms */ -#define CKM_SKIPJACK_KEY_GEN 0x00001000 -#define CKM_SKIPJACK_ECB64 0x00001001 -#define CKM_SKIPJACK_CBC64 0x00001002 -#define CKM_SKIPJACK_OFB64 0x00001003 -#define CKM_SKIPJACK_CFB64 0x00001004 -#define CKM_SKIPJACK_CFB32 0x00001005 -#define CKM_SKIPJACK_CFB16 0x00001006 -#define CKM_SKIPJACK_CFB8 0x00001007 -#define CKM_SKIPJACK_WRAP 0x00001008 -#define CKM_SKIPJACK_PRIVATE_WRAP 0x00001009 -#define CKM_SKIPJACK_RELAYX 0x0000100a -#define CKM_KEA_KEY_PAIR_GEN 0x00001010 -#define CKM_KEA_KEY_DERIVE 0x00001011 -#define CKM_FORTEZZA_TIMESTAMP 0x00001020 -#define CKM_BATON_KEY_GEN 0x00001030 -#define CKM_BATON_ECB128 0x00001031 -#define CKM_BATON_ECB96 0x00001032 -#define CKM_BATON_CBC128 0x00001033 -#define CKM_BATON_COUNTER 0x00001034 -#define CKM_BATON_SHUFFLE 0x00001035 -#define CKM_BATON_WRAP 0x00001036 - -/* Cryptoki V2.01 probably won't actually have ECDSA in it */ -#define CKM_ECDSA_KEY_PAIR_GEN 0x00001040 -#define CKM_ECDSA 0x00001041 -#define CKM_ECDSA_SHA1 0x00001042 - -#define CKM_JUNIPER_KEY_GEN 0x00001060 -#define CKM_JUNIPER_ECB128 0x00001061 -#define CKM_JUNIPER_CBC128 0x00001062 -#define CKM_JUNIPER_COUNTER 0x00001063 -#define CKM_JUNIPER_SHUFFLE 0x00001064 -#define CKM_JUNIPER_WRAP 0x00001065 -#define CKM_FASTHASH 0x00001070 - -#define CKM_VENDOR_DEFINED 0x80000000 - -typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR; - - -/* CK_MECHANISM is a structure that specifies a particular - * mechanism */ -typedef struct CK_MECHANISM { - CK_MECHANISM_TYPE mechanism; - CK_VOID_PTR pParameter; - - /* ulParameterLen was changed from CK_USHORT to CK_ULONG for - * v2.0 */ - CK_ULONG ulParameterLen; /* in bytes */ -} CK_MECHANISM; - -typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR; - - -/* CK_MECHANISM_INFO provides information about a particular - * mechanism */ -typedef struct CK_MECHANISM_INFO { - CK_ULONG ulMinKeySize; - CK_ULONG ulMaxKeySize; - CK_FLAGS flags; -} CK_MECHANISM_INFO; - -/* The flags are defined as follows: - * Bit Flag Mask Meaning */ -#define CKF_HW 0x00000001 /* performed by HW */ - -/* The flags CKF_ENCRYPT, CKF_DECRYPT, CKF_DIGEST, CKF_SIGN, - * CKG_SIGN_RECOVER, CKF_VERIFY, CKF_VERIFY_RECOVER, - * CKF_GENERATE, CKF_GENERATE_KEY_PAIR, CKF_WRAP, CKF_UNWRAP, - * and CKF_DERIVE are new for v2.0. They specify whether or not - * a mechanism can be used for a particular task */ -#define CKF_ENCRYPT 0x00000100 -#define CKF_DECRYPT 0x00000200 -#define CKF_DIGEST 0x00000400 -#define CKF_SIGN 0x00000800 -#define CKF_SIGN_RECOVER 0x00001000 -#define CKF_VERIFY 0x00002000 -#define CKF_VERIFY_RECOVER 0x00004000 -#define CKF_GENERATE 0x00008000 -#define CKF_GENERATE_KEY_PAIR 0x00010000 -#define CKF_WRAP 0x00020000 -#define CKF_UNWRAP 0x00040000 -#define CKF_DERIVE 0x00080000 - -#define CKF_EXTENSION 0x80000000 /* FALSE for 2.01 */ - -typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR; - - -/* CK_RV is a value that identifies the return value of a - * Cryptoki function */ -/* CK_RV was changed from CK_USHORT to CK_ULONG for v2.0 */ -typedef CK_ULONG CK_RV; - -#define CKR_OK 0x00000000 -#define CKR_CANCEL 0x00000001 -#define CKR_HOST_MEMORY 0x00000002 -#define CKR_SLOT_ID_INVALID 0x00000003 - -/* CKR_FLAGS_INVALID was removed for v2.0 */ - -/* CKR_GENERAL_ERROR and CKR_FUNCTION_FAILED are new for v2.0 */ -#define CKR_GENERAL_ERROR 0x00000005 -#define CKR_FUNCTION_FAILED 0x00000006 - -/* CKR_ARGUMENTS_BAD, CKR_NO_EVENT, CKR_NEED_TO_CREATE_THREADS, - * and CKR_CANT_LOCK are new for v2.01 */ -#define CKR_ARGUMENTS_BAD 0x00000007 -#define CKR_NO_EVENT 0x00000008 -#define CKR_NEED_TO_CREATE_THREADS 0x00000009 -#define CKR_CANT_LOCK 0x0000000A - -#define CKR_ATTRIBUTE_READ_ONLY 0x00000010 -#define CKR_ATTRIBUTE_SENSITIVE 0x00000011 -#define CKR_ATTRIBUTE_TYPE_INVALID 0x00000012 -#define CKR_ATTRIBUTE_VALUE_INVALID 0x00000013 -#define CKR_DATA_INVALID 0x00000020 -#define CKR_DATA_LEN_RANGE 0x00000021 -#define CKR_DEVICE_ERROR 0x00000030 -#define CKR_DEVICE_MEMORY 0x00000031 -#define CKR_DEVICE_REMOVED 0x00000032 -#define CKR_ENCRYPTED_DATA_INVALID 0x00000040 -#define CKR_ENCRYPTED_DATA_LEN_RANGE 0x00000041 -#define CKR_FUNCTION_CANCELED 0x00000050 -#define CKR_FUNCTION_NOT_PARALLEL 0x00000051 - -/* CKR_FUNCTION_NOT_SUPPORTED is new for v2.0 */ -#define CKR_FUNCTION_NOT_SUPPORTED 0x00000054 - -#define CKR_KEY_HANDLE_INVALID 0x00000060 - -/* CKR_KEY_SENSITIVE was removed for v2.0 */ - -#define CKR_KEY_SIZE_RANGE 0x00000062 -#define CKR_KEY_TYPE_INCONSISTENT 0x00000063 - -/* CKR_KEY_NOT_NEEDED, CKR_KEY_CHANGED, CKR_KEY_NEEDED, - * CKR_KEY_INDIGESTIBLE, CKR_KEY_FUNCTION_NOT_PERMITTED, - * CKR_KEY_NOT_WRAPPABLE, and CKR_KEY_UNEXTRACTABLE are new for - * v2.0 */ -#define CKR_KEY_NOT_NEEDED 0x00000064 -#define CKR_KEY_CHANGED 0x00000065 -#define CKR_KEY_NEEDED 0x00000066 -#define CKR_KEY_INDIGESTIBLE 0x00000067 -#define CKR_KEY_FUNCTION_NOT_PERMITTED 0x00000068 -#define CKR_KEY_NOT_WRAPPABLE 0x00000069 -#define CKR_KEY_UNEXTRACTABLE 0x0000006A - -#define CKR_MECHANISM_INVALID 0x00000070 -#define CKR_MECHANISM_PARAM_INVALID 0x00000071 - -/* CKR_OBJECT_CLASS_INCONSISTENT and CKR_OBJECT_CLASS_INVALID - * were removed for v2.0 */ -#define CKR_OBJECT_HANDLE_INVALID 0x00000082 -#define CKR_OPERATION_ACTIVE 0x00000090 -#define CKR_OPERATION_NOT_INITIALIZED 0x00000091 -#define CKR_PIN_INCORRECT 0x000000A0 -#define CKR_PIN_INVALID 0x000000A1 -#define CKR_PIN_LEN_RANGE 0x000000A2 - -/* CKR_PIN_EXPIRED and CKR_PIN_LOCKED are new for v2.0 */ -#define CKR_PIN_EXPIRED 0x000000A3 -#define CKR_PIN_LOCKED 0x000000A4 - -#define CKR_SESSION_CLOSED 0x000000B0 -#define CKR_SESSION_COUNT 0x000000B1 -#define CKR_SESSION_HANDLE_INVALID 0x000000B3 -#define CKR_SESSION_PARALLEL_NOT_SUPPORTED 0x000000B4 -#define CKR_SESSION_READ_ONLY 0x000000B5 -#define CKR_SESSION_EXISTS 0x000000B6 - -/* CKR_SESSION_READ_ONLY_EXISTS and - * CKR_SESSION_READ_WRITE_SO_EXISTS are new for v2.0 */ -#define CKR_SESSION_READ_ONLY_EXISTS 0x000000B7 -#define CKR_SESSION_READ_WRITE_SO_EXISTS 0x000000B8 - -#define CKR_SIGNATURE_INVALID 0x000000C0 -#define CKR_SIGNATURE_LEN_RANGE 0x000000C1 -#define CKR_TEMPLATE_INCOMPLETE 0x000000D0 -#define CKR_TEMPLATE_INCONSISTENT 0x000000D1 -#define CKR_TOKEN_NOT_PRESENT 0x000000E0 -#define CKR_TOKEN_NOT_RECOGNIZED 0x000000E1 -#define CKR_TOKEN_WRITE_PROTECTED 0x000000E2 -#define CKR_UNWRAPPING_KEY_HANDLE_INVALID 0x000000F0 -#define CKR_UNWRAPPING_KEY_SIZE_RANGE 0x000000F1 -#define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT 0x000000F2 -#define CKR_USER_ALREADY_LOGGED_IN 0x00000100 -#define CKR_USER_NOT_LOGGED_IN 0x00000101 -#define CKR_USER_PIN_NOT_INITIALIZED 0x00000102 -#define CKR_USER_TYPE_INVALID 0x00000103 - -/* CKR_USER_ANOTHER_ALREADY_LOGGED_IN and CKR_USER_TOO_MANY_TYPES - * are new to v2.01 */ -#define CKR_USER_ANOTHER_ALREADY_LOGGED_IN 0x00000104 -#define CKR_USER_TOO_MANY_TYPES 0x00000105 - -#define CKR_WRAPPED_KEY_INVALID 0x00000110 -#define CKR_WRAPPED_KEY_LEN_RANGE 0x00000112 -#define CKR_WRAPPING_KEY_HANDLE_INVALID 0x00000113 -#define CKR_WRAPPING_KEY_SIZE_RANGE 0x00000114 -#define CKR_WRAPPING_KEY_TYPE_INCONSISTENT 0x00000115 -#define CKR_RANDOM_SEED_NOT_SUPPORTED 0x00000120 - -/* These are new to v2.0 */ -#define CKR_RANDOM_NO_RNG 0x00000121 -#define CKR_BUFFER_TOO_SMALL 0x00000150 -#define CKR_SAVED_STATE_INVALID 0x00000160 -#define CKR_INFORMATION_SENSITIVE 0x00000170 -#define CKR_STATE_UNSAVEABLE 0x00000180 - -/* These are new to v2.01 */ -#define CKR_CRYPTOKI_NOT_INITIALIZED 0x00000190 -#define CKR_CRYPTOKI_ALREADY_INITIALIZED 0x00000191 -#define CKR_MUTEX_BAD 0x000001A0 -#define CKR_MUTEX_NOT_LOCKED 0x000001A1 - -#define CKR_VENDOR_DEFINED 0x80000000 - - -/* CK_NOTIFY is an application callback that processes events */ -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)( - CK_SESSION_HANDLE hSession, /* the session's handle */ - CK_NOTIFICATION event, - CK_VOID_PTR pApplication /* passed to C_OpenSession */ -); - - -/* CK_FUNCTION_LIST is a structure holding a Cryptoki spec - * version and pointers of appropriate types to all the - * Cryptoki functions */ -/* CK_FUNCTION_LIST is new for v2.0 */ -typedef struct CK_FUNCTION_LIST CK_FUNCTION_LIST; - -typedef CK_FUNCTION_LIST CK_PTR CK_FUNCTION_LIST_PTR; - -typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR; - - -/* CK_CREATEMUTEX is an application callback for creating a - * mutex object */ -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)( - CK_VOID_PTR_PTR ppMutex /* location to receive ptr to mutex */ -); - - -/* CK_DESTROYMUTEX is an application callback for destroying a - * mutex object */ -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)( - CK_VOID_PTR pMutex /* pointer to mutex */ -); - - -/* CK_LOCKMUTEX is an application callback for locking a mutex */ -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)( - CK_VOID_PTR pMutex /* pointer to mutex */ -); - - -/* CK_UNLOCKMUTEX is an application callback for unlocking a - * mutex */ -typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)( - CK_VOID_PTR pMutex /* pointer to mutex */ -); - - -/* CK_C_INITIALIZE_ARGS provides the optional arguments to - * C_Initialize */ -typedef struct CK_C_INITIALIZE_ARGS { - CK_CREATEMUTEX CreateMutex; - CK_DESTROYMUTEX DestroyMutex; - CK_LOCKMUTEX LockMutex; - CK_UNLOCKMUTEX UnlockMutex; - CK_FLAGS flags; -#ifdef FGMR - CK_BYTE_PTR pConfig; - CK_ULONG ulConfigLen; -#endif /* FGMR */ - CK_VOID_PTR pReserved; -} CK_C_INITIALIZE_ARGS; - -/* flags: bit flags that provide capabilities of the slot - * Bit Flag Mask Meaning - */ -#define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001 -#define CKF_OS_LOCKING_OK 0x00000002 - -typedef CK_C_INITIALIZE_ARGS CK_PTR CK_C_INITIALIZE_ARGS_PTR; - - -/* additional flags for parameters to functions */ - -/* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */ -#define CKF_DONT_BLOCK 1 - - -/* CK_KEA_DERIVE_PARAMS provides the parameters to the - * CKM_KEA_DERIVE mechanism */ -/* CK_KEA_DERIVE_PARAMS is new for v2.0 */ -typedef struct CK_KEA_DERIVE_PARAMS { - CK_BBOOL isSender; - CK_ULONG ulRandomLen; - CK_BYTE_PTR pRandomA; - CK_BYTE_PTR pRandomB; - CK_ULONG ulPublicDataLen; - CK_BYTE_PTR pPublicData; -} CK_KEA_DERIVE_PARAMS; - -typedef CK_KEA_DERIVE_PARAMS CK_PTR CK_KEA_DERIVE_PARAMS_PTR; - - -/* CK_RC2_PARAMS provides the parameters to the CKM_RC2_ECB and - * CKM_RC2_MAC mechanisms. An instance of CK_RC2_PARAMS just - * holds the effective keysize */ -typedef CK_ULONG CK_RC2_PARAMS; - -typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR; - - -/* CK_RC2_CBC_PARAMS provides the parameters to the CKM_RC2_CBC - * mechanism */ -typedef struct CK_RC2_CBC_PARAMS { - /* ulEffectiveBits was changed from CK_USHORT to CK_ULONG for - * v2.0 */ - CK_ULONG ulEffectiveBits; /* effective bits (1-1024) */ - - CK_BYTE iv[8]; /* IV for CBC mode */ -} CK_RC2_CBC_PARAMS; - -typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR; - - -/* CK_RC2_MAC_GENERAL_PARAMS provides the parameters for the - * CKM_RC2_MAC_GENERAL mechanism */ -/* CK_RC2_MAC_GENERAL_PARAMS is new for v2.0 */ -typedef struct CK_RC2_MAC_GENERAL_PARAMS { - CK_ULONG ulEffectiveBits; /* effective bits (1-1024) */ - CK_ULONG ulMacLength; /* Length of MAC in bytes */ -} CK_RC2_MAC_GENERAL_PARAMS; - -typedef CK_RC2_MAC_GENERAL_PARAMS CK_PTR \ - CK_RC2_MAC_GENERAL_PARAMS_PTR; - - -/* CK_RC5_PARAMS provides the parameters to the CKM_RC5_ECB and - * CKM_RC5_MAC mechanisms */ -/* CK_RC5_PARAMS is new for v2.0 */ -typedef struct CK_RC5_PARAMS { - CK_ULONG ulWordsize; /* wordsize in bits */ - CK_ULONG ulRounds; /* number of rounds */ -} CK_RC5_PARAMS; - -typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR; - - -/* CK_RC5_CBC_PARAMS provides the parameters to the CKM_RC5_CBC - * mechanism */ -/* CK_RC5_CBC_PARAMS is new for v2.0 */ -typedef struct CK_RC5_CBC_PARAMS { - CK_ULONG ulWordsize; /* wordsize in bits */ - CK_ULONG ulRounds; /* number of rounds */ - CK_BYTE_PTR pIv; /* pointer to IV */ - CK_ULONG ulIvLen; /* length of IV in bytes */ -} CK_RC5_CBC_PARAMS; - -typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR; - - -/* CK_RC5_MAC_GENERAL_PARAMS provides the parameters for the - * CKM_RC5_MAC_GENERAL mechanism */ -/* CK_RC5_MAC_GENERAL_PARAMS is new for v2.0 */ -typedef struct CK_RC5_MAC_GENERAL_PARAMS { - CK_ULONG ulWordsize; /* wordsize in bits */ - CK_ULONG ulRounds; /* number of rounds */ - CK_ULONG ulMacLength; /* Length of MAC in bytes */ -} CK_RC5_MAC_GENERAL_PARAMS; - -typedef CK_RC5_MAC_GENERAL_PARAMS CK_PTR \ - CK_RC5_MAC_GENERAL_PARAMS_PTR; - - -/* CK_MAC_GENERAL_PARAMS provides the parameters to most block - * ciphers' MAC_GENERAL mechanisms. Its value is the length of - * the MAC */ -/* CK_MAC_GENERAL_PARAMS is new for v2.0 */ -typedef CK_ULONG CK_MAC_GENERAL_PARAMS; - -typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR; - - -/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS provides the parameters to the - * CKM_SKIPJACK_PRIVATE_WRAP mechanism */ -/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS is new for v2.0 */ -typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS { - CK_ULONG ulPasswordLen; - CK_BYTE_PTR pPassword; - CK_ULONG ulPublicDataLen; - CK_BYTE_PTR pPublicData; - CK_ULONG ulPAndGLen; - CK_ULONG ulQLen; - CK_ULONG ulRandomLen; - CK_BYTE_PTR pRandomA; - CK_BYTE_PTR pPrimeP; - CK_BYTE_PTR pBaseG; - CK_BYTE_PTR pSubprimeQ; -} CK_SKIPJACK_PRIVATE_WRAP_PARAMS; - -typedef CK_SKIPJACK_PRIVATE_WRAP_PARAMS CK_PTR \ - CK_SKIPJACK_PRIVATE_WRAP_PTR; - - -/* CK_SKIPJACK_RELAYX_PARAMS provides the parameters to the - * CKM_SKIPJACK_RELAYX mechanism */ -/* CK_SKIPJACK_RELAYX_PARAMS is new for v2.0 */ -typedef struct CK_SKIPJACK_RELAYX_PARAMS { - CK_ULONG ulOldWrappedXLen; - CK_BYTE_PTR pOldWrappedX; - CK_ULONG ulOldPasswordLen; - CK_BYTE_PTR pOldPassword; - CK_ULONG ulOldPublicDataLen; - CK_BYTE_PTR pOldPublicData; - CK_ULONG ulOldRandomLen; - CK_BYTE_PTR pOldRandomA; - CK_ULONG ulNewPasswordLen; - CK_BYTE_PTR pNewPassword; - CK_ULONG ulNewPublicDataLen; - CK_BYTE_PTR pNewPublicData; - CK_ULONG ulNewRandomLen; - CK_BYTE_PTR pNewRandomA; -} CK_SKIPJACK_RELAYX_PARAMS; - -typedef CK_SKIPJACK_RELAYX_PARAMS CK_PTR \ - CK_SKIPJACK_RELAYX_PARAMS_PTR; - - -typedef struct CK_PBE_PARAMS { - CK_CHAR_PTR pInitVector; - CK_CHAR_PTR pPassword; - CK_ULONG ulPasswordLen; - CK_CHAR_PTR pSalt; - CK_ULONG ulSaltLen; - CK_ULONG ulIteration; -} CK_PBE_PARAMS; - -typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR; - - -/* CK_KEY_WRAP_SET_OAEP_PARAMS provides the parameters to the - * CKM_KEY_WRAP_SET_OAEP mechanism */ -/* CK_KEY_WRAP_SET_OAEP_PARAMS is new for v2.0 */ -typedef struct CK_KEY_WRAP_SET_OAEP_PARAMS { - CK_BYTE bBC; /* block contents byte */ - CK_BYTE_PTR pX; /* extra data */ - CK_ULONG ulXLen; /* length of extra data in bytes */ -} CK_KEY_WRAP_SET_OAEP_PARAMS; - -typedef CK_KEY_WRAP_SET_OAEP_PARAMS CK_PTR \ - CK_KEY_WRAP_SET_OAEP_PARAMS_PTR; - - -typedef struct CK_SSL3_RANDOM_DATA { - CK_BYTE_PTR pClientRandom; - CK_ULONG ulClientRandomLen; - CK_BYTE_PTR pServerRandom; - CK_ULONG ulServerRandomLen; -} CK_SSL3_RANDOM_DATA; - - -typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS { - CK_SSL3_RANDOM_DATA RandomInfo; - CK_VERSION_PTR pVersion; -} CK_SSL3_MASTER_KEY_DERIVE_PARAMS; - -typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR \ - CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR; - - -typedef struct CK_SSL3_KEY_MAT_OUT { - CK_OBJECT_HANDLE hClientMacSecret; - CK_OBJECT_HANDLE hServerMacSecret; - CK_OBJECT_HANDLE hClientKey; - CK_OBJECT_HANDLE hServerKey; - CK_BYTE_PTR pIVClient; - CK_BYTE_PTR pIVServer; -} CK_SSL3_KEY_MAT_OUT; - -typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR; - - -typedef struct CK_SSL3_KEY_MAT_PARAMS { - CK_ULONG ulMacSizeInBits; - CK_ULONG ulKeySizeInBits; - CK_ULONG ulIVSizeInBits; - CK_BBOOL bIsExport; - CK_SSL3_RANDOM_DATA RandomInfo; - CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial; -} CK_SSL3_KEY_MAT_PARAMS; - -typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR; - - -typedef struct CK_KEY_DERIVATION_STRING_DATA { - CK_BYTE_PTR pData; - CK_ULONG ulLen; -} CK_KEY_DERIVATION_STRING_DATA; - -typedef CK_KEY_DERIVATION_STRING_DATA CK_PTR \ - CK_KEY_DERIVATION_STRING_DATA_PTR; - - -/* The CK_EXTRACT_PARAMS is used for the - * CKM_EXTRACT_KEY_FROM_KEY mechanism. It specifies which bit - * of the base key should be used as the first bit of the - * derived key */ -/* CK_EXTRACT_PARAMS is new for v2.0 */ -typedef CK_ULONG CK_EXTRACT_PARAMS; - -typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR; - -/* undo packing */ -#include "nsscku.h" - -#endif /* NSSCKT_H */ diff --git a/security/nss/lib/ckfw/nsscku.h b/security/nss/lib/ckfw/nsscku.h deleted file mode 100644 index 46f4d1f59..000000000 --- a/security/nss/lib/ckfw/nsscku.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -/* - * This file is in part derived from a file "pkcs11t.h" made available - * by RSA Security at ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/pkcs11t.h - * - * Copyright (C) 1994-1999 RSA Security Inc. Licence to copy this document - * is granted provided that it is identified as "RSA Security Inc. Public-Key - * Cryptography Standards (PKCS)" in all material mentioning or referencing - * this document. - */ - -#ifndef NSSCKU_H -#define NSSCKU_H - -#ifdef DEBUG -static const char NSSCKU_CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -#endif /* NSSCKU_H */ - -/* - * These platform-dependent packing rules are required by all PKCS#11 - * modules, to be binary compatible. These rules have been placed in - * separate header files (nssckp.h to enable the packing, nsscku.h to - * disable) for consistancy. These files can be included many times, - * so the bodies should *NOT* be in the multiple-inclusion-preventing - * #ifndef/#endif area above. - */ - -/* - * WIN32 is defined (when appropriate) in NSPR's prcpucfg.h. - */ - -#ifdef WIN32 -#pragma warning(disable:4103) -#pragma pack(pop, cryptoki) -#endif /* WIN32 */ - -/* End of nsscku.h */ diff --git a/security/nss/lib/ckfw/object.c b/security/nss/lib/ckfw/object.c deleted file mode 100644 index ec8dfd6d5..000000000 --- a/security/nss/lib/ckfw/object.c +++ /dev/null @@ -1,1044 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * object.c - * - * This file implements the NSSCKFWObject type and methods. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWObject - * - * -- create/destroy -- - * nssCKFWObject_Create - * nssCKFWObject_Finalize - * nssCKFWObject_Destroy - * - * -- public accessors -- - * NSSCKFWObject_GetMDObject - * NSSCKFWObject_GetArena - * NSSCKFWObject_IsTokenObject - * NSSCKFWObject_GetAttributeCount - * NSSCKFWObject_GetAttributeTypes - * NSSCKFWObject_GetAttributeSize - * NSSCKFWObject_GetAttribute - * NSSCKFWObject_SetAttribute - * NSSCKFWObject_GetObjectSize - * - * -- implement public accessors -- - * nssCKFWObject_GetMDObject - * nssCKFWObject_GetArena - * - * -- private accessors -- - * nssCKFWObject_SetHandle - * nssCKFWObject_GetHandle - * - * -- module fronts -- - * nssCKFWObject_IsTokenObject - * nssCKFWObject_GetAttributeCount - * nssCKFWObject_GetAttributeTypes - * nssCKFWObject_GetAttributeSize - * nssCKFWObject_GetAttribute - * nssCKFWObject_SetAttribute - * nssCKFWObject_GetObjectSize - */ - -struct NSSCKFWObjectStr { - NSSCKFWMutex *mutex; /* merely to serialise the MDObject calls */ - NSSArena *arena; - NSSCKMDObject *mdObject; - NSSCKMDSession *mdSession; - NSSCKFWSession *fwSession; - NSSCKMDToken *mdToken; - NSSCKFWToken *fwToken; - NSSCKMDInstance *mdInstance; - NSSCKFWInstance *fwInstance; - CK_OBJECT_HANDLE hObject; -}; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -object_add_pointer -( - const NSSCKFWObject *fwObject -) -{ - return CKR_OK; -} - -static CK_RV -object_remove_pointer -( - const NSSCKFWObject *fwObject -) -{ - return CKR_OK; -} - -NSS_IMPLEMENT CK_RV -nssCKFWObject_verifyPointer -( - const NSSCKFWObject *fwObject -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - - -/* - * nssCKFWObject_Create - * - */ -NSS_IMPLEMENT NSSCKFWObject * -nssCKFWObject_Create -( - NSSArena *arena, - NSSCKMDObject *mdObject, - NSSCKFWSession *fwSession, - NSSCKFWToken *fwToken, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - NSSCKFWObject *fwObject; - nssCKFWHash *mdObjectHash; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWObject *)NULL; - } - - if( PR_SUCCESS != nssArena_verifyPointer(arena) ) { - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKFWObject *)NULL; - } -#endif /* NSSDEBUG */ - - mdObjectHash = nssCKFWToken_GetMDObjectHash(fwToken); - if( (nssCKFWHash *)NULL == mdObjectHash ) { - *pError = CKR_GENERAL_ERROR; - return (NSSCKFWObject *)NULL; - } - - if( nssCKFWHash_Exists(mdObjectHash, mdObject) ) { - fwObject = nssCKFWHash_Lookup(mdObjectHash, mdObject); - return fwObject; - } - - fwObject = nss_ZNEW(arena, NSSCKFWObject); - if( (NSSCKFWObject *)NULL == fwObject ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKFWObject *)NULL; - } - - fwObject->arena = arena; - fwObject->mdObject = mdObject; - fwObject->fwSession = fwSession; - - if( (NSSCKFWSession *)NULL != fwSession ) { - fwObject->mdSession = nssCKFWSession_GetMDSession(fwSession); - } - - fwObject->fwToken = fwToken; - - if( (NSSCKFWToken *)NULL != fwToken ) { - fwObject->mdToken = nssCKFWToken_GetMDToken(fwToken); - } - - fwObject->fwInstance = fwInstance; - fwObject->mdInstance = nssCKFWInstance_GetMDInstance(fwInstance); - fwObject->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == fwObject->mutex ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWObject *)NULL; - } - - *pError = nssCKFWHash_Add(mdObjectHash, mdObject, fwObject); - if( CKR_OK != *pError ) { - nss_ZFreeIf(fwObject); - return (NSSCKFWObject *)NULL; - } - -#ifdef DEBUG - *pError = object_add_pointer(fwObject); - if( CKR_OK != *pError ) { - nssCKFWHash_Remove(mdObjectHash, mdObject); - nss_ZFreeIf(fwObject); - return (NSSCKFWObject *)NULL; - } -#endif /* DEBUG */ - - *pError = CKR_OK; - return fwObject; -} - -/* - * nssCKFWObject_Finalize - * - */ -NSS_IMPLEMENT void -nssCKFWObject_Finalize -( - NSSCKFWObject *fwObject -) -{ - nssCKFWHash *mdObjectHash; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return; - } -#endif /* NSSDEBUG */ - - (void)nssCKFWMutex_Destroy(fwObject->mutex); - - if( (void *)NULL != (void *)fwObject->mdObject->Finalize ) { - fwObject->mdObject->Finalize(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance); - } - - mdObjectHash = nssCKFWToken_GetMDObjectHash(fwObject->fwToken); - if( (nssCKFWHash *)NULL != mdObjectHash ) { - nssCKFWHash_Remove(mdObjectHash, fwObject->mdObject); - } - - nssCKFWSession_DeregisterSessionObject(fwObject->fwSession, fwObject); - nss_ZFreeIf(fwObject); - -#ifdef DEBUG - (void)object_remove_pointer(fwObject); -#endif /* DEBUG */ - - return; -} - -/* - * nssCKFWObject_Destroy - * - */ -NSS_IMPLEMENT void -nssCKFWObject_Destroy -( - NSSCKFWObject *fwObject -) -{ - nssCKFWHash *mdObjectHash; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return; - } -#endif /* NSSDEBUG */ - - (void)nssCKFWMutex_Destroy(fwObject->mutex); - - if( (void *)NULL != (void *)fwObject->mdObject->Destroy ) { - fwObject->mdObject->Destroy(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance); - } - - mdObjectHash = nssCKFWToken_GetMDObjectHash(fwObject->fwToken); - if( (nssCKFWHash *)NULL != mdObjectHash ) { - nssCKFWHash_Remove(mdObjectHash, fwObject->mdObject); - } - - nssCKFWSession_DeregisterSessionObject(fwObject->fwSession, fwObject); - nss_ZFreeIf(fwObject); - -#ifdef DEBUG - (void)object_remove_pointer(fwObject); -#endif /* DEBUG */ - - return; -} - -/* - * nssCKFWObject_GetMDObject - * - */ -NSS_IMPLEMENT NSSCKMDObject * -nssCKFWObject_GetMDObject -( - NSSCKFWObject *fwObject -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return (NSSCKMDObject *)NULL; - } -#endif /* NSSDEBUG */ - - return fwObject->mdObject; -} - -/* - * nssCKFWObject_GetArena - * - */ -NSS_IMPLEMENT NSSArena * -nssCKFWObject_GetArena -( - NSSCKFWObject *fwObject, - CK_RV *pError -) -{ -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (NSSArena *)NULL; - } -#endif /* NSSDEBUG */ - - return fwObject->arena; -} - -/* - * nssCKFWObject_SetHandle - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWObject_SetHandle -( - NSSCKFWObject *fwObject, - CK_OBJECT_HANDLE hObject -) -{ -#ifdef NSSDEBUG - CK_RV error = CKR_OK; -#endif /* NSSDEBUG */ - -#ifdef NSSDEBUG - error = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - if( (CK_OBJECT_HANDLE)0 != fwObject->hObject ) { - return CKR_GENERAL_ERROR; - } - - fwObject->hObject = hObject; - - return CKR_OK; -} - -/* - * nssCKFWObject_GetHandle - * - */ -NSS_IMPLEMENT CK_OBJECT_HANDLE -nssCKFWObject_GetHandle -( - NSSCKFWObject *fwObject -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return (CK_OBJECT_HANDLE)0; - } -#endif /* NSSDEBUG */ - - return fwObject->hObject; -} - -/* - * nssCKFWObject_IsTokenObject - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWObject_IsTokenObject -( - NSSCKFWObject *fwObject -) -{ - CK_BBOOL b = CK_FALSE; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwObject->mutex) ) { - return CK_FALSE; - } - - if( (void *)NULL == (void *)fwObject->mdObject->IsTokenObject ) { - NSSItem item; - NSSItem *pItem; - CK_RV rv = CKR_OK; - - item.data = (void *)&b; - item.size = sizeof(b); - - pItem = nssCKFWObject_GetAttribute(fwObject, CKA_TOKEN, &item, - (NSSArena *)NULL, &rv); - if( (NSSItem *)NULL == pItem ) { - /* Error of some type */ - b = CK_FALSE; - goto done; - } - - goto done; - } - - b = fwObject->mdObject->IsTokenObject(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance); - - done: - (void)nssCKFWMutex_Unlock(fwObject->mutex); - return b; -} - -/* - * nssCKFWObject_GetAttributeCount - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWObject_GetAttributeCount -( - NSSCKFWObject *fwObject, - CK_RV *pError -) -{ - CK_ULONG rv; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwObject->mdObject->GetAttributeCount ) { - *pError = CKR_GENERAL_ERROR; - return (CK_ULONG)0; - } - - *pError = nssCKFWMutex_Lock(fwObject->mutex); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } - - rv = fwObject->mdObject->GetAttributeCount(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance, - pError); - - (void)nssCKFWMutex_Unlock(fwObject->mutex); - return rv; -} - -/* - * nssCKFWObject_GetAttributeTypes - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWObject_GetAttributeTypes -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != error ) { - return error; - } - - if( (CK_ATTRIBUTE_TYPE_PTR)NULL == typeArray ) { - return CKR_ARGUMENTS_BAD; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwObject->mdObject->GetAttributeTypes ) { - return CKR_GENERAL_ERROR; - } - - error = nssCKFWMutex_Lock(fwObject->mutex); - if( CKR_OK != error ) { - return error; - } - - error = fwObject->mdObject->GetAttributeTypes(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance, - typeArray, ulCount); - - (void)nssCKFWMutex_Unlock(fwObject->mutex); - return error; -} - -/* - * nssCKFWObject_GetAttributeSize - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWObject_GetAttributeSize -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ - CK_ULONG rv; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwObject->mdObject->GetAttributeSize ) { - *pError = CKR_GENERAL_ERROR; - return (CK_ULONG )0; - } - - *pError = nssCKFWMutex_Lock(fwObject->mutex); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } - - rv = fwObject->mdObject->GetAttributeSize(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance, - attribute, pError); - - (void)nssCKFWMutex_Unlock(fwObject->mutex); - return rv; -} - -/* - * nssCKFWObject_GetAttribute - * - * Usual NSS allocation rules: - * If itemOpt is not NULL, it will be returned; otherwise an NSSItem - * will be allocated. If itemOpt is not NULL but itemOpt->data is, - * the buffer will be allocated; otherwise, the buffer will be used. - * Any allocations will come from the optional arena, if one is - * specified. - */ -NSS_IMPLEMENT NSSItem * -nssCKFWObject_GetAttribute -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *itemOpt, - NSSArena *arenaOpt, - CK_RV *pError -) -{ - NSSItem *rv = (NSSItem *)NULL; - NSSItem *mdItem; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSItem *)NULL; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (NSSItem *)NULL; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwObject->mdObject->GetAttributeSize ) { - *pError = CKR_GENERAL_ERROR; - return (NSSItem *)NULL; - } - - *pError = nssCKFWMutex_Lock(fwObject->mutex); - if( CKR_OK != *pError ) { - return (NSSItem *)NULL; - } - - mdItem = fwObject->mdObject->GetAttribute(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance, - attribute, pError); - - if( (NSSItem *)NULL == mdItem ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - - goto done; - } - - if( (NSSItem *)NULL == itemOpt ) { - rv = nss_ZNEW(arenaOpt, NSSItem); - if( (NSSItem *)NULL == rv ) { - *pError = CKR_HOST_MEMORY; - goto done; - } - } else { - rv = itemOpt; - } - - if( (void *)NULL == rv->data ) { - rv->size = mdItem->size; - rv->data = nss_ZAlloc(arenaOpt, rv->size); - if( (void *)NULL == rv->data ) { - *pError = CKR_HOST_MEMORY; - if( (NSSItem *)NULL == itemOpt ) { - nss_ZFreeIf(rv); - } - rv = (NSSItem *)NULL; - goto done; - } - } else { - if( rv->size >= mdItem->size ) { - rv->size = mdItem->size; - } else { - *pError = CKR_BUFFER_TOO_SMALL; - /* Should we set rv->size to mdItem->size? */ - /* rv can't have been allocated */ - rv = (NSSItem *)NULL; - goto done; - } - } - - (void)nsslibc_memcpy(rv->data, mdItem->data, rv->size); - - done: - (void)nssCKFWMutex_Unlock(fwObject->mutex); - return rv; -} - -/* - * nssCKFWObject_SetAttribute - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWObject_SetAttribute -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *value -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - if( CKA_TOKEN == attribute ) { - /* - * We're changing from a session object to a token object or - * vice-versa. - */ - - CK_ATTRIBUTE a; - NSSCKFWObject *newFwObject; - NSSCKFWObject swab; - - a.type = CKA_TOKEN; - a.pValue = value->data; - a.ulValueLen = value->size; - - newFwObject = nssCKFWSession_CopyObject(fwObject->fwSession, fwObject, - &a, 1, &error); - if( (NSSCKFWObject *)NULL == newFwObject ) { - if( CKR_OK == error ) { - error = CKR_GENERAL_ERROR; - } - return error; - } - - /* - * Actually, I bet the locking is worse than this.. this part of - * the code could probably use some scrutiny and reworking. - */ - error = nssCKFWMutex_Lock(fwObject->mutex); - if( CKR_OK != error ) { - nssCKFWObject_Destroy(newFwObject); - return error; - } - - error = nssCKFWMutex_Lock(newFwObject->mutex); - if( CKR_OK != error ) { - nssCKFWMutex_Unlock(fwObject->mutex); - nssCKFWObject_Destroy(newFwObject); - return error; - } - - /* - * Now, we have our new object, but it has a new fwObject pointer, - * while we have to keep the existing one. So quick swap the contents. - */ - swab = *fwObject; - *fwObject = *newFwObject; - *newFwObject = swab; - - /* But keep the mutexes the same */ - swab.mutex = fwObject->mutex; - fwObject->mutex = newFwObject->mutex; - newFwObject->mutex = swab.mutex; - - (void)nssCKFWMutex_Unlock(newFwObject->mutex); - (void)nssCKFWMutex_Unlock(fwObject->mutex); - - /* - * Either remove or add this to the list of session objects - */ - - if( CK_FALSE == *(CK_BBOOL *)value->data ) { - /* - * New one is a session object, except since we "stole" the fwObject, it's - * not in the list. Add it. - */ - nssCKFWSession_RegisterSessionObject(fwObject->fwSession, fwObject); - } else { - /* - * New one is a token object, except since we "stole" the fwObject, it's - * in the list. Remove it. - */ - nssCKFWSession_DeregisterSessionObject(fwObject->fwSession, fwObject); - } - - /* - * Now delete the old object. Remember the names have changed. - */ - nssCKFWObject_Destroy(newFwObject); - - return CKR_OK; - } else { - /* - * An "ordinary" change. - */ - if( (void *)NULL == (void *)fwObject->mdObject->SetAttribute ) { - /* We could fake it with copying, like above.. later */ - return CKR_ATTRIBUTE_READ_ONLY; - } - - error = nssCKFWMutex_Lock(fwObject->mutex); - if( CKR_OK != error ) { - return error; - } - - error = fwObject->mdObject->SetAttribute(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance, - attribute, value); - - (void)nssCKFWMutex_Unlock(fwObject->mutex); - - return error; - } -} - -/* - * nssCKFWObject_GetObjectSize - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWObject_GetObjectSize -( - NSSCKFWObject *fwObject, - CK_RV *pError -) -{ - CK_ULONG rv; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwObject->mdObject->GetObjectSize ) { - *pError = CKR_INFORMATION_SENSITIVE; - return (CK_ULONG)0; - } - - *pError = nssCKFWMutex_Lock(fwObject->mutex); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } - - rv = fwObject->mdObject->GetObjectSize(fwObject->mdObject, fwObject, - fwObject->mdSession, fwObject->fwSession, fwObject->mdToken, - fwObject->fwToken, fwObject->mdInstance, fwObject->fwInstance, - pError); - - (void)nssCKFWMutex_Unlock(fwObject->mutex); - return rv; -} - -/* - * NSSCKFWObject_GetMDObject - * - */ -NSS_IMPLEMENT NSSCKMDObject * -NSSCKFWObject_GetMDObject -( - NSSCKFWObject *fwObject -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return (NSSCKMDObject *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWObject_GetMDObject(fwObject); -} - -/* - * NSSCKFWObject_GetArena - * - */ -NSS_IMPLEMENT NSSArena * -NSSCKFWObject_GetArena -( - NSSCKFWObject *fwObject, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (NSSArena *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWObject_GetArena(fwObject, pError); -} - -/* - * NSSCKFWObject_IsTokenObject - * - */ -NSS_IMPLEMENT CK_BBOOL -NSSCKFWObject_IsTokenObject -( - NSSCKFWObject *fwObject -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWObject_verifyPointer(fwObject) ) { - return CK_FALSE; - } -#endif /* DEBUG */ - - return nssCKFWObject_IsTokenObject(fwObject); -} - -/* - * NSSCKFWObject_GetAttributeCount - * - */ -NSS_IMPLEMENT CK_ULONG -NSSCKFWObject_GetAttributeCount -( - NSSCKFWObject *fwObject, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } -#endif /* DEBUG */ - - return nssCKFWObject_GetAttributeCount(fwObject, pError); -} - -/* - * NSSCKFWObject_GetAttributeTypes - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWObject_GetAttributeTypes -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -) -{ - CK_RV error = CKR_OK; - -#ifdef DEBUG - error = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != error ) { - return error; - } - - if( (CK_ATTRIBUTE_TYPE_PTR)NULL == typeArray ) { - return CKR_ARGUMENTS_BAD; - } -#endif /* DEBUG */ - - return nssCKFWObject_GetAttributeTypes(fwObject, typeArray, ulCount); -} - -/* - * NSSCKFWObject_GetAttributeSize - * - */ -NSS_IMPLEMENT CK_ULONG -NSSCKFWObject_GetAttributeSize -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } -#endif /* DEBUG */ - - return nssCKFWObject_GetAttributeSize(fwObject, attribute, pError); -} - -/* - * NSSCKFWObject_GetAttribute - * - */ -NSS_IMPLEMENT NSSItem * -NSSCKFWObject_GetAttribute -( - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *itemOpt, - NSSArena *arenaOpt, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSItem *)NULL; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (NSSItem *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWObject_GetAttribute(fwObject, attribute, itemOpt, arenaOpt, pError); -} - -/* - * NSSCKFWObject_GetObjectSize - * - */ -NSS_IMPLEMENT CK_ULONG -NSSCKFWObject_GetObjectSize -( - NSSCKFWObject *fwObject, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } -#endif /* DEBUG */ - - return nssCKFWObject_GetObjectSize(fwObject, pError); -} diff --git a/security/nss/lib/ckfw/session.c b/security/nss/lib/ckfw/session.c deleted file mode 100644 index ef726eab1..000000000 --- a/security/nss/lib/ckfw/session.c +++ /dev/null @@ -1,1962 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * session.c - * - * This file implements the NSSCKFWSession type and methods. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWSession - * - * -- create/destroy -- - * nssCKFWSession_Create - * nssCKFWSession_Destroy - * - * -- public accessors -- - * NSSCKFWSession_GetMDSession - * NSSCKFWSession_GetArena - * NSSCKFWSession_CallNotification - * NSSCKFWSession_IsRWSession - * NSSCKFWSession_IsSO - * - * -- implement public accessors -- - * nssCKFWSession_GetMDSession - * nssCKFWSession_GetArena - * nssCKFWSession_CallNotification - * nssCKFWSession_IsRWSession - * nssCKFWSession_IsSO - * - * -- private accessors -- - * nssCKFWSession_GetSlot - * nssCKFWSession_GetSessionState - * nssCKFWSession_SetFWFindObjects - * nssCKFWSession_GetFWFindObjects - * nssCKFWSession_SetMDSession - * nssCKFWSession_SetHandle - * nssCKFWSession_GetHandle - * nssCKFWSession_RegisterSessionObject - * nssCKFWSession_DeegisterSessionObject - * - * -- module fronts -- - * nssCKFWSession_GetDeviceError - * nssCKFWSession_Login - * nssCKFWSession_Logout - * nssCKFWSession_InitPIN - * nssCKFWSession_SetPIN - * nssCKFWSession_GetOperationStateLen - * nssCKFWSession_GetOperationState - * nssCKFWSession_SetOperationState - * nssCKFWSession_CreateObject - * nssCKFWSession_CopyObject - * nssCKFWSession_FindObjectsInit - * nssCKFWSession_SeedRandom - * nssCKFWSession_GetRandom - */ - -struct NSSCKFWSessionStr { - NSSArena *arena; - NSSCKMDSession *mdSession; - NSSCKFWToken *fwToken; - NSSCKMDToken *mdToken; - NSSCKFWInstance *fwInstance; - NSSCKMDInstance *mdInstance; - CK_VOID_PTR pApplication; - CK_NOTIFY Notify; - - /* - * Everything above is set at creation time, and then not modified. - * The items below are atomic. No locking required. If we fear - * about pointer-copies being nonatomic, we'll lock fwFindObjects. - */ - - CK_BBOOL rw; - NSSCKFWFindObjects *fwFindObjects; - nssCKFWHash *sessionObjectHash; - CK_SESSION_HANDLE hSession; -}; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -session_add_pointer -( - const NSSCKFWSession *fwSession -) -{ - return CKR_OK; -} - -static CK_RV -session_remove_pointer -( - const NSSCKFWSession *fwSession -) -{ - return CKR_OK; -} - -NSS_IMPLEMENT CK_RV -nssCKFWSession_verifyPointer -( - const NSSCKFWSession *fwSession -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -/* - * nssCKFWSession_Create - * - */ -NSS_IMPLEMENT NSSCKFWSession * -nssCKFWSession_Create -( - NSSCKFWToken *fwToken, - CK_BBOOL rw, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_RV *pError -) -{ - NSSArena *arena = (NSSArena *)NULL; - NSSCKFWSession *fwSession; - NSSCKFWSlot *fwSlot; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWSession *)NULL; - } - - *pError = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != *pError ) { - return (NSSCKFWSession *)NULL; - } -#endif /* NSSDEBUG */ - - arena = NSSArena_Create(); - if( (NSSArena *)NULL == arena ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKFWSession *)NULL; - } - - fwSession = nss_ZNEW(arena, NSSCKFWSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - fwSession->arena = arena; - fwSession->mdSession = (NSSCKMDSession *)NULL; /* set later */ - fwSession->fwToken = fwToken; - fwSession->mdToken = nssCKFWToken_GetMDToken(fwToken); - - fwSlot = nssCKFWToken_GetFWSlot(fwToken); - fwSession->fwInstance = nssCKFWSlot_GetFWInstance(fwSlot); - fwSession->mdInstance = nssCKFWSlot_GetMDInstance(fwSlot); - - fwSession->rw = rw; - fwSession->pApplication = pApplication; - fwSession->Notify = Notify; - - fwSession->fwFindObjects = (NSSCKFWFindObjects *)NULL; - - fwSession->sessionObjectHash = nssCKFWHash_Create(fwSession->fwInstance, arena, pError); - if( (nssCKFWHash *)NULL == fwSession->sessionObjectHash ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - -#ifdef DEBUG - *pError = session_add_pointer(fwSession); - if( CKR_OK != *pError ) { - goto loser; - } -#endif /* DEBUG */ - - return fwSession; - - loser: - if( (NSSArena *)NULL != arena ) { - if( (nssCKFWHash *)NULL != fwSession->sessionObjectHash ) { - (void)nssCKFWHash_Destroy(fwSession->sessionObjectHash); - } - NSSArena_Destroy(arena); - } - - return (NSSCKFWSession *)NULL; -} - -static void -nss_ckfw_session_object_destroy_iterator -( - const void *key, - void *value, - void *closure -) -{ - NSSCKFWObject *fwObject = (NSSCKFWObject *)value; - nssCKFWObject_Finalize(fwObject); -} - -/* - * nssCKFWSession_Destroy - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_Destroy -( - NSSCKFWSession *fwSession, - CK_BBOOL removeFromTokenHash -) -{ - CK_RV error = CKR_OK; - nssCKFWHash *sessionObjectHash; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - if( removeFromTokenHash ) { - error = nssCKFWToken_RemoveSession(fwSession->fwToken, fwSession); - } - - /* - * Invalidate session objects - */ - - sessionObjectHash = fwSession->sessionObjectHash; - fwSession->sessionObjectHash = (nssCKFWHash *)NULL; - - nssCKFWHash_Iterate(sessionObjectHash, - nss_ckfw_session_object_destroy_iterator, - (void *)NULL); - -#ifdef DEBUG - (void)session_remove_pointer(fwSession); -#endif /* DEBUG */ - (void)nssCKFWHash_Destroy(sessionObjectHash); - NSSArena_Destroy(fwSession->arena); - - return error; -} - -/* - * nssCKFWSession_GetMDSession - * - */ -NSS_IMPLEMENT NSSCKMDSession * -nssCKFWSession_GetMDSession -( - NSSCKFWSession *fwSession -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return (NSSCKMDSession *)NULL; - } -#endif /* NSSDEBUG */ - - return fwSession->mdSession; -} - -/* - * nssCKFWSession_GetArena - * - */ -NSS_IMPLEMENT NSSArena * -nssCKFWSession_GetArena -( - NSSCKFWSession *fwSession, - CK_RV *pError -) -{ -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - *pError = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != *pError ) { - return (NSSArena *)NULL; - } -#endif /* NSSDEBUG */ - - return fwSession->arena; -} - -/* - * nssCKFWSession_CallNotification - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_CallNotification -( - NSSCKFWSession *fwSession, - CK_NOTIFICATION event -) -{ - CK_RV error = CKR_OK; - CK_SESSION_HANDLE handle; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - if( (CK_NOTIFY)NULL == fwSession->Notify ) { - return CKR_OK; - } - - handle = nssCKFWInstance_FindSessionHandle(fwSession->fwInstance, fwSession); - if( (CK_SESSION_HANDLE)0 == handle ) { - return CKR_GENERAL_ERROR; - } - - error = fwSession->Notify(handle, event, fwSession->pApplication); - - return error; -} - -/* - * nssCKFWSession_IsRWSession - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWSession_IsRWSession -( - NSSCKFWSession *fwSession -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - return fwSession->rw; -} - -/* - * nssCKFWSession_IsSO - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWSession_IsSO -( - NSSCKFWSession *fwSession -) -{ - CK_STATE state; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - state = nssCKFWToken_GetSessionState(fwSession->fwToken); - switch( state ) { - case CKS_RO_PUBLIC_SESSION: - case CKS_RO_USER_FUNCTIONS: - case CKS_RW_PUBLIC_SESSION: - case CKS_RW_USER_FUNCTIONS: - return CK_FALSE; - case CKS_RW_SO_FUNCTIONS: - return CK_TRUE; - default: - return CK_FALSE; - } -} - -/* - * nssCKFWSession_GetFWSlot - * - */ -NSS_IMPLEMENT NSSCKFWSlot * -nssCKFWSession_GetFWSlot -( - NSSCKFWSession *fwSession -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return (NSSCKFWSlot *)NULL; - } -#endif /* NSSDEBUG */ - - return nssCKFWToken_GetFWSlot(fwSession->fwToken); -} - -/* - * nssCFKWSession_GetSessionState - * - */ -NSS_IMPLEMENT CK_STATE -nssCKFWSession_GetSessionState -( - NSSCKFWSession *fwSession -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return CKS_RO_PUBLIC_SESSION; /* whatever */ - } -#endif /* NSSDEBUG */ - - return nssCKFWToken_GetSessionState(fwSession->fwToken); -} - -/* - * nssCKFWSession_SetFWFindObjects - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_SetFWFindObjects -( - NSSCKFWSession *fwSession, - NSSCKFWFindObjects *fwFindObjects -) -{ -#ifdef NSSDEBUG - CK_RV error = CKR_OK; -#endif /* NSSDEBUG */ - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - /* fwFindObjects may be null */ -#endif /* NSSDEBUG */ - - if( ((NSSCKFWFindObjects *)NULL != fwSession->fwFindObjects) && - ((NSSCKFWFindObjects *)NULL != fwFindObjects) ) { - return CKR_OPERATION_ACTIVE; - } - - fwSession->fwFindObjects = fwFindObjects; - - return CKR_OK; -} - -/* - * nssCKFWSession_GetFWFindObjects - * - */ -NSS_IMPLEMENT NSSCKFWFindObjects * -nssCKFWSession_GetFWFindObjects -( - NSSCKFWSession *fwSession, - CK_RV *pError -) -{ -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWFindObjects *)NULL; - } - - *pError = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != *pError ) { - return (NSSCKFWFindObjects *)NULL; - } -#endif /* NSSDEBUG */ - - if( (NSSCKFWFindObjects *)NULL == fwSession->fwFindObjects ) { - *pError = CKR_OPERATION_NOT_INITIALIZED; - return (NSSCKFWFindObjects *)NULL; - } - - return fwSession->fwFindObjects; -} - -/* - * nssCKFWSession_SetMDSession - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_SetMDSession -( - NSSCKFWSession *fwSession, - NSSCKMDSession *mdSession -) -{ -#ifdef NSSDEBUG - CK_RV error = CKR_OK; -#endif /* NSSDEBUG */ - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSCKMDSession *)NULL == mdSession ) { - return CKR_ARGUMENTS_BAD; - } -#endif /* NSSDEBUG */ - - if( (NSSCKMDSession *)NULL != fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } - - fwSession->mdSession = mdSession; - - return CKR_OK; -} - -/* - * nssCKFWSession_SetHandle - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_SetHandle -( - NSSCKFWSession *fwSession, - CK_SESSION_HANDLE hSession -) -{ -#ifdef NSSDEBUG - CK_RV error = CKR_OK; -#endif /* NSSDEBUG */ - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - if( (CK_SESSION_HANDLE)0 != fwSession->hSession ) { - return CKR_GENERAL_ERROR; - } - - fwSession->hSession = hSession; - - return CKR_OK; -} - -/* - * nssCKFWSession_GetHandle - * - */ -NSS_IMPLEMENT CK_SESSION_HANDLE -nssCKFWSession_GetHandle -( - NSSCKFWSession *fwSession -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return NULL; - } -#endif /* NSSDEBUG */ - - return fwSession->hSession; -} - -/* - * nssCKFWSession_RegisterSessionObject - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_RegisterSessionObject -( - NSSCKFWSession *fwSession, - NSSCKFWObject *fwObject -) -{ - CK_RV rv = CKR_OK; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - if( (nssCKFWHash *)NULL != fwSession->sessionObjectHash ) { - rv = nssCKFWHash_Add(fwSession->sessionObjectHash, fwObject, fwObject); - } - - return rv; -} - -/* - * nssCKFWSession_DeregisterSessionObject - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_DeregisterSessionObject -( - NSSCKFWSession *fwSession, - NSSCKFWObject *fwObject -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - if( (nssCKFWHash *)NULL != fwSession->sessionObjectHash ) { - nssCKFWHash_Remove(fwSession->sessionObjectHash, fwObject); - } - - return CKR_OK; -} - -/* - * nssCKFWSession_GetDeviceError - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWSession_GetDeviceError -( - NSSCKFWSession *fwSession -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return (CK_ULONG)0; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSession->mdSession->GetDeviceError ) { - return (CK_ULONG)0; - } - - return fwSession->mdSession->GetDeviceError(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance); -} - -/* - * nssCKFWSession_Login - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_Login -( - NSSCKFWSession *fwSession, - CK_USER_TYPE userType, - NSSItem *pin -) -{ - CK_RV error = CKR_OK; - CK_STATE oldState; - CK_STATE newState; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - switch( userType ) { - case CKU_SO: - case CKU_USER: - break; - default: - return CKR_USER_TYPE_INVALID; - } - - if( (NSSItem *)NULL == pin ) { - if( CK_TRUE != nssCKFWToken_GetHasProtectedAuthenticationPath(fwSession->fwToken) ) { - return CKR_ARGUMENTS_BAD; - } - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - oldState = nssCKFWToken_GetSessionState(fwSession->fwToken); - - /* - * It's not clear what happens when you're already logged in. - * I'll just fail; but if we decide to change, the logic is - * all right here. - */ - - if( CKU_SO == userType ) { - switch( oldState ) { - case CKS_RO_PUBLIC_SESSION: - /* - * There's no such thing as a read-only security officer - * session, so fail. The error should be CKR_SESSION_READ_ONLY, - * except that C_Login isn't defined to return that. So we'll - * do CKR_SESSION_READ_ONLY_EXISTS, which is what is documented. - */ - return CKR_SESSION_READ_ONLY_EXISTS; - case CKS_RO_USER_FUNCTIONS: - return CKR_USER_ANOTHER_ALREADY_LOGGED_IN; - case CKS_RW_PUBLIC_SESSION: - newState = CKS_RW_SO_FUNCTIONS; - break; - case CKS_RW_USER_FUNCTIONS: - return CKR_USER_ANOTHER_ALREADY_LOGGED_IN; - case CKS_RW_SO_FUNCTIONS: - return CKR_USER_ALREADY_LOGGED_IN; - default: - return CKR_GENERAL_ERROR; - } - } else /* CKU_USER == userType */ { - switch( oldState ) { - case CKS_RO_PUBLIC_SESSION: - newState = CKS_RO_USER_FUNCTIONS; - break; - case CKS_RO_USER_FUNCTIONS: - return CKR_USER_ALREADY_LOGGED_IN; - case CKS_RW_PUBLIC_SESSION: - newState = CKS_RW_USER_FUNCTIONS; - break; - case CKS_RW_USER_FUNCTIONS: - return CKR_USER_ALREADY_LOGGED_IN; - case CKS_RW_SO_FUNCTIONS: - return CKR_USER_ANOTHER_ALREADY_LOGGED_IN; - default: - return CKR_GENERAL_ERROR; - } - } - - /* - * So now we're in one of three cases: - * - * Old == CKS_RW_PUBLIC_SESSION, New == CKS_RW_SO_FUNCTIONS; - * Old == CKS_RW_PUBLIC_SESSION, New == CKS_RW_USER_FUNCTIONS; - * Old == CKS_RO_PUBLIC_SESSION, New == CKS_RO_USER_FUNCTIONS; - */ - - if( (void *)NULL == (void *)fwSession->mdSession->Login ) { - /* - * The Module doesn't want to be informed (or check the pin) - * it'll just rely on the Framework as needed. - */ - ; - } else { - error = fwSession->mdSession->Login(fwSession->mdSession, fwSession, - fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, userType, pin, oldState, newState); - if( CKR_OK != error ) { - return error; - } - } - - (void)nssCKFWToken_SetSessionState(fwSession->fwToken, newState); - return CKR_OK; -} - -/* - * nssCKFWSession_Logout - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_Logout -( - NSSCKFWSession *fwSession -) -{ - CK_RV error = CKR_OK; - CK_STATE oldState; - CK_STATE newState; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - oldState = nssCKFWToken_GetSessionState(fwSession->fwToken); - - switch( oldState ) { - case CKS_RO_PUBLIC_SESSION: - return CKR_USER_NOT_LOGGED_IN; - case CKS_RO_USER_FUNCTIONS: - newState = CKS_RO_PUBLIC_SESSION; - break; - case CKS_RW_PUBLIC_SESSION: - return CKR_USER_NOT_LOGGED_IN; - case CKS_RW_USER_FUNCTIONS: - newState = CKS_RW_PUBLIC_SESSION; - break; - case CKS_RW_SO_FUNCTIONS: - newState = CKS_RW_PUBLIC_SESSION; - break; - default: - return CKR_GENERAL_ERROR; - } - - /* - * So now we're in one of three cases: - * - * Old == CKS_RW_SO_FUNCTIONS, New == CKS_RW_PUBLIC_SESSION; - * Old == CKS_RW_USER_FUNCTIONS, New == CKS_RW_PUBLIC_SESSION; - * Old == CKS_RO_USER_FUNCTIONS, New == CKS_RO_PUBLIC_SESSION; - */ - - if( (void *)NULL == (void *)fwSession->mdSession->Logout ) { - /* - * The Module doesn't want to be informed. Okay. - */ - ; - } else { - error = fwSession->mdSession->Logout(fwSession->mdSession, fwSession, - fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, oldState, newState); - if( CKR_OK != error ) { - /* - * Now what?! A failure really should end up with the Framework - * considering it logged out, right? - */ - ; - } - } - - (void)nssCKFWToken_SetSessionState(fwSession->fwToken, newState); - return error; -} - -/* - * nssCKFWSession_InitPIN - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_InitPIN -( - NSSCKFWSession *fwSession, - NSSItem *pin -) -{ - CK_RV error = CKR_OK; - CK_STATE state; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - state = nssCKFWToken_GetSessionState(fwSession->fwToken); - if( CKS_RW_SO_FUNCTIONS != state ) { - return CKR_USER_NOT_LOGGED_IN; - } - - if( (NSSItem *)NULL == pin ) { - CK_BBOOL has = nssCKFWToken_GetHasProtectedAuthenticationPath(fwSession->fwToken); - if( CK_TRUE != has ) { - return CKR_ARGUMENTS_BAD; - } - } - - if( (void *)NULL == (void *)fwSession->mdSession->InitPIN ) { - return CKR_TOKEN_WRITE_PROTECTED; - } - - error = fwSession->mdSession->InitPIN(fwSession->mdSession, fwSession, - fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, pin); - - return error; -} - -/* - * nssCKFWSession_SetPIN - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_SetPIN -( - NSSCKFWSession *fwSession, - NSSItem *newPin, - NSSItem *oldPin -) -{ - CK_RV error = CKR_OK; - CK_STATE state; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - state = nssCKFWToken_GetSessionState(fwSession->fwToken); - if( (CKS_RW_SO_FUNCTIONS != state) && - (CKS_RW_USER_FUNCTIONS != state) ) { - return CKR_USER_NOT_LOGGED_IN; - } - - if( (NSSItem *)NULL == newPin ) { - CK_BBOOL has = nssCKFWToken_GetHasProtectedAuthenticationPath(fwSession->fwToken); - if( CK_TRUE != has ) { - return CKR_ARGUMENTS_BAD; - } - } - - if( (NSSItem *)NULL == oldPin ) { - CK_BBOOL has = nssCKFWToken_GetHasProtectedAuthenticationPath(fwSession->fwToken); - if( CK_TRUE != has ) { - return CKR_ARGUMENTS_BAD; - } - } - - if( (void *)NULL == (void *)fwSession->mdSession->SetPIN ) { - return CKR_TOKEN_WRITE_PROTECTED; - } - - error = fwSession->mdSession->SetPIN(fwSession->mdSession, fwSession, - fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, newPin, oldPin); - - return error; -} - -/* - * nssCKFWSession_GetOperationStateLen - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWSession_GetOperationStateLen -( - NSSCKFWSession *fwSession, - CK_RV *pError -) -{ - CK_ULONG mdAmt; - CK_ULONG fwAmt; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (CK_ULONG)0; - } - - *pError = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != *pError ) { - return (CK_ULONG)0; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - *pError = CKR_GENERAL_ERROR; - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSession->mdSession->GetOperationStateLen ) { - *pError = CKR_STATE_UNSAVEABLE; - } - - /* - * We could check that the session is actually in some state.. - */ - - mdAmt = fwSession->mdSession->GetOperationStateLen(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, pError); - - if( ((CK_ULONG)0 == mdAmt) && (CKR_OK != *pError) ) { - return (CK_ULONG)0; - } - - /* - * Add a bit of sanity-checking - */ - fwAmt = mdAmt + 2*sizeof(CK_ULONG); - - return fwAmt; -} - -/* - * nssCKFWSession_GetOperationState - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_GetOperationState -( - NSSCKFWSession *fwSession, - NSSItem *buffer -) -{ - CK_RV error = CKR_OK; - CK_ULONG fwAmt; - CK_ULONG *ulBuffer; - NSSItem i2; - CK_ULONG n, i; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSItem *)NULL == buffer ) { - return CKR_ARGUMENTS_BAD; - } - - if( (void *)NULL == buffer->data ) { - return CKR_ARGUMENTS_BAD; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSession->mdSession->GetOperationState ) { - return CKR_STATE_UNSAVEABLE; - } - - /* - * Sanity-check the caller's buffer. - */ - - error = CKR_OK; - fwAmt = nssCKFWSession_GetOperationStateLen(fwSession, &error); - if( ((CK_ULONG)0 == fwAmt) && (CKR_OK != error) ) { - return error; - } - - if( buffer->size < fwAmt ) { - return CKR_BUFFER_TOO_SMALL; - } - - ulBuffer = (CK_ULONG *)buffer->data; - - i2.size = buffer->size - 2*sizeof(CK_ULONG); - i2.data = (void *)&ulBuffer[2]; - - error = fwSession->mdSession->GetOperationState(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance, &i2); - - if( CKR_OK != error ) { - return error; - } - - /* - * Add a little integrety/identity check. - * NOTE: right now, it's pretty stupid. - * A CRC or something would be better. - */ - - ulBuffer[0] = 0x434b4657; /* CKFW */ - ulBuffer[1] = 0; - n = i2.size/sizeof(CK_ULONG); - for( i = 0; i < n; i++ ) { - ulBuffer[1] ^= ulBuffer[2+i]; - } - - return CKR_OK; -} - -/* - * nssCKFWSession_SetOperationState - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_SetOperationState -( - NSSCKFWSession *fwSession, - NSSItem *state, - NSSCKFWObject *encryptionKey, - NSSCKFWObject *authenticationKey -) -{ - CK_RV error = CKR_OK; - CK_ULONG *ulBuffer; - CK_ULONG n, i; - CK_ULONG x; - NSSItem s; - NSSCKMDObject *mdek; - NSSCKMDObject *mdak; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSItem *)NULL == state ) { - return CKR_ARGUMENTS_BAD; - } - - if( (void *)NULL == state->data ) { - return CKR_ARGUMENTS_BAD; - } - - if( (NSSCKFWObject *)NULL != encryptionKey ) { - error = nssCKFWObject_verifyPointer(encryptionKey); - if( CKR_OK != error ) { - return error; - } - } - - if( (NSSCKFWObject *)NULL != authenticationKey ) { - error = nssCKFWObject_verifyPointer(authenticationKey); - if( CKR_OK != error ) { - return error; - } - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - ulBuffer = (CK_ULONG *)state->data; - if( 0x43b4657 != ulBuffer[0] ) { - return CKR_SAVED_STATE_INVALID; - } - n = (state->size / sizeof(CK_ULONG)) - 2; - x = (CK_ULONG)0; - for( i = 0; i < n; i++ ) { - x ^= ulBuffer[2+i]; - } - - if( x != ulBuffer[1] ) { - return CKR_SAVED_STATE_INVALID; - } - - if( (void *)NULL == (void *)fwSession->mdSession->SetOperationState ) { - return CKR_GENERAL_ERROR; - } - - s.size = state->size - 2*sizeof(CK_ULONG); - s.data = (void *)&ulBuffer[2]; - - if( (NSSCKFWObject *)NULL != encryptionKey ) { - mdek = nssCKFWObject_GetMDObject(encryptionKey); - } else { - mdek = (NSSCKMDObject *)NULL; - } - - if( (NSSCKFWObject *)NULL != authenticationKey ) { - mdak = nssCKFWObject_GetMDObject(authenticationKey); - } else { - mdak = (NSSCKMDObject *)NULL; - } - - error = fwSession->mdSession->SetOperationState(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, &s, mdek, encryptionKey, mdak, authenticationKey); - - if( CKR_OK != error ) { - return error; - } - - /* - * Here'd we restore any session data - */ - - return CKR_OK; -} - -static CK_BBOOL -nss_attributes_form_token_object -( - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount -) -{ - CK_ULONG i; - CK_BBOOL rv; - - for( i = 0; i < ulAttributeCount; i++ ) { - if( CKA_TOKEN == pTemplate[i].type ) { - /* If we sanity-check, we can remove this sizeof check */ - if( sizeof(CK_BBOOL) == pTemplate[i].ulValueLen ) { - (void)nsslibc_memcpy(&rv, pTemplate[i].pValue, sizeof(CK_BBOOL)); - return rv; - } else { - return CK_FALSE; - } - } - } - - return CK_FALSE; -} - -/* - * nssCKFWSession_CreateObject - * - */ -NSS_IMPLEMENT NSSCKFWObject * -nssCKFWSession_CreateObject -( - NSSCKFWSession *fwSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -) -{ - NSSArena *arena; - NSSCKMDObject *mdObject; - NSSCKFWObject *fwObject; - CK_BBOOL isTokenObject; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWObject *)NULL; - } - - *pError = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != pError ) { - return (NSSCKFWObject *)NULL; - } - - if( (CK_ATTRIBUTE_PTR)NULL == pTemplate ) { - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKFWObject *)NULL; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - *pError = CKR_GENERAL_ERROR; - return (NSSCKFWObject *)NULL; - } -#endif /* NSSDEBUG */ - - /* - * Here would be an excellent place to sanity-check the object. - */ - - isTokenObject = nss_attributes_form_token_object(pTemplate, ulAttributeCount); - if( CK_TRUE == isTokenObject ) { - /* === TOKEN OBJECT === */ - - if( (void *)NULL == (void *)fwSession->mdSession->CreateObject ) { - *pError = CKR_TOKEN_WRITE_PROTECTED; - return (NSSCKFWObject *)NULL; - } - - arena = nssCKFWToken_GetArena(fwSession->fwToken, pError); - if( (NSSArena *)NULL == arena ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWObject *)NULL; - } - - goto callmdcreateobject; - } else { - /* === SESSION OBJECT === */ - - arena = nssCKFWSession_GetArena(fwSession, pError); - if( (NSSArena *)NULL == arena ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWObject *)NULL; - } - - if( CK_TRUE == nssCKFWInstance_GetModuleHandlesSessionObjects( - fwSession->fwInstance) ) { - /* --- module handles the session object -- */ - - if( (void *)NULL == (void *)fwSession->mdSession->CreateObject ) { - *pError = CKR_GENERAL_ERROR; - return (NSSCKFWObject *)NULL; - } - - goto callmdcreateobject; - } else { - /* --- framework handles the session object -- */ - mdObject = nssCKMDSessionObject_Create(fwSession->fwToken, - arena, pTemplate, ulAttributeCount, pError); - goto gotmdobject; - } - } - - callmdcreateobject: - mdObject = fwSession->mdSession->CreateObject(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance, arena, pTemplate, - ulAttributeCount, pError); - - gotmdobject: - if( (NSSCKMDObject *)NULL == mdObject ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWObject *)NULL; - } - - fwObject = nssCKFWObject_Create(arena, mdObject, fwSession, - fwSession->fwToken, fwSession->fwInstance, pError); - if( (NSSCKFWObject *)NULL == fwObject ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - - if( (void *)NULL != (void *)mdObject->Destroy ) { - (void)mdObject->Destroy(mdObject, (NSSCKFWObject *)NULL, - fwSession->mdSession, fwSession, fwSession->mdToken, - fwSession->fwToken, fwSession->mdInstance, fwSession->fwInstance); - } - - return (NSSCKFWObject *)NULL; - } - - if( CK_FALSE == isTokenObject ) { - if( CK_FALSE == nssCKFWHash_Exists(fwSession->sessionObjectHash, fwObject) ) { - *pError = nssCKFWHash_Add(fwSession->sessionObjectHash, fwObject, fwObject); - if( CKR_OK != *pError ) { - nssCKFWObject_Finalize(fwObject); - return (NSSCKFWObject *)NULL; - } - } - } - - return fwObject; -} - -/* - * nssCKFWSession_CopyObject - * - */ -NSS_IMPLEMENT NSSCKFWObject * -nssCKFWSession_CopyObject -( - NSSCKFWSession *fwSession, - NSSCKFWObject *fwObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -) -{ - CK_BBOOL oldIsToken; - CK_BBOOL newIsToken; - CK_ULONG i; - NSSCKFWObject *rv; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWObject *)NULL; - } - - *pError = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != *pError ) { - return (NSSCKFWObject *)NULL; - } - - *pError = nssCKFWObject_verifyPointer(fwObject); - if( CKR_OK != *pError ) { - return (NSSCKFWObject *)NULL; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - *pError = CKR_GENERAL_ERROR; - return (NSSCKFWObject *)NULL; - } -#endif /* NSSDEBUG */ - - /* - * Sanity-check object - */ - - oldIsToken = nssCKFWObject_IsTokenObject(fwObject); - - newIsToken = oldIsToken; - for( i = 0; i < ulAttributeCount; i++ ) { - if( CKA_TOKEN == pTemplate[i].type ) { - /* Since we sanity-checked the object, we know this is the right size. */ - (void)nsslibc_memcpy(&newIsToken, pTemplate[i].pValue, sizeof(CK_BBOOL)); - break; - } - } - - /* - * If the Module handles its session objects, or if both the new - * and old object are token objects, use CopyObject if it exists. - */ - - if( ((void *)NULL != (void *)fwSession->mdSession->CopyObject) && - (((CK_TRUE == oldIsToken) && (CK_TRUE == newIsToken)) || - (CK_TRUE == nssCKFWInstance_GetModuleHandlesSessionObjects( - fwSession->fwInstance))) ) { - /* use copy object */ - NSSArena *arena; - NSSCKMDObject *mdOldObject; - NSSCKMDObject *mdObject; - - mdOldObject = nssCKFWObject_GetMDObject(fwObject); - - if( CK_TRUE == newIsToken ) { - arena = nssCKFWToken_GetArena(fwSession->fwToken, pError); - } else { - arena = nssCKFWSession_GetArena(fwSession, pError); - } - if( (NSSArena *)NULL == arena ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWObject *)NULL; - } - - mdObject = fwSession->mdSession->CopyObject(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance, mdOldObject, - fwObject, arena, pTemplate, ulAttributeCount, pError); - if( (NSSCKMDObject *)NULL == mdObject ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWObject *)NULL; - } - - rv = nssCKFWObject_Create(arena, mdObject, fwSession, - fwSession->fwToken, fwSession->fwInstance, pError); - if( (NSSCKFWObject *)NULL == fwObject ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - - if( (void *)NULL != (void *)mdObject->Destroy ) { - (void)mdObject->Destroy(mdObject, (NSSCKFWObject *)NULL, - fwSession->mdSession, fwSession, fwSession->mdToken, - fwSession->fwToken, fwSession->mdInstance, fwSession->fwInstance); - } - - return (NSSCKFWObject *)NULL; - } - - if( CK_FALSE == newIsToken ) { - if( CK_FALSE == nssCKFWHash_Exists(fwSession->sessionObjectHash, rv) ) { - *pError = nssCKFWHash_Add(fwSession->sessionObjectHash, rv, rv); - if( CKR_OK != *pError ) { - nssCKFWObject_Finalize(rv); - return (NSSCKFWObject *)NULL; - } - } - } - - return rv; - } else { - /* use create object */ - NSSArena *tmpArena; - CK_ATTRIBUTE_PTR newTemplate; - CK_ULONG i, j, n, newLength, k; - CK_ATTRIBUTE_TYPE_PTR oldTypes; - NSSCKFWObject *rv; - - tmpArena = NSSArena_Create(); - if( (NSSArena *)NULL == tmpArena ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKFWObject *)NULL; - } - - n = nssCKFWObject_GetAttributeCount(fwObject, pError); - if( (0 == n) && (CKR_OK != *pError) ) { - return (NSSCKFWObject *)NULL; - } - - oldTypes = nss_ZNEWARRAY(tmpArena, CK_ATTRIBUTE_TYPE, n); - if( (CK_ATTRIBUTE_TYPE_PTR)NULL == oldTypes ) { - NSSArena_Destroy(tmpArena); - *pError = CKR_HOST_MEMORY; - return (NSSCKFWObject *)NULL; - } - - *pError = nssCKFWObject_GetAttributeTypes(fwObject, oldTypes, n); - if( CKR_OK != *pError ) { - NSSArena_Destroy(tmpArena); - return (NSSCKFWObject *)NULL; - } - - newLength = n; - for( i = 0; i < ulAttributeCount; i++ ) { - for( j = 0; j < n; j++ ) { - if( oldTypes[j] == pTemplate[i].type ) { - if( (CK_VOID_PTR)NULL == pTemplate[i].pValue ) { - /* Removing the attribute */ - newLength--; - } - break; - } - } - if( j == n ) { - /* Not found */ - newLength++; - } - } - - newTemplate = nss_ZNEWARRAY(tmpArena, CK_ATTRIBUTE, newLength); - if( (CK_ATTRIBUTE_PTR)NULL == newTemplate ) { - NSSArena_Destroy(tmpArena); - *pError = CKR_HOST_MEMORY; - return (NSSCKFWObject *)NULL; - } - - k = 0; - for( j = 0; j < n; j++ ) { - for( i = 0; i < ulAttributeCount; i++ ) { - if( oldTypes[j] == pTemplate[i].type ) { - if( (CK_VOID_PTR)NULL == pTemplate[i].pValue ) { - /* This attribute is being deleted */ - ; - } else { - /* This attribute is being replaced */ - newTemplate[k].type = pTemplate[i].type; - newTemplate[k].pValue = pTemplate[i].pValue; - newTemplate[k].ulValueLen = pTemplate[i].ulValueLen; - k++; - } - break; - } - } - if( i == ulAttributeCount ) { - /* This attribute is being copied over from the old object */ - NSSItem item, *it; - item.size = 0; - item.data = (void *)NULL; - it = nssCKFWObject_GetAttribute(fwObject, oldTypes[j], - &item, tmpArena, pError); - if( (NSSItem *)NULL == it ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - NSSArena_Destroy(tmpArena); - return (NSSCKFWObject *)NULL; - } - newTemplate[k].type = oldTypes[j]; - newTemplate[k].pValue = it->data; - newTemplate[k].ulValueLen = it->size; - k++; - } - } - /* assert that k == newLength */ - - rv = nssCKFWSession_CreateObject(fwSession, newTemplate, newLength, pError); - if( (NSSCKFWObject *)NULL == rv ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - NSSArena_Destroy(tmpArena); - return (NSSCKFWObject *)NULL; - } - - NSSArena_Destroy(tmpArena); - return rv; - } -} - -/* - * nssCKFWSession_FindObjectsInit - * - */ -NSS_IMPLEMENT NSSCKFWFindObjects * -nssCKFWSession_FindObjectsInit -( - NSSCKFWSession *fwSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_RV *pError -) -{ - NSSCKMDFindObjects *mdfo1 = (NSSCKMDFindObjects *)NULL; - NSSCKMDFindObjects *mdfo2 = (NSSCKMDFindObjects *)NULL; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWFindObjects *)NULL; - } - - *pError = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != *pError ) { - return (NSSCKFWFindObjects *)NULL; - } - - if( ((CK_ATTRIBUTE_PTR)NULL == pTemplate) && (ulAttributeCount != 0) ) { - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKFWFindObjects *)NULL; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - *pError = CKR_GENERAL_ERROR; - return (NSSCKFWFindObjects *)NULL; - } -#endif /* NSSDEBUG */ - - if( CK_TRUE != nssCKFWInstance_GetModuleHandlesSessionObjects( - fwSession->fwInstance) ) { - CK_ULONG i; - - /* - * Does the search criteria restrict us to token or session - * objects? - */ - - for( i = 0; i < ulAttributeCount; i++ ) { - if( CKA_TOKEN == pTemplate[i].type ) { - /* Yes, it does. */ - CK_BBOOL isToken; - if( sizeof(CK_BBOOL) != pTemplate[i].ulValueLen ) { - *pError = CKR_ATTRIBUTE_VALUE_INVALID; - return (NSSCKFWFindObjects *)NULL; - } - (void)nsslibc_memcpy(&isToken, pTemplate[i].pValue, sizeof(CK_BBOOL)); - - if( CK_TRUE == isToken ) { - /* Pass it on to the module's search routine */ - if( (void *)NULL == (void *)fwSession->mdSession->FindObjectsInit ) { - goto wrap; - } - - mdfo1 = fwSession->mdSession->FindObjectsInit(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance, - pTemplate, ulAttributeCount, pError); - } else { - /* Do the search ourselves */ - mdfo1 = nssCKMDFindSessionObjects_Create(fwSession->fwToken, - pTemplate, ulAttributeCount, pError); - } - - if( (NSSCKMDFindObjects *)NULL == mdfo1 ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWFindObjects *)NULL; - } - - goto wrap; - } - } - - if( i == ulAttributeCount ) { - /* No, it doesn't. Do a hybrid search. */ - mdfo1 = fwSession->mdSession->FindObjectsInit(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance, - pTemplate, ulAttributeCount, pError); - - if( (NSSCKMDFindObjects *)NULL == mdfo1 ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWFindObjects *)NULL; - } - - mdfo2 = nssCKMDFindSessionObjects_Create(fwSession->fwToken, - pTemplate, ulAttributeCount, pError); - if( (NSSCKMDFindObjects *)NULL == mdfo2 ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - if( (void *)NULL != (void *)mdfo1->Final ) { - mdfo1->Final(mdfo1, (NSSCKFWFindObjects *)NULL, fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance); - } - return (NSSCKFWFindObjects *)NULL; - } - - goto wrap; - } - /*NOTREACHED*/ - } else { - /* Module handles all its own objects. Pass on to module's search */ - mdfo1 = fwSession->mdSession->FindObjectsInit(fwSession->mdSession, - fwSession, fwSession->mdToken, fwSession->fwToken, - fwSession->mdInstance, fwSession->fwInstance, - pTemplate, ulAttributeCount, pError); - - if( (NSSCKMDFindObjects *)NULL == mdfo1 ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWFindObjects *)NULL; - } - - goto wrap; - } - - wrap: - return nssCKFWFindObjects_Create(fwSession, fwSession->fwToken, - fwSession->fwInstance, mdfo1, mdfo2, pError); -} - -/* - * nssCKFWSession_SeedRandom - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_SeedRandom -( - NSSCKFWSession *fwSession, - NSSItem *seed -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSItem *)NULL == seed ) { - return CKR_ARGUMENTS_BAD; - } - - if( (void *)NULL == seed->data ) { - return CKR_ARGUMENTS_BAD; - } - - if( 0 == seed->size ) { - return CKR_ARGUMENTS_BAD; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSession->mdSession->SeedRandom ) { - return CKR_RANDOM_SEED_NOT_SUPPORTED; - } - - error = fwSession->mdSession->SeedRandom(fwSession->mdSession, fwSession, - fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, seed); - - return error; -} - -/* - * nssCKFWSession_GetRandom - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSession_GetRandom -( - NSSCKFWSession *fwSession, - NSSItem *buffer -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } - - if( (NSSItem *)NULL == buffer ) { - return CKR_ARGUMENTS_BAD; - } - - if( (void *)NULL == buffer->data ) { - return CKR_ARGUMENTS_BAD; - } - - if( (NSSCKMDSession *)NULL == fwSession->mdSession ) { - return CKR_GENERAL_ERROR; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSession->mdSession->GetRandom ) { - if( CK_TRUE == nssCKFWToken_GetHasRNG(fwSession->fwToken) ) { - return CKR_GENERAL_ERROR; - } else { - return CKR_RANDOM_NO_RNG; - } - } - - if( 0 == buffer->size ) { - return CKR_OK; - } - - error = fwSession->mdSession->GetRandom(fwSession->mdSession, fwSession, - fwSession->mdToken, fwSession->fwToken, fwSession->mdInstance, - fwSession->fwInstance, buffer); - - return error; -} - -/* - * NSSCKFWSession_GetMDSession - * - */ - -NSS_IMPLEMENT NSSCKMDSession * -NSSCKFWSession_GetMDSession -( - NSSCKFWSession *fwSession -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return (NSSCKMDSession *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWSession_GetMDSession(fwSession); -} - -/* - * NSSCKFWSession_GetArena - * - */ - -NSS_IMPLEMENT NSSArena * -NSSCKFWSession_GetArena -( - NSSCKFWSession *fwSession, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - *pError = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != *pError ) { - return (NSSArena *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWSession_GetArena(fwSession, pError); -} - -/* - * NSSCKFWSession_CallNotification - * - */ - -NSS_IMPLEMENT CK_RV -NSSCKFWSession_CallNotification -( - NSSCKFWSession *fwSession, - CK_NOTIFICATION event -) -{ - CK_RV error = CKR_OK; - -#ifdef DEBUG - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } -#endif /* DEBUG */ - - return nssCKFWSession_CallNotification(fwSession, event); -} - -/* - * NSSCKFWSession_IsRWSession - * - */ - -NSS_IMPLEMENT CK_BBOOL -NSSCKFWSession_IsRWSession -( - NSSCKFWSession *fwSession -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return CK_FALSE; - } -#endif /* DEBUG */ - - return nssCKFWSession_IsRWSession(fwSession); -} - -/* - * NSSCKFWSession_IsSO - * - */ - -NSS_IMPLEMENT CK_BBOOL -NSSCKFWSession_IsSO -( - NSSCKFWSession *fwSession -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWSession_verifyPointer(fwSession) ) { - return CK_FALSE; - } -#endif /* DEBUG */ - - return nssCKFWSession_IsSO(fwSession); -} diff --git a/security/nss/lib/ckfw/sessobj.c b/security/nss/lib/ckfw/sessobj.c deleted file mode 100644 index ba8d221b3..000000000 --- a/security/nss/lib/ckfw/sessobj.c +++ /dev/null @@ -1,1091 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * sessobj.c - * - * This file contains an NSSCKMDObject implementation for session - * objects. The framework uses this implementation to manage - * session objects when a Module doesn't wish to be bothered. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * nssCKMDSessionObject - * - * -- create -- - * nssCKMDSessionObject_Create - * - * -- EPV calls -- - * nss_ckmdSessionObject_Finalize - * nss_ckmdSessionObject_IsTokenObject - * nss_ckmdSessionObject_GetAttributeCount - * nss_ckmdSessionObject_GetAttributeTypes - * nss_ckmdSessionObject_GetAttributeSize - * nss_ckmdSessionObject_GetAttribute - * nss_ckmdSessionObject_SetAttribute - * nss_ckmdSessionObject_GetObjectSize - */ - -struct nssCKMDSessionObjectStr { - CK_ULONG n; - NSSArena *arena; - NSSItem *attributes; - CK_ATTRIBUTE_TYPE_PTR types; - nssCKFWHash *hash; -}; -typedef struct nssCKMDSessionObjectStr nssCKMDSessionObject; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -nss_ckmdSessionObject_add_pointer -( - const NSSCKMDObject *mdObject -) -{ - return CKR_OK; -} - -static CK_RV -nss_ckmdSessionObject_remove_pointer -( - const NSSCKMDObject *mdObject -) -{ - return CKR_OK; -} - -static CK_RV -nss_ckmdSessionObject_verifyPointer -( - const NSSCKMDObject *mdObject -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -/* - * We must forward-declare these routines - */ -static void -nss_ckmdSessionObject_Finalize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -); - -static CK_RV -nss_ckmdSessionObject_Destroy -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -); - -static CK_BBOOL -nss_ckmdSessionObject_IsTokenObject -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -); - -static CK_ULONG -nss_ckmdSessionObject_GetAttributeCount -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -); - -static CK_RV -nss_ckmdSessionObject_GetAttributeTypes -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -); - -static CK_ULONG -nss_ckmdSessionObject_GetAttributeSize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -); - -static NSSItem * -nss_ckmdSessionObject_GetAttribute -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -); - -static CK_RV -nss_ckmdSessionObject_SetAttribute -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *value -); - -static CK_ULONG -nss_ckmdSessionObject_GetObjectSize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -); - -/* - * nssCKMDSessionObject_Create - * - */ -NSS_IMPLEMENT NSSCKMDObject * -nssCKMDSessionObject_Create -( - NSSCKFWToken *fwToken, - NSSArena *arena, - CK_ATTRIBUTE_PTR attributes, - CK_ULONG ulCount, - CK_RV *pError -) -{ - NSSCKMDObject *mdObject = (NSSCKMDObject *)NULL; - nssCKMDSessionObject *mdso = (nssCKMDSessionObject *)NULL; - CK_ULONG i; - nssCKFWHash *hash; - - mdso = nss_ZNEW(arena, nssCKMDSessionObject); - if( (nssCKMDSessionObject *)NULL == mdso ) { - goto loser; - } - - mdso->arena = arena; - mdso->n = ulCount; - mdso->attributes = nss_ZNEWARRAY(arena, NSSItem, ulCount); - if( (NSSItem *)NULL == mdso->attributes ) { - goto loser; - } - - mdso->types = nss_ZNEWARRAY(arena, CK_ATTRIBUTE_TYPE, ulCount); - - for( i = 0; i < ulCount; i++ ) { - mdso->types[i] = attributes[i].type; - mdso->attributes[i].size = attributes[i].ulValueLen; - mdso->attributes[i].data = nss_ZAlloc(arena, attributes[i].ulValueLen); - if( (void *)NULL == mdso->attributes[i].data ) { - goto loser; - } - (void)nsslibc_memcpy(mdso->attributes[i].data, attributes[i].pValue, - attributes[i].ulValueLen); - } - - mdObject = nss_ZNEW(arena, NSSCKMDObject); - if( (NSSCKMDObject *)NULL == mdObject ) { - goto loser; - } - - mdObject->etc = (void *)mdso; - mdObject->Finalize = nss_ckmdSessionObject_Finalize; - mdObject->Destroy = nss_ckmdSessionObject_Destroy; - mdObject->IsTokenObject = nss_ckmdSessionObject_IsTokenObject; - mdObject->GetAttributeCount = nss_ckmdSessionObject_GetAttributeCount; - mdObject->GetAttributeTypes = nss_ckmdSessionObject_GetAttributeTypes; - mdObject->GetAttributeSize = nss_ckmdSessionObject_GetAttributeSize; - mdObject->GetAttribute = nss_ckmdSessionObject_GetAttribute; - mdObject->SetAttribute = nss_ckmdSessionObject_SetAttribute; - mdObject->GetObjectSize = nss_ckmdSessionObject_GetObjectSize; - - hash = nssCKFWToken_GetSessionObjectHash(fwToken); - if( (nssCKFWHash *)NULL == hash ) { - *pError = CKR_GENERAL_ERROR; - goto loser; - } - - mdso->hash = hash; - - *pError = nssCKFWHash_Add(hash, mdObject, mdObject); - if( CKR_OK != *pError ) { - goto loser; - } - -#ifdef DEBUG - if( CKR_OK != nss_ckmdSessionObject_add_pointer(mdObject) ) { - goto loser; - } -#endif /* DEBUG */ - - *pError = CKR_OK; - return mdObject; - - loser: - if( (nssCKMDSessionObject *)NULL != mdso ) { - if( (NSSItem *)NULL != mdso->attributes ) { - for( i = 0; i < ulCount; i++ ) { - nss_ZFreeIf(mdso->attributes[i].data); - } - - nss_ZFreeIf(mdso->attributes); - } - - nss_ZFreeIf(mdso->types); - nss_ZFreeIf(mdso); - } - - nss_ZFreeIf(mdObject); - *pError = CKR_HOST_MEMORY; - return (NSSCKMDObject *)NULL; -} - -/* - * nss_ckmdSessionObject_Finalize - * - */ -static void -nss_ckmdSessionObject_Finalize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - /* This shouldn't ever be called */ - return; -} - -/* - * nss_ckmdSessionObject_Destroy - * - */ - -static CK_RV -nss_ckmdSessionObject_Destroy -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - CK_RV error = CKR_OK; -#endif /* NSSDEBUG */ - nssCKMDSessionObject *mdso; - CK_ULONG i; - -#ifdef NSSDEBUG - error = nss_ckmdSessionObject_verifyPointer(mdObject); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - mdso = (nssCKMDSessionObject *)mdObject->etc; - - nssCKFWHash_Remove(mdso->hash, mdObject); - - for( i = 0; i < mdso->n; i++ ) { - nss_ZFreeIf(mdso->attributes[i].data); - } - nss_ZFreeIf(mdso->attributes); - nss_ZFreeIf(mdso->types); - nss_ZFreeIf(mdso); - nss_ZFreeIf(mdObject); - -#ifdef DEBUG - (void)nss_ckmdSessionObject_remove_pointer(mdObject); -#endif /* DEBUG */ - - return CKR_OK; -} - -/* - * nss_ckmdSessionObject_IsTokenObject - * - */ - -static CK_BBOOL -nss_ckmdSessionObject_IsTokenObject -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nss_ckmdSessionObject_verifyPointer(mdObject) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - /* - * This implementation is only ever used for session objects. - */ - return CK_FALSE; -} - -/* - * nss_ckmdSessionObject_GetAttributeCount - * - */ -static CK_ULONG -nss_ckmdSessionObject_GetAttributeCount -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - nssCKMDSessionObject *obj; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return 0; - } - - *pError = nss_ckmdSessionObject_verifyPointer(mdObject); - if( CKR_OK != *pError ) { - return 0; - } - - /* We could even check all the other arguments, for sanity. */ -#endif /* NSSDEBUG */ - - obj = (nssCKMDSessionObject *)mdObject->etc; - - return obj->n; -} - -/* - * nss_ckmdSessionObject_GetAttributeTypes - * - */ -static CK_RV -nss_ckmdSessionObject_GetAttributeTypes -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE_PTR typeArray, - CK_ULONG ulCount -) -{ -#ifdef NSSDEBUG - CK_RV error = CKR_OK; -#endif /* NSSDEBUG */ - nssCKMDSessionObject *obj; - -#ifdef NSSDEBUG - error = nss_ckmdSessionObject_verifyPointer(mdObject); - if( CKR_OK != error ) { - return error; - } - - /* We could even check all the other arguments, for sanity. */ -#endif /* NSSDEBUG */ - - obj = (nssCKMDSessionObject *)mdObject->etc; - - if( ulCount < obj->n ) { - return CKR_BUFFER_TOO_SMALL; - } - - (void)nsslibc_memcpy(typeArray, obj->types, - sizeof(CK_ATTRIBUTE_TYPE) * obj->n); - - return CKR_OK; -} - -/* - * nss_ckmdSessionObject_GetAttributeSize - * - */ -static CK_ULONG -nss_ckmdSessionObject_GetAttributeSize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ - nssCKMDSessionObject *obj; - CK_ULONG i; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return 0; - } - - *pError = nss_ckmdSessionObject_verifyPointer(mdObject); - if( CKR_OK != *pError ) { - return 0; - } - - /* We could even check all the other arguments, for sanity. */ -#endif /* NSSDEBUG */ - - obj = (nssCKMDSessionObject *)mdObject->etc; - - for( i = 0; i < obj->n; i++ ) { - if( attribute == obj->types[i] ) { - return (CK_ULONG)(obj->attributes[i].size); - } - } - - *pError = CKR_ATTRIBUTE_TYPE_INVALID; - return 0; -} - -/* - * nss_ckmdSessionObject_GetAttribute - * - */ -static NSSItem * -nss_ckmdSessionObject_GetAttribute -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - CK_RV *pError -) -{ - nssCKMDSessionObject *obj; - CK_ULONG i; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return 0; - } - - *pError = nss_ckmdSessionObject_verifyPointer(mdObject); - if( CKR_OK != *pError ) { - return 0; - } - - /* We could even check all the other arguments, for sanity. */ -#endif /* NSSDEBUG */ - - obj = (nssCKMDSessionObject *)mdObject->etc; - - for( i = 0; i < obj->n; i++ ) { - if( attribute == obj->types[i] ) { - return &obj->attributes[i]; - } - } - - *pError = CKR_ATTRIBUTE_TYPE_INVALID; - return 0; -} - -/* - * nss_ckmdSessionObject_SetAttribute - * - */ - -/* - * Okay, so this implementation sucks. It doesn't support removing - * an attribute (if value == NULL), and could be more graceful about - * memory. It should allow "blank" slots in the arrays, with some - * invalid attribute type, and then it could support removal much - * more easily. Do this later. - */ -static CK_RV -nss_ckmdSessionObject_SetAttribute -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_ATTRIBUTE_TYPE attribute, - NSSItem *value -) -{ - nssCKMDSessionObject *obj; - CK_ULONG i; - NSSItem n; - NSSItem *ra; - CK_ATTRIBUTE_TYPE_PTR rt; -#ifdef NSSDEBUG - CK_RV error; -#endif /* NSSDEBUG */ - -#ifdef NSSDEBUG - error = nss_ckmdSessionObject_verifyPointer(mdObject); - if( CKR_OK != error ) { - return 0; - } - - /* We could even check all the other arguments, for sanity. */ -#endif /* NSSDEBUG */ - - obj = (nssCKMDSessionObject *)mdObject->etc; - - n.size = value->size; - n.data = nss_ZAlloc(obj->arena, n.size); - if( (void *)NULL == n.data ) { - return CKR_HOST_MEMORY; - } - (void)nsslibc_memcpy(n.data, value->data, n.size); - - for( i = 0; i < obj->n; i++ ) { - if( attribute == obj->types[i] ) { - nss_ZFreeIf(obj->attributes[i].data); - obj->attributes[i] = n; - return CKR_OK; - } - } - - /* - * It's new. - */ - - ra = (NSSItem *)nss_ZRealloc(obj->attributes, sizeof(NSSItem) * (obj->n + 1)); - if( (NSSItem *)NULL == ra ) { - nss_ZFreeIf(n.data); - return CKR_HOST_MEMORY; - } - - rt = (CK_ATTRIBUTE_TYPE_PTR)nss_ZRealloc(obj->types, (obj->n + 1)); - if( (CK_ATTRIBUTE_TYPE_PTR)NULL == rt ) { - nss_ZFreeIf(n.data); - obj->attributes = (NSSItem *)nss_ZRealloc(ra, sizeof(NSSItem) * obj->n); - if( (NSSItem *)NULL == obj->attributes ) { - return CKR_GENERAL_ERROR; - } - return CKR_HOST_MEMORY; - } - - obj->attributes = ra; - obj->types = rt; - obj->attributes[obj->n] = n; - obj->types[obj->n] = attribute; - obj->n++; - - return CKR_OK; -} - -/* - * nss_ckmdSessionObject_GetObjectSize - * - */ -static CK_ULONG -nss_ckmdSessionObject_GetObjectSize -( - NSSCKMDObject *mdObject, - NSSCKFWObject *fwObject, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - CK_RV *pError -) -{ - nssCKMDSessionObject *obj; - CK_ULONG i; - CK_ULONG rv = (CK_ULONG)0; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return 0; - } - - *pError = nss_ckmdSessionObject_verifyPointer(mdObject); - if( CKR_OK != *pError ) { - return 0; - } - - /* We could even check all the other arguments, for sanity. */ -#endif /* NSSDEBUG */ - - obj = (nssCKMDSessionObject *)mdObject->etc; - - for( i = 0; i < obj->n; i++ ) { - rv += obj->attributes[i].size; - } - - rv += sizeof(NSSItem) * obj->n; - rv += sizeof(CK_ATTRIBUTE_TYPE) * obj->n; - rv += sizeof(nssCKMDSessionObject); - - return rv; -} - -/* - * nssCKMDFindSessionObjects - * - * -- create -- - * nssCKMDFindSessionObjects_Create - * - * -- EPV calls -- - * nss_ckmdFindSessionObjects_Final - * nss_ckmdFindSessionObjects_Next - */ - -struct nodeStr { - struct nodeStr *next; - NSSCKMDObject *mdObject; -}; - -struct nssCKMDFindSessionObjectsStr { - NSSArena *arena; - CK_RV error; - CK_ATTRIBUTE_PTR pTemplate; - CK_ULONG ulCount; - struct nodeStr *list; - nssCKFWHash *hash; - -}; -typedef struct nssCKMDFindSessionObjectsStr nssCKMDFindSessionObjects; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -nss_ckmdFindSessionObjects_add_pointer -( - const NSSCKMDFindObjects *mdFindObjects -) -{ - return CKR_OK; -} - -static CK_RV -nss_ckmdFindSessionObjects_remove_pointer -( - const NSSCKMDFindObjects *mdFindObjects -) -{ - return CKR_OK; -} - -static CK_RV -nss_ckmdFindSessionObjects_verifyPointer -( - const NSSCKMDFindObjects *mdFindObjects -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -/* - * We must forward-declare these routines. - */ -static void -nss_ckmdFindSessionObjects_Final -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -); - -static NSSCKMDObject * -nss_ckmdFindSessionObjects_Next -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -); - -static CK_BBOOL -items_match -( - NSSItem *a, - CK_VOID_PTR pValue, - CK_ULONG ulValueLen -) -{ - if( a->size != ulValueLen ) { - return CK_FALSE; - } - - if( PR_TRUE == nsslibc_memequal(a->data, pValue, ulValueLen, (PRStatus *)NULL) ) { - return CK_TRUE; - } else { - return CK_FALSE; - } -} - -/* - * Our hashtable iterator - */ -static void -findfcn -( - const void *key, - void *value, - void *closure -) -{ - NSSCKMDObject *mdObject = (NSSCKMDObject *)value; - nssCKMDSessionObject *mdso = (nssCKMDSessionObject *)mdObject->etc; - nssCKMDFindSessionObjects *mdfso = (nssCKMDFindSessionObjects *)closure; - CK_ULONG i, j; - struct nodeStr *node; - - if( CKR_OK != mdfso->error ) { - return; - } - - for( i = 0; i < mdfso->ulCount; i++ ) { - CK_ATTRIBUTE_PTR p = &mdfso->pTemplate[i]; - - for( j = 0; j < mdso->n; j++ ) { - if( mdso->types[j] == p->type ) { - if( !items_match(&mdso->attributes[j], p->pValue, p->ulValueLen) ) { - return; - } else { - break; - } - } - } - - if( j == mdso->n ) { - /* Attribute not found */ - return; - } - } - - /* Matches */ - node = nss_ZNEW(mdfso->arena, struct nodeStr); - if( (struct nodeStr *)NULL == node ) { - mdfso->error = CKR_HOST_MEMORY; - return; - } - - node->mdObject = mdObject; - node->next = mdfso->list; - mdfso->list = node; - - return; -} - -/* - * nssCKMDFindSessionObjects_Create - * - */ -NSS_IMPLEMENT NSSCKMDFindObjects * -nssCKMDFindSessionObjects_Create -( - NSSCKFWToken *fwToken, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_RV *pError -) -{ - NSSArena *arena; - nssCKMDFindSessionObjects *mdfso; - nssCKFWHash *hash; - NSSCKMDFindObjects *rv; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKMDFindObjects *)NULL; - } - - *pError = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != *pError ) { - return (NSSCKMDFindObjects *)NULL; - } - - if( (CK_ATTRIBUTE_PTR)NULL == pTemplate ) { - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKMDFindObjects *)NULL; - } -#endif /* NSSDEBUG */ - - hash = nssCKFWToken_GetSessionObjectHash(fwToken); - if( (nssCKFWHash *)NULL == hash ) { - *pError= CKR_GENERAL_ERROR; - return (NSSCKMDFindObjects *)NULL; - } - - arena = NSSArena_Create(); - if( (NSSArena *)NULL == arena ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKMDFindObjects *)NULL; - } - - mdfso = nss_ZNEW(arena, nssCKMDFindSessionObjects); - if( (nssCKMDFindSessionObjects *)NULL == mdfso ) { - NSSArena_Destroy(arena); - *pError = CKR_HOST_MEMORY; - return (NSSCKMDFindObjects *)NULL; - } - - rv = nss_ZNEW(arena, NSSCKMDFindObjects); - - mdfso->error = CKR_OK; - mdfso->pTemplate = pTemplate; - mdfso->ulCount = ulCount; - mdfso->hash = hash; - - nssCKFWHash_Iterate(hash, findfcn, mdfso); - - if( CKR_OK != mdfso->error ) { - NSSArena_Destroy(arena); - *pError = CKR_HOST_MEMORY; - return (NSSCKMDFindObjects *)NULL; - } - - rv->etc = (void *)mdfso; - rv->Final = nss_ckmdFindSessionObjects_Final; - rv->Next = nss_ckmdFindSessionObjects_Next; - -#ifdef DEBUG - if( *pError != nss_ckmdFindSessionObjects_add_pointer(rv) ) { - NSSArena_Destroy(arena); - return (NSSCKMDFindObjects *)NULL; - } -#endif /* DEBUG */ - mdfso->arena = arena; - - return rv; -} - -static void -nss_ckmdFindSessionObjects_Final -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance -) -{ - nssCKMDFindSessionObjects *mdfso; - -#ifdef NSSDEBUG - if( CKR_OK != nss_ckmdFindSessionObjects_verifyPointer(mdFindObjects) ) { - return; - } -#endif /* NSSDEBUG */ - - mdfso = (nssCKMDFindSessionObjects *)mdFindObjects->etc; - if (mdfso->arena) NSSArena_Destroy(mdfso->arena); - -#ifdef DEBUG - (void)nss_ckmdFindSessionObjects_remove_pointer(mdFindObjects); -#endif /* DEBUG */ - - return; -} - -static NSSCKMDObject * -nss_ckmdFindSessionObjects_Next -( - NSSCKMDFindObjects *mdFindObjects, - NSSCKFWFindObjects *fwFindObjects, - NSSCKMDSession *mdSession, - NSSCKFWSession *fwSession, - NSSCKMDToken *mdToken, - NSSCKFWToken *fwToken, - NSSCKMDInstance *mdInstance, - NSSCKFWInstance *fwInstance, - NSSArena *arena, - CK_RV *pError -) -{ - nssCKMDFindSessionObjects *mdfso; - NSSCKMDObject *rv = (NSSCKMDObject *)NULL; - -#ifdef NSSDEBUG - if( CKR_OK != nss_ckmdFindSessionObjects_verifyPointer(mdFindObjects) ) { - return (NSSCKMDObject *)NULL; - } -#endif /* NSSDEBUG */ - - mdfso = (nssCKMDFindSessionObjects *)mdFindObjects->etc; - - while( (NSSCKMDObject *)NULL == rv ) { - if( (struct nodeStr *)NULL == mdfso->list ) { - *pError = CKR_OK; - return (NSSCKMDObject *)NULL; - } - - if( nssCKFWHash_Exists(mdfso->hash, mdfso->list->mdObject) ) { - rv = mdfso->list->mdObject; - } - - mdfso->list = mdfso->list->next; - } - - return rv; -} diff --git a/security/nss/lib/ckfw/slot.c b/security/nss/lib/ckfw/slot.c deleted file mode 100644 index 4e2b0831c..000000000 --- a/security/nss/lib/ckfw/slot.c +++ /dev/null @@ -1,753 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * slot.c - * - * This file implements the NSSCKFWSlot type and methods. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWSlot - * - * -- create/destroy -- - * nssCKFWSlot_Create - * nssCKFWSlot_Destroy - * - * -- public accessors -- - * NSSCKFWSlot_GetMDSlot - * NSSCKFWSlot_GetFWInstance - * NSSCKFWSlot_GetMDInstance - * - * -- implement public accessors -- - * nssCKFWSlot_GetMDSlot - * nssCKFWSlot_GetFWInstance - * nssCKFWSlot_GetMDInstance - * - * -- private accessors -- - * nssCKFWSlot_GetSlotID - * nssCKFWSlot_ClearToken - * - * -- module fronts -- - * nssCKFWSlot_GetSlotDescription - * nssCKFWSlot_GetManufacturerID - * nssCKFWSlot_GetTokenPresent - * nssCKFWSlot_GetRemovableDevice - * nssCKFWSlot_GetHardwareSlot - * nssCKFWSlot_GetHardwareVersion - * nssCKFWSlot_GetFirmwareVersion - * nssCKFWSlot_InitToken - * nssCKFWSlot_GetToken - */ - -struct NSSCKFWSlotStr { - NSSCKFWMutex *mutex; - NSSCKMDSlot *mdSlot; - NSSCKFWInstance *fwInstance; - NSSCKMDInstance *mdInstance; - CK_SLOT_ID slotID; - - /* - * Everything above is set at creation time, and then not modified. - * The invariants the mutex protects are: - * - * 1) Each of the cached descriptions (versions, etc.) are in an - * internally consistant state. - * - * 2) The fwToken points to the token currently in the slot, and - * it is in a consistant state. - * - * Note that the calls accessing the cached descriptions will - * call the NSSCKMDSlot methods with the mutex locked. Those - * methods may then call the public NSSCKFWSlot routines. Those - * public routines only access the constant data above, so there's - * no problem. But be careful if you add to this object; mutexes - * are in general not reentrant, so don't create deadlock situations. - */ - - NSSUTF8 *slotDescription; - NSSUTF8 *manufacturerID; - CK_VERSION hardwareVersion; - CK_VERSION firmwareVersion; - NSSCKFWToken *fwToken; -}; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -slot_add_pointer -( - const NSSCKFWSlot *fwSlot -) -{ - return CKR_OK; -} - -static CK_RV -slot_remove_pointer -( - const NSSCKFWSlot *fwSlot -) -{ - return CKR_OK; -} - -NSS_IMPLEMENT CK_RV -nssCKFWSlot_verifyPointer -( - const NSSCKFWSlot *fwSlot -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -/* - * nssCKFWSlot_Create - * - */ -NSS_IMPLEMENT NSSCKFWSlot * -nssCKFWSlot_Create -( - NSSCKFWInstance *fwInstance, - NSSCKMDSlot *mdSlot, - CK_SLOT_ID slotID, - CK_RV *pError -) -{ - NSSCKFWSlot *fwSlot; - NSSCKMDInstance *mdInstance; - NSSArena *arena; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWSlot *)NULL; - } - - *pError = nssCKFWInstance_verifyPointer(fwInstance); - if( CKR_OK != *pError ) { - return (NSSCKFWSlot *)NULL; - } -#endif /* NSSDEBUG */ - - mdInstance = nssCKFWInstance_GetMDInstance(fwInstance); - if( (NSSCKMDInstance *)NULL == mdInstance ) { - *pError = CKR_GENERAL_ERROR; - return (NSSCKFWSlot *)NULL; - } - - arena = nssCKFWInstance_GetArena(fwInstance, pError); - if( (NSSArena *)NULL == arena ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - } - - fwSlot = nss_ZNEW(arena, NSSCKFWSlot); - if( (NSSCKFWSlot *)NULL == fwSlot ) { - *pError = CKR_HOST_MEMORY; - return (NSSCKFWSlot *)NULL; - } - - fwSlot->mdSlot = mdSlot; - fwSlot->fwInstance = fwInstance; - fwSlot->mdInstance = mdInstance; - fwSlot->slotID = slotID; - - fwSlot->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == fwSlot->mutex ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - (void)nss_ZFreeIf(fwSlot); - return (NSSCKFWSlot *)NULL; - } - - if( (void *)NULL != (void *)mdSlot->Initialize ) { - *pError = CKR_OK; - *pError = mdSlot->Initialize(mdSlot, fwSlot, mdInstance, fwInstance); - if( CKR_OK != *pError ) { - (void)nssCKFWMutex_Destroy(fwSlot->mutex); - (void)nss_ZFreeIf(fwSlot); - return (NSSCKFWSlot *)NULL; - } - } - -#ifdef DEBUG - *pError = slot_add_pointer(fwSlot); - if( CKR_OK != *pError ) { - if( (void *)NULL != (void *)mdSlot->Destroy ) { - mdSlot->Destroy(mdSlot, fwSlot, mdInstance, fwInstance); - } - - (void)nssCKFWMutex_Destroy(fwSlot->mutex); - (void)nss_ZFreeIf(fwSlot); - return (NSSCKFWSlot *)NULL; - } -#endif /* DEBUG */ - - return fwSlot; -} - -/* - * nssCKFWSlot_Destroy - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSlot_Destroy -( - NSSCKFWSlot *fwSlot -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWSlot_verifyPointer(fwSlot); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - (void)nssCKFWMutex_Destroy(fwSlot->mutex); - - if( (void *)NULL != (void *)fwSlot->mdSlot->Destroy ) { - fwSlot->mdSlot->Destroy(fwSlot->mdSlot, fwSlot, - fwSlot->mdInstance, fwSlot->fwInstance); - } - -#ifdef DEBUG - error = slot_remove_pointer(fwSlot); -#endif /* DEBUG */ - (void)nss_ZFreeIf(fwSlot); - return error; -} - -/* - * nssCKFWSlot_GetMDSlot - * - */ -NSS_IMPLEMENT NSSCKMDSlot * -nssCKFWSlot_GetMDSlot -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return (NSSCKMDSlot *)NULL; - } -#endif /* NSSDEBUG */ - - return fwSlot->mdSlot; -} - -/* - * nssCKFWSlot_GetFWInstance - * - */ - -NSS_IMPLEMENT NSSCKFWInstance * -nssCKFWSlot_GetFWInstance -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return (NSSCKFWInstance *)NULL; - } -#endif /* NSSDEBUG */ - - return fwSlot->fwInstance; -} - -/* - * nssCKFWSlot_GetMDInstance - * - */ - -NSS_IMPLEMENT NSSCKMDInstance * -nssCKFWSlot_GetMDInstance -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return (NSSCKMDInstance *)NULL; - } -#endif /* NSSDEBUG */ - - return fwSlot->mdInstance; -} - -/* - * nssCKFWSlot_GetSlotID - * - */ -NSS_IMPLEMENT CK_SLOT_ID -nssCKFWSlot_GetSlotID -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return (CK_SLOT_ID)0; - } -#endif /* NSSDEBUG */ - - return fwSlot->slotID; -} - -/* - * nssCKFWSlot_GetSlotDescription - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSlot_GetSlotDescription -( - NSSCKFWSlot *fwSlot, - CK_CHAR slotDescription[64] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == slotDescription ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWSlot_verifyPointer(fwSlot); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwSlot->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwSlot->slotDescription ) { - if( (void *)NULL != (void *)fwSlot->mdSlot->GetSlotDescription ) { - fwSlot->slotDescription = fwSlot->mdSlot->GetSlotDescription( - fwSlot->mdSlot, fwSlot, fwSlot->mdInstance, - fwSlot->fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwSlot->slotDescription) && (CKR_OK != error) ) { - goto done; - } - } else { - fwSlot->slotDescription = (NSSUTF8 *) ""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwSlot->slotDescription, (char *)slotDescription, 64, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwSlot->mutex); - return error; -} - -/* - * nssCKFWSlot_GetManufacturerID - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWSlot_GetManufacturerID -( - NSSCKFWSlot *fwSlot, - CK_CHAR manufacturerID[32] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == manufacturerID ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWSlot_verifyPointer(fwSlot); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwSlot->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwSlot->manufacturerID ) { - if( (void *)NULL != (void *)fwSlot->mdSlot->GetManufacturerID ) { - fwSlot->manufacturerID = fwSlot->mdSlot->GetManufacturerID( - fwSlot->mdSlot, fwSlot, fwSlot->mdInstance, - fwSlot->fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwSlot->manufacturerID) && (CKR_OK != error) ) { - goto done; - } - } else { - fwSlot->manufacturerID = (NSSUTF8 *) ""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwSlot->manufacturerID, (char *)manufacturerID, 32, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwSlot->mutex); - return error; -} - -/* - * nssCKFWSlot_GetTokenPresent - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWSlot_GetTokenPresent -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSlot->mdSlot->GetTokenPresent ) { - return CK_TRUE; - } - - return fwSlot->mdSlot->GetTokenPresent(fwSlot->mdSlot, fwSlot, - fwSlot->mdInstance, fwSlot->fwInstance); -} - -/* - * nssCKFWSlot_GetRemovableDevice - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWSlot_GetRemovableDevice -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSlot->mdSlot->GetRemovableDevice ) { - return CK_FALSE; - } - - return fwSlot->mdSlot->GetRemovableDevice(fwSlot->mdSlot, fwSlot, - fwSlot->mdInstance, fwSlot->fwInstance); -} - -/* - * nssCKFWSlot_GetHardwareSlot - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWSlot_GetHardwareSlot -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwSlot->mdSlot->GetHardwareSlot ) { - return CK_FALSE; - } - - return fwSlot->mdSlot->GetHardwareSlot(fwSlot->mdSlot, fwSlot, - fwSlot->mdInstance, fwSlot->fwInstance); -} - -/* - * nssCKFWSlot_GetHardwareVersion - * - */ -NSS_IMPLEMENT CK_VERSION -nssCKFWSlot_GetHardwareVersion -( - NSSCKFWSlot *fwSlot -) -{ - CK_VERSION rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - rv.major = rv.minor = 0; - return rv; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwSlot->mutex) ) { - rv.major = rv.minor = 0; - return rv; - } - - if( (0 != fwSlot->hardwareVersion.major) || - (0 != fwSlot->hardwareVersion.minor) ) { - rv = fwSlot->hardwareVersion; - goto done; - } - - if( (void *)NULL != (void *)fwSlot->mdSlot->GetHardwareVersion ) { - fwSlot->hardwareVersion = fwSlot->mdSlot->GetHardwareVersion( - fwSlot->mdSlot, fwSlot, fwSlot->mdInstance, fwSlot->fwInstance); - } else { - fwSlot->hardwareVersion.major = 0; - fwSlot->hardwareVersion.minor = 1; - } - - rv = fwSlot->hardwareVersion; - done: - (void)nssCKFWMutex_Unlock(fwSlot->mutex); - return rv; -} - -/* - * nssCKFWSlot_GetFirmwareVersion - * - */ -NSS_IMPLEMENT CK_VERSION -nssCKFWSlot_GetFirmwareVersion -( - NSSCKFWSlot *fwSlot -) -{ - CK_VERSION rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - rv.major = rv.minor = 0; - return rv; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwSlot->mutex) ) { - rv.major = rv.minor = 0; - return rv; - } - - if( (0 != fwSlot->firmwareVersion.major) || - (0 != fwSlot->firmwareVersion.minor) ) { - rv = fwSlot->firmwareVersion; - goto done; - } - - if( (void *)NULL != (void *)fwSlot->mdSlot->GetFirmwareVersion ) { - fwSlot->firmwareVersion = fwSlot->mdSlot->GetFirmwareVersion( - fwSlot->mdSlot, fwSlot, fwSlot->mdInstance, fwSlot->fwInstance); - } else { - fwSlot->firmwareVersion.major = 0; - fwSlot->firmwareVersion.minor = 1; - } - - rv = fwSlot->firmwareVersion; - done: - (void)nssCKFWMutex_Unlock(fwSlot->mutex); - return rv; -} - -/* - * nssCKFWSlot_GetToken - * - */ -NSS_IMPLEMENT NSSCKFWToken * -nssCKFWSlot_GetToken -( - NSSCKFWSlot *fwSlot, - CK_RV *pError -) -{ - NSSCKMDToken *mdToken; - NSSCKFWToken *fwToken; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWToken *)NULL; - } - - *pError = nssCKFWSlot_verifyPointer(fwSlot); - if( CKR_OK != *pError ) { - return (NSSCKFWToken *)NULL; - } -#endif /* NSSDEBUG */ - - *pError = nssCKFWMutex_Lock(fwSlot->mutex); - if( CKR_OK != *pError ) { - return (NSSCKFWToken *)NULL; - } - - if( (NSSCKFWToken *)NULL == fwSlot->fwToken ) { - if( (void *)NULL == (void *)fwSlot->mdSlot->GetToken ) { - *pError = CKR_GENERAL_ERROR; - fwToken = (NSSCKFWToken *)NULL; - goto done; - } - - mdToken = fwSlot->mdSlot->GetToken(fwSlot->mdSlot, fwSlot, - fwSlot->mdInstance, fwSlot->fwInstance, pError); - if( (NSSCKMDToken *)NULL == mdToken ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - return (NSSCKFWToken *)NULL; - } - - fwToken = nssCKFWToken_Create(fwSlot, mdToken, pError); - fwSlot->fwToken = fwToken; - } else { - fwToken = fwSlot->fwToken; - } - - done: - (void)nssCKFWMutex_Unlock(fwSlot->mutex); - return fwToken; -} - -/* - * nssCKFWSlot_ClearToken - * - */ -NSS_IMPLEMENT void -nssCKFWSlot_ClearToken -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwSlot->mutex) ) { - /* Now what? */ - return; - } - - fwSlot->fwToken = (NSSCKFWToken *)NULL; - (void)nssCKFWMutex_Unlock(fwSlot->mutex); - return; -} - -/* - * NSSCKFWSlot_GetMDSlot - * - */ - -NSS_IMPLEMENT NSSCKMDSlot * -NSSCKFWSlot_GetMDSlot -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return (NSSCKMDSlot *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWSlot_GetMDSlot(fwSlot); -} - -/* - * NSSCKFWSlot_GetFWInstance - * - */ - -NSS_IMPLEMENT NSSCKFWInstance * -NSSCKFWSlot_GetFWInstance -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return (NSSCKFWInstance *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWSlot_GetFWInstance(fwSlot); -} - -/* - * NSSCKFWSlot_GetMDInstance - * - */ - -NSS_IMPLEMENT NSSCKMDInstance * -NSSCKFWSlot_GetMDInstance -( - NSSCKFWSlot *fwSlot -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWSlot_verifyPointer(fwSlot) ) { - return (NSSCKMDInstance *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWSlot_GetMDInstance(fwSlot); -} diff --git a/security/nss/lib/ckfw/token.c b/security/nss/lib/ckfw/token.c deleted file mode 100644 index fb52acf18..000000000 --- a/security/nss/lib/ckfw/token.c +++ /dev/null @@ -1,1864 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * token.c - * - * This file implements the NSSCKFWToken type and methods. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWToken - * - * -- create/destroy -- - * nssCKFWToken_Create - * nssCKFWToken_Destroy - * - * -- public accessors -- - * NSSCKFWToken_GetMDToken - * NSSCKFWToken_GetFWSlot - * NSSCKFWToken_GetMDSlot - * NSSCKFWToken_GetSessionState - * - * -- implement public accessors -- - * nssCKFWToken_GetMDToken - * nssCKFWToken_GetFWSlot - * nssCKFWToken_GetMDSlot - * nssCKFWToken_GetSessionState - * nssCKFWToken_SetSessionState - * - * -- private accessors -- - * nssCKFWToken_SetSessionState - * nssCKFWToken_RemoveSession - * nssCKFWToken_CloseAllSessions - * nssCKFWToken_GetSessionCount - * nssCKFWToken_GetRwSessionCount - * nssCKFWToken_GetRoSessionCount - * nssCKFWToken_GetSessionObjectHash - * nssCKFWToken_GetMDObjectHash - * nssCKFWToken_GetObjectHandleHash - * - * -- module fronts -- - * nssCKFWToken_InitToken - * nssCKFWToken_GetLabel - * nssCKFWToken_GetManufacturerID - * nssCKFWToken_GetModel - * nssCKFWToken_GetSerialNumber - * nssCKFWToken_GetHasRNG - * nssCKFWToken_GetIsWriteProtected - * nssCKFWToken_GetLoginRequired - * nssCKFWToken_GetUserPinInitialized - * nssCKFWToken_GetRestoreKeyNotNeeded - * nssCKFWToken_GetHasClockOnToken - * nssCKFWToken_GetHasProtectedAuthenticationPath - * nssCKFWToken_GetSupportsDualCryptoOperations - * nssCKFWToken_GetMaxSessionCount - * nssCKFWToken_GetMaxRwSessionCount - * nssCKFWToken_GetMaxPinLen - * nssCKFWToken_GetMinPinLen - * nssCKFWToken_GetTotalPublicMemory - * nssCKFWToken_GetFreePublicMemory - * nssCKFWToken_GetTotalPrivateMemory - * nssCKFWToken_GetFreePrivateMemory - * nssCKFWToken_GetHardwareVersion - * nssCKFWToken_GetFirmwareVersion - * nssCKFWToken_GetUTCTime - * nssCKFWToken_OpenSession - * nssCKFWToken_GetMechanismCount - * nssCKFWToken_GetMechanismTypes - * nssCKFWToken_GetMechanism - */ - -struct NSSCKFWTokenStr { - NSSCKFWMutex *mutex; - NSSArena *arena; - NSSCKMDToken *mdToken; - NSSCKFWSlot *fwSlot; - NSSCKMDSlot *mdSlot; - NSSCKFWInstance *fwInstance; - NSSCKMDInstance *mdInstance; - - /* - * Everything above is set at creation time, and then not modified. - * The invariants the mutex protects are: - * - * 1) Each of the cached descriptions (versions, etc.) are in an - * internally consistant state. - * - * 2) The session counts and hashes are consistant. - * - * 3) The object hashes are consistant. - * - * Note that the calls accessing the cached descriptions will call - * the NSSCKMDToken methods with the mutex locked. Those methods - * may then call the public NSSCKFWToken routines. Those public - * routines only access the constant data above and the atomic - * CK_STATE session state variable below, so there's no problem. - * But be careful if you add to this object; mutexes are in - * general not reentrant, so don't create deadlock situations. - */ - - NSSUTF8 *label; - NSSUTF8 *manufacturerID; - NSSUTF8 *model; - NSSUTF8 *serialNumber; - CK_VERSION hardwareVersion; - CK_VERSION firmwareVersion; - - CK_ULONG sessionCount; - CK_ULONG rwSessionCount; - nssCKFWHash *sessions; - nssCKFWHash *sessionObjectHash; - nssCKFWHash *mdObjectHash; - - CK_STATE state; -}; - -#ifdef DEBUG -/* - * But first, the pointer-tracking stuff. - * - * NOTE: the pointer-tracking support in NSS/base currently relies - * upon NSPR's CallOnce support. That, however, relies upon NSPR's - * locking, which is tied into the runtime. We need a pointer-tracker - * implementation that uses the locks supplied through C_Initialize. - * That support, however, can be filled in later. So for now, I'll - * just do this routines as no-ops. - */ - -static CK_RV -token_add_pointer -( - const NSSCKFWToken *fwToken -) -{ - return CKR_OK; -} - -static CK_RV -token_remove_pointer -( - const NSSCKFWToken *fwToken -) -{ - return CKR_OK; -} - -NSS_IMPLEMENT CK_RV -nssCKFWToken_verifyPointer -( - const NSSCKFWToken *fwToken -) -{ - return CKR_OK; -} - -#endif /* DEBUG */ - -/* - * nssCKFWToken_Create - * - */ -NSS_IMPLEMENT NSSCKFWToken * -nssCKFWToken_Create -( - NSSCKFWSlot *fwSlot, - NSSCKMDToken *mdToken, - CK_RV *pError -) -{ - NSSArena *arena = (NSSArena *)NULL; - NSSCKFWToken *fwToken = (NSSCKFWToken *)NULL; - CK_BBOOL called_setup = CK_FALSE; - - /* - * We have already verified the arguments in nssCKFWSlot_GetToken. - */ - - arena = NSSArena_Create(); - if( (NSSArena *)NULL == arena ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - fwToken = nss_ZNEW(arena, NSSCKFWToken); - if( (NSSCKFWToken *)NULL == fwToken ) { - *pError = CKR_HOST_MEMORY; - goto loser; - } - - fwToken->arena = arena; - fwToken->mdToken = mdToken; - fwToken->fwSlot = fwSlot; - fwToken->fwInstance = nssCKFWSlot_GetFWInstance(fwSlot); - fwToken->mdInstance = nssCKFWSlot_GetMDInstance(fwSlot); - fwToken->state = CKS_RO_PUBLIC_SESSION; /* some default */ - fwToken->sessionCount = 0; - fwToken->rwSessionCount = 0; - - fwToken->mutex = nssCKFWInstance_CreateMutex(fwToken->fwInstance, arena, pError); - if( (NSSCKFWMutex *)NULL == fwToken->mutex ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - - fwToken->sessions = nssCKFWHash_Create(fwToken->fwInstance, arena, pError); - if( (nssCKFWHash *)NULL == fwToken->sessions ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - - if( CK_TRUE != nssCKFWInstance_GetModuleHandlesSessionObjects( - fwToken->fwInstance) ) { - fwToken->sessionObjectHash = nssCKFWHash_Create(fwToken->fwInstance, - arena, pError); - if( (nssCKFWHash *)NULL == fwToken->sessionObjectHash ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - } - - fwToken->mdObjectHash = nssCKFWHash_Create(fwToken->fwInstance, - arena, pError); - if( (nssCKFWHash *)NULL == fwToken->mdObjectHash ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - - fwToken->mdObjectHash = nssCKFWHash_Create(fwToken->fwInstance, - arena, pError); - if( (nssCKFWHash *)NULL == fwToken->mdObjectHash ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto loser; - } - - /* More here */ - - if( (void *)NULL != (void *)mdToken->Setup ) { - *pError = mdToken->Setup(mdToken, fwToken, fwToken->mdInstance, fwToken->fwInstance); - if( CKR_OK != *pError ) { - goto loser; - } - } - - called_setup = CK_TRUE; - -#ifdef DEBUG - *pError = token_add_pointer(fwToken); - if( CKR_OK != *pError ) { - goto loser; - } -#endif /* DEBUG */ - - *pError = CKR_OK; - return fwToken; - - loser: - - if( CK_TRUE == called_setup ) { - if( (void *)NULL != (void *)mdToken->Invalidate ) { - mdToken->Invalidate(mdToken, fwToken, fwToken->mdInstance, fwToken->fwInstance); - } - } - - if( (NSSArena *)NULL != arena ) { - (void)NSSArena_Destroy(arena); - } - - return (NSSCKFWToken *)NULL; -} - -/* - * nssCKFWToken_Destroy - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_Destroy -( - NSSCKFWToken *fwToken -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - (void)nssCKFWMutex_Destroy(fwToken->mutex); - - if( (void *)NULL != (void *)fwToken->mdToken->Invalidate ) { - fwToken->mdToken->Invalidate(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); - } - - nssCKFWSlot_ClearToken(fwToken->fwSlot); - -#ifdef DEBUG - error = token_remove_pointer(fwToken); -#endif /* DEBUG */ - - (void)NSSArena_Destroy(fwToken->arena); - return error; -} - -/* - * nssCKFWToken_GetMDToken - * - */ -NSS_IMPLEMENT NSSCKMDToken * -nssCKFWToken_GetMDToken -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (NSSCKMDToken *)NULL; - } -#endif /* NSSDEBUG */ - - return fwToken->mdToken; -} - -/* - * nssCKFWToken_GetArena - * - */ -NSS_IMPLEMENT NSSArena * -nssCKFWToken_GetArena -( - NSSCKFWToken *fwToken, - CK_RV *pError -) -{ -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - *pError = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != *pError ) { - return (NSSArena *)NULL; - } -#endif /* NSSDEBUG */ - - return fwToken->arena; -} - -/* - * nssCKFWToken_GetFWSlot - * - */ -NSS_IMPLEMENT NSSCKFWSlot * -nssCKFWToken_GetFWSlot -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (NSSCKFWSlot *)NULL; - } -#endif /* NSSDEBUG */ - - return fwToken->fwSlot; -} - -/* - * nssCKFWToken_GetMDSlot - * - */ -NSS_IMPLEMENT NSSCKMDSlot * -nssCKFWToken_GetMDSlot -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (NSSCKMDSlot *)NULL; - } -#endif /* NSSDEBUG */ - - return fwToken->mdSlot; -} - -/* - * nssCKFWToken_GetSessionState - * - */ -NSS_IMPLEMENT CK_STATE -nssCKFWToken_GetSessionState -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CKS_RO_PUBLIC_SESSION; /* whatever */ - } -#endif /* NSSDEBUG */ - - /* - * BTW, do not lock the token in this method. - */ - - /* - * Theoretically, there is no state if there aren't any - * sessions open. But then we'd need to worry about - * reporting an error, etc. What the heck-- let's just - * revert to CKR_RO_PUBLIC_SESSION as the "default." - */ - - return fwToken->state; -} - -/* - * nssCKFWToken_InitToken - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_InitToken -( - NSSCKFWToken *fwToken, - NSSItem *pin, - NSSUTF8 *label -) -{ - CK_RV error; - -#ifdef NSSDEBUG - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return CKR_ARGUMENTS_BAD; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - if( fwToken->sessionCount > 0 ) { - error = CKR_SESSION_EXISTS; - goto done; - } - - if( (void *)NULL == (void *)fwToken->mdToken->InitToken ) { - error = CKR_DEVICE_ERROR; - goto done; - } - - if( (NSSItem *)NULL == pin ) { - if( nssCKFWToken_GetHasProtectedAuthenticationPath(fwToken) ) { - ; /* okay */ - } else { - error = CKR_PIN_INCORRECT; - goto done; - } - } - - if( (NSSUTF8 *)NULL == label ) { - label = (NSSUTF8 *) ""; - } - - error = fwToken->mdToken->InitToken(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance, pin, label); - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return error; -} - -/* - * nssCKFWToken_GetLabel - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_GetLabel -( - NSSCKFWToken *fwToken, - CK_CHAR label[32] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == label ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwToken->label ) { - if( (void *)NULL != (void *)fwToken->mdToken->GetLabel ) { - fwToken->label = fwToken->mdToken->GetLabel(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwToken->label) && (CKR_OK != error) ) { - goto done; - } - } else { - fwToken->label = (NSSUTF8 *) ""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwToken->label, (char *)label, 32, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return error; -} - -/* - * nssCKFWToken_GetManufacturerID - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_GetManufacturerID -( - NSSCKFWToken *fwToken, - CK_CHAR manufacturerID[32] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == manufacturerID ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwToken->manufacturerID ) { - if( (void *)NULL != (void *)fwToken->mdToken->GetManufacturerID ) { - fwToken->manufacturerID = fwToken->mdToken->GetManufacturerID(fwToken->mdToken, - fwToken, fwToken->mdInstance, fwToken->fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwToken->manufacturerID) && (CKR_OK != error) ) { - goto done; - } - } else { - fwToken->manufacturerID = (NSSUTF8 *)""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwToken->manufacturerID, (char *)manufacturerID, 32, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return error; -} - -/* - * nssCKFWToken_GetModel - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_GetModel -( - NSSCKFWToken *fwToken, - CK_CHAR model[16] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == model ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwToken->model ) { - if( (void *)NULL != (void *)fwToken->mdToken->GetModel ) { - fwToken->model = fwToken->mdToken->GetModel(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwToken->model) && (CKR_OK != error) ) { - goto done; - } - } else { - fwToken->model = (NSSUTF8 *)""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwToken->model, (char *)model, 16, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return error; -} - -/* - * nssCKFWToken_GetSerialNumber - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_GetSerialNumber -( - NSSCKFWToken *fwToken, - CK_CHAR serialNumber[16] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - if( (CK_CHAR_PTR)NULL == serialNumber ) { - return CKR_ARGUMENTS_BAD; - } - - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - if( (NSSUTF8 *)NULL == fwToken->serialNumber ) { - if( (void *)NULL != (void *)fwToken->mdToken->GetSerialNumber ) { - fwToken->serialNumber = fwToken->mdToken->GetSerialNumber(fwToken->mdToken, - fwToken, fwToken->mdInstance, fwToken->fwInstance, &error); - if( ((NSSUTF8 *)NULL == fwToken->serialNumber) && (CKR_OK != error) ) { - goto done; - } - } else { - fwToken->serialNumber = (NSSUTF8 *)""; - } - } - - (void)nssUTF8_CopyIntoFixedBuffer(fwToken->serialNumber, (char *)serialNumber, 16, ' '); - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return error; -} - - -/* - * nssCKFWToken_GetHasRNG - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetHasRNG -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetHasRNG ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetHasRNG(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetIsWriteProtected - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetIsWriteProtected -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetIsWriteProtected ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetIsWriteProtected(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetLoginRequired - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetLoginRequired -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetLoginRequired ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetLoginRequired(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetUserPinInitialized - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetUserPinInitialized -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetUserPinInitialized ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetUserPinInitialized(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetRestoreKeyNotNeeded - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetRestoreKeyNotNeeded -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetRestoreKeyNotNeeded ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetRestoreKeyNotNeeded(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetHasClockOnToken - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetHasClockOnToken -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetHasClockOnToken ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetHasClockOnToken(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetHasProtectedAuthenticationPath - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetHasProtectedAuthenticationPath -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetHasProtectedAuthenticationPath ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetHasProtectedAuthenticationPath(fwToken->mdToken, - fwToken, fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetSupportsDualCryptoOperations - * - */ -NSS_IMPLEMENT CK_BBOOL -nssCKFWToken_GetSupportsDualCryptoOperations -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_FALSE; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetSupportsDualCryptoOperations ) { - return CK_FALSE; - } - - return fwToken->mdToken->GetSupportsDualCryptoOperations(fwToken->mdToken, - fwToken, fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetMaxSessionCount - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetMaxSessionCount -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetMaxSessionCount ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetMaxSessionCount(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetMaxRwSessionCount - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetMaxRwSessionCount -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetMaxRwSessionCount ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetMaxRwSessionCount(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetMaxPinLen - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetMaxPinLen -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetMaxPinLen ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetMaxPinLen(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetMinPinLen - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetMinPinLen -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetMinPinLen ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetMinPinLen(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetTotalPublicMemory - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetTotalPublicMemory -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetTotalPublicMemory ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetTotalPublicMemory(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetFreePublicMemory - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetFreePublicMemory -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetFreePublicMemory ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetFreePublicMemory(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetTotalPrivateMemory - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetTotalPrivateMemory -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetTotalPrivateMemory ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetTotalPrivateMemory(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetFreePrivateMemory - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetFreePrivateMemory -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CK_UNAVAILABLE_INFORMATION; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == (void *)fwToken->mdToken->GetFreePrivateMemory ) { - return CK_UNAVAILABLE_INFORMATION; - } - - return fwToken->mdToken->GetFreePrivateMemory(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetHardwareVersion - * - */ -NSS_IMPLEMENT CK_VERSION -nssCKFWToken_GetHardwareVersion -( - NSSCKFWToken *fwToken -) -{ - CK_VERSION rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - rv.major = rv.minor = 0; - return rv; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwToken->mutex) ) { - rv.major = rv.minor = 0; - return rv; - } - - if( (0 != fwToken->hardwareVersion.major) || - (0 != fwToken->hardwareVersion.minor) ) { - rv = fwToken->hardwareVersion; - goto done; - } - - if( (void *)NULL != (void *)fwToken->mdToken->GetHardwareVersion ) { - fwToken->hardwareVersion = fwToken->mdToken->GetHardwareVersion( - fwToken->mdToken, fwToken, fwToken->mdInstance, fwToken->fwInstance); - } else { - fwToken->hardwareVersion.major = 0; - fwToken->hardwareVersion.minor = 1; - } - - rv = fwToken->hardwareVersion; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return rv; -} - -/* - * nssCKFWToken_GetFirmwareVersion - * - */ -NSS_IMPLEMENT CK_VERSION -nssCKFWToken_GetFirmwareVersion -( - NSSCKFWToken *fwToken -) -{ - CK_VERSION rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - rv.major = rv.minor = 0; - return rv; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwToken->mutex) ) { - rv.major = rv.minor = 0; - return rv; - } - - if( (0 != fwToken->firmwareVersion.major) || - (0 != fwToken->firmwareVersion.minor) ) { - rv = fwToken->firmwareVersion; - goto done; - } - - if( (void *)NULL != (void *)fwToken->mdToken->GetFirmwareVersion ) { - fwToken->firmwareVersion = fwToken->mdToken->GetFirmwareVersion( - fwToken->mdToken, fwToken, fwToken->mdInstance, fwToken->fwInstance); - } else { - fwToken->firmwareVersion.major = 0; - fwToken->firmwareVersion.minor = 1; - } - - rv = fwToken->firmwareVersion; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return rv; -} - -/* - * nssCKFWToken_GetUTCTime - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_GetUTCTime -( - NSSCKFWToken *fwToken, - CK_CHAR utcTime[16] -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } - - if( (CK_CHAR_PTR)NULL == utcTime ) { - return CKR_ARGUMENTS_BAD; - } -#endif /* DEBUG */ - - if( CK_TRUE != nssCKFWToken_GetHasClockOnToken(fwToken) ) { - /* return CKR_DEVICE_ERROR; */ - (void)nssUTF8_CopyIntoFixedBuffer((NSSUTF8 *)NULL, (char *)utcTime, 16, ' '); - return CKR_OK; - } - - if( (void *)NULL == (void *)fwToken->mdToken->GetUTCTime ) { - /* It said it had one! */ - return CKR_GENERAL_ERROR; - } - - error = fwToken->mdToken->GetUTCTime(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance, utcTime); - if( CKR_OK != error ) { - return error; - } - - /* Sanity-check the data */ - { - /* Format is YYYYMMDDhhmmss00 */ - int i; - int Y, M, D, h, m, s, z; - static int dims[] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - - for( i = 0; i < 16; i++ ) { - if( (utcTime[i] < '0') || (utcTime[i] > '9') ) { - goto badtime; - } - } - - Y = ((utcTime[ 0] - '0') * 1000) + ((utcTime[1] - '0') * 100) + - ((utcTime[ 2] - '0') * 10) + (utcTime[ 3] - '0'); - M = ((utcTime[ 4] - '0') * 10) + (utcTime[ 5] - '0'); - D = ((utcTime[ 6] - '0') * 10) + (utcTime[ 7] - '0'); - h = ((utcTime[ 8] - '0') * 10) + (utcTime[ 9] - '0'); - m = ((utcTime[10] - '0') * 10) + (utcTime[11] - '0'); - s = ((utcTime[12] - '0') * 10) + (utcTime[13] - '0'); - z = ((utcTime[14] - '0') * 10) + (utcTime[15] - '0'); - - if( (Y < 1990) || (Y > 3000) ) goto badtime; /* Y3K problem. heh heh heh */ - if( (M < 1) || (M > 12) ) goto badtime; - if( (D < 1) || (D > 31) ) goto badtime; - - if( D > dims[M-1] ) goto badtime; /* per-month check */ - if( (2 == M) && (((Y%4)||!(Y%100))&&(Y%400)) && (D > 28) ) goto badtime; /* leap years */ - - if( (h < 0) || (h > 23) ) goto badtime; - if( (m < 0) || (m > 60) ) goto badtime; - if( (s < 0) || (s > 61) ) goto badtime; - - /* 60m and 60 or 61s is only allowed for leap seconds. */ - if( (60 == m) || (s >= 60) ) { - if( (23 != h) || (60 != m) || (s < 60) ) goto badtime; - /* leap seconds can only happen on June 30 or Dec 31.. I think */ - /* if( ((6 != M) || (30 != D)) && ((12 != M) || (31 != D)) ) goto badtime; */ - } - } - - return CKR_OK; - - badtime: - return CKR_GENERAL_ERROR; -} - -/* - * nssCKFWToken_OpenSession - * - */ -NSS_IMPLEMENT NSSCKFWSession * -nssCKFWToken_OpenSession -( - NSSCKFWToken *fwToken, - CK_BBOOL rw, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_RV *pError -) -{ - NSSCKFWSession *fwSession = (NSSCKFWSession *)NULL; - NSSCKMDSession *mdSession; - -#ifdef NSSDEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSCKFWSession *)NULL; - } - - *pError = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != *pError ) { - return (NSSCKFWSession *)NULL; - } - - switch( rw ) { - case CK_TRUE: - case CK_FALSE: - break; - default: - *pError = CKR_ARGUMENTS_BAD; - return (NSSCKFWSession *)NULL; - } -#endif /* NSSDEBUG */ - - *pError = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != *pError ) { - return (NSSCKFWSession *)NULL; - } - - if( CK_TRUE == rw ) { - /* Read-write session desired */ - if( CK_TRUE != nssCKFWToken_GetIsWriteProtected(fwToken) ) { - *pError = CKR_TOKEN_WRITE_PROTECTED; - goto done; - } - } else { - /* Read-only session desired */ - if( CKS_RW_SO_FUNCTIONS == nssCKFWToken_GetSessionState(fwToken) ) { - *pError = CKR_SESSION_READ_WRITE_SO_EXISTS; - goto done; - } - } - - /* We could compare sesion counts to any limits we know of, I guess.. */ - - if( (void *)NULL == (void *)fwToken->mdToken->OpenSession ) { - /* - * I'm not sure that the Module actually needs to implement - * mdSessions -- the Framework can keep track of everything - * needed, really. But I'll sort out that detail later.. - */ - *pError = CKR_GENERAL_ERROR; - goto done; - } - - fwSession = nssCKFWSession_Create(fwToken, rw, pApplication, Notify, pError); - if( (NSSCKFWSession *)NULL == fwSession ) { - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto done; - } - - mdSession = fwToken->mdToken->OpenSession(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance, fwSession, - rw, pError); - if( (NSSCKMDSession *)NULL == mdSession ) { - (void)nssCKFWSession_Destroy(fwSession, CK_FALSE); - if( CKR_OK == *pError ) { - *pError = CKR_GENERAL_ERROR; - } - goto done; - } - - *pError = nssCKFWSession_SetMDSession(fwSession, mdSession); - if( CKR_OK != *pError ) { - if( (void *)NULL != (void *)mdSession->Close ) { - mdSession->Close(mdSession, fwSession, fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); - } - (void)nssCKFWSession_Destroy(fwSession, CK_FALSE); - goto done; - } - - *pError = nssCKFWHash_Add(fwToken->sessions, fwSession, fwSession); - if( CKR_OK != *pError ) { - (void)nssCKFWSession_Destroy(fwSession, CK_FALSE); - fwSession = (NSSCKFWSession *)NULL; - goto done; - } - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return fwSession; -} - -/* - * nssCKFWToken_GetMechanismCount - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetMechanismCount -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return 0; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == fwToken->mdToken->GetMechanismCount ) { - return 0; - } - - return fwToken->mdToken->GetMechanismCount(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance); -} - -/* - * nssCKFWToken_GetMechanismTypes - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_GetMechanismTypes -( - NSSCKFWToken *fwToken, - CK_MECHANISM_TYPE types[] -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CKR_ARGUMENTS_BAD; - } - - if( (CK_MECHANISM_TYPE *)NULL == types ) { - return CKR_ARGUMENTS_BAD; - } -#endif /* NSSDEBUG */ - - if( (void *)NULL == fwToken->mdToken->GetMechanismTypes ) { - /* - * This should only be called with a sufficiently-large - * "types" array, which can only be done if GetMechanismCount - * is implemented. If that's implemented (and returns nonzero), - * then this should be too. So return an error. - */ - return CKR_GENERAL_ERROR; - } - - return fwToken->mdToken->GetMechanismTypes(fwToken->mdToken, fwToken, - fwToken->mdInstance, fwToken->fwInstance, types); -} - - -/* - * nssCKFWToken_GetMechanism - * - */ -NSS_IMPLEMENT NSSCKFWMechanism * -nssCKFWToken_GetMechanism -( - NSSCKFWToken *fwToken, - CK_MECHANISM_TYPE which, - CK_RV *pError -) -{ - /* XXX fgmr */ - return (NSSCKFWMechanism *)NULL; -} - -NSS_IMPLEMENT CK_RV -nssCKFWToken_SetSessionState -( - NSSCKFWToken *fwToken, - CK_STATE newState -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } - - switch( newState ) { - case CKS_RO_PUBLIC_SESSION: - case CKS_RO_USER_FUNCTIONS: - case CKS_RW_PUBLIC_SESSION: - case CKS_RW_USER_FUNCTIONS: - case CKS_RW_SO_FUNCTIONS: - break; - default: - return CKR_ARGUMENTS_BAD; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - fwToken->state = newState; - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return CKR_OK; -} - -/* - * nssCKFWToken_RemoveSession - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_RemoveSession -( - NSSCKFWToken *fwToken, - NSSCKFWSession *fwSession -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } - - error = nssCKFWSession_verifyPointer(fwSession); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - if( CK_TRUE != nssCKFWHash_Exists(fwToken->sessions, fwSession) ) { - error = CKR_SESSION_HANDLE_INVALID; - goto done; - } - - nssCKFWHash_Remove(fwToken->sessions, fwSession); - fwToken->sessionCount--; - - if( nssCKFWSession_IsRWSession(fwSession) ) { - fwToken->rwSessionCount--; - } - - if( 0 == fwToken->sessionCount ) { - fwToken->rwSessionCount = 0; /* sanity */ - fwToken->state = CKS_RO_PUBLIC_SESSION; /* some default */ - } - - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return error; -} - -static void -nss_ckfwtoken_session_iterator -( - const void *key, - void *value, - void *closure -) -{ - /* - * Remember that the fwToken->mutex is locked - */ - NSSCKFWSession *fwSession = (NSSCKFWSession *)value; - (void)nssCKFWSession_Destroy(fwSession, CK_FALSE); - return; -} - -/* - * nssCKFWToken_CloseAllSessions - * - */ -NSS_IMPLEMENT CK_RV -nssCKFWToken_CloseAllSessions -( - NSSCKFWToken *fwToken -) -{ - CK_RV error = CKR_OK; - -#ifdef NSSDEBUG - error = nssCKFWToken_verifyPointer(fwToken); - if( CKR_OK != error ) { - return error; - } -#endif /* NSSDEBUG */ - - error = nssCKFWMutex_Lock(fwToken->mutex); - if( CKR_OK != error ) { - return error; - } - - nssCKFWHash_Iterate(fwToken->sessions, nss_ckfwtoken_session_iterator, (void *)NULL); - - nssCKFWHash_Destroy(fwToken->sessions); - - fwToken->sessions = nssCKFWHash_Create(fwToken->fwInstance, fwToken->arena, &error); - if( (nssCKFWHash *)NULL == fwToken->sessions ) { - if( CKR_OK == error ) { - error = CKR_GENERAL_ERROR; - } - goto done; - } - - fwToken->state = CKS_RO_PUBLIC_SESSION; /* some default */ - fwToken->sessionCount = 0; - fwToken->rwSessionCount = 0; - - error = CKR_OK; - - done: - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return error; -} - -/* - * nssCKFWToken_GetSessionCount - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetSessionCount -( - NSSCKFWToken *fwToken -) -{ - CK_ULONG rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwToken->mutex) ) { - return (CK_ULONG)0; - } - - rv = fwToken->sessionCount; - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return rv; -} - -/* - * nssCKFWToken_GetRwSessionCount - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetRwSessionCount -( - NSSCKFWToken *fwToken -) -{ - CK_ULONG rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwToken->mutex) ) { - return (CK_ULONG)0; - } - - rv = fwToken->rwSessionCount; - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return rv; -} - -/* - * nssCKFWToken_GetRoSessionCount - * - */ -NSS_IMPLEMENT CK_ULONG -nssCKFWToken_GetRoSessionCount -( - NSSCKFWToken *fwToken -) -{ - CK_ULONG rv; - -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (CK_ULONG)0; - } -#endif /* NSSDEBUG */ - - if( CKR_OK != nssCKFWMutex_Lock(fwToken->mutex) ) { - return (CK_ULONG)0; - } - - rv = fwToken->sessionCount - fwToken->rwSessionCount; - (void)nssCKFWMutex_Unlock(fwToken->mutex); - return rv; -} - -/* - * nssCKFWToken_GetSessionObjectHash - * - */ -NSS_IMPLEMENT nssCKFWHash * -nssCKFWToken_GetSessionObjectHash -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (nssCKFWHash *)NULL; - } -#endif /* NSSDEBUG */ - - return fwToken->sessionObjectHash; -} - -/* - * nssCKFWToken_GetMDObjectHash - * - */ -NSS_IMPLEMENT nssCKFWHash * -nssCKFWToken_GetMDObjectHash -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (nssCKFWHash *)NULL; - } -#endif /* NSSDEBUG */ - - return fwToken->mdObjectHash; -} - -/* - * nssCKFWToken_GetObjectHandleHash - * - */ -NSS_IMPLEMENT nssCKFWHash * -nssCKFWToken_GetObjectHandleHash -( - NSSCKFWToken *fwToken -) -{ -#ifdef NSSDEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (nssCKFWHash *)NULL; - } -#endif /* NSSDEBUG */ - - return fwToken->mdObjectHash; -} - -/* - * NSSCKFWToken_GetMDToken - * - */ - -NSS_IMPLEMENT NSSCKMDToken * -NSSCKFWToken_GetMDToken -( - NSSCKFWToken *fwToken -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (NSSCKMDToken *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWToken_GetMDToken(fwToken); -} - -/* - * NSSCKFWToken_GetArena - * - */ - -NSS_IMPLEMENT NSSArena * -NSSCKFWToken_GetArena -( - NSSCKFWToken *fwToken, - CK_RV *pError -) -{ -#ifdef DEBUG - if( (CK_RV *)NULL == pError ) { - return (NSSArena *)NULL; - } - - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - *pError = CKR_ARGUMENTS_BAD; - return (NSSArena *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWToken_GetArena(fwToken, pError); -} - -/* - * NSSCKFWToken_GetFWSlot - * - */ - -NSS_IMPLEMENT NSSCKFWSlot * -NSSCKFWToken_GetFWSlot -( - NSSCKFWToken *fwToken -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (NSSCKFWSlot *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWToken_GetFWSlot(fwToken); -} - -/* - * NSSCKFWToken_GetMDSlot - * - */ - -NSS_IMPLEMENT NSSCKMDSlot * -NSSCKFWToken_GetMDSlot -( - NSSCKFWToken *fwToken -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return (NSSCKMDSlot *)NULL; - } -#endif /* DEBUG */ - - return nssCKFWToken_GetMDSlot(fwToken); -} - -/* - * NSSCKFWToken_GetSessionState - * - */ - -NSS_IMPLEMENT CK_STATE -NSSCKFWSession_GetSessionState -( - NSSCKFWToken *fwToken -) -{ -#ifdef DEBUG - if( CKR_OK != nssCKFWToken_verifyPointer(fwToken) ) { - return CKS_RO_PUBLIC_SESSION; - } -#endif /* DEBUG */ - - return nssCKFWToken_GetSessionState(fwToken); -} diff --git a/security/nss/lib/ckfw/wrap.c b/security/nss/lib/ckfw/wrap.c deleted file mode 100644 index 8b1eae6d6..000000000 --- a/security/nss/lib/ckfw/wrap.c +++ /dev/null @@ -1,3419 +0,0 @@ -/* - * The contents of this file are subject to the Mozilla Public - * License Version 1.1 (the "License"); you may not use this file - * except in compliance with the License. You may obtain a copy of - * the License at http://www.mozilla.org/MPL/ - * - * Software distributed under the License is distributed on an "AS - * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - * implied. See the License for the specific language governing - * rights and limitations under the License. - * - * The Original Code is the Netscape security libraries. - * - * The Initial Developer of the Original Code is Netscape - * Communications Corporation. Portions created by Netscape are - * Copyright (C) 1994-2000 Netscape Communications Corporation. All - * Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the - * terms of the GNU General Public License Version 2 or later (the - * "GPL"), in which case the provisions of the GPL are applicable - * instead of those above. If you wish to allow use of your - * version of this file only under the terms of the GPL and not to - * allow others to use your version of this file under the MPL, - * indicate your decision by deleting the provisions above and - * replace them with the notice and other provisions required by - * the GPL. If you do not delete the provisions above, a recipient - * may use your version of this file under either the MPL or the - * GPL. - */ - -#ifdef DEBUG -static const char CVS_ID[] = "@(#) $RCSfile$ $Revision$ $Date$ $Name$"; -#endif /* DEBUG */ - -/* - * wrap.c - * - * This file contains the routines that actually implement the cryptoki - * API, using the internal APIs of the NSS Cryptoki Framework. There is - * one routine here for every cryptoki routine. For linking reasons - * the actual entry points passed back with C_GetFunctionList have to - * exist in one of the Module's source files; however, those are merely - * simple wrappers that call these routines. The intelligence of the - * implementations is here. - */ - -#ifndef CK_T -#include "ck.h" -#endif /* CK_T */ - -/* - * NSSCKFWC_Initialize - * NSSCKFWC_Finalize - * NSSCKFWC_GetInfo - * -- NSSCKFWC_GetFunctionList -- see the API insert file - * NSSCKFWC_GetSlotList - * NSSCKFWC_GetSlotInfo - * NSSCKFWC_GetTokenInfo - * NSSCKFWC_WaitForSlotEvent - * NSSCKFWC_GetMechanismList - * NSSCKFWC_GetMechanismInfo - * NSSCKFWC_InitToken - * NSSCKFWC_InitPIN - * NSSCKFWC_SetPIN - * NSSCKFWC_OpenSession - * NSSCKFWC_CloseSession - * NSSCKFWC_CloseAllSessions - * NSSCKFWC_GetSessionInfo - * NSSCKFWC_GetOperationState - * NSSCKFWC_SetOperationState - * NSSCKFWC_Login - * NSSCKFWC_Logout - * NSSCKFWC_CreateObject - * NSSCKFWC_CopyObject - * NSSCKFWC_DestroyObject - * NSSCKFWC_GetObjectSize - * NSSCKFWC_GetAttributeValue - * NSSCKFWC_SetAttributeValue - * NSSCKFWC_FindObjectsInit - * NSSCKFWC_FindObjects - * NSSCKFWC_FindObjectsFinal - * NSSCKFWC_EncryptInit - * NSSCKFWC_Encrypt - * NSSCKFWC_EncryptUpdate - * NSSCKFWC_EncryptFinal - * NSSCKFWC_DecryptInit - * NSSCKFWC_Decrypt - * NSSCKFWC_DecryptUpdate - * NSSCKFWC_DecryptFinal - * NSSCKFWC_DigestInit - * NSSCKFWC_Digest - * NSSCKFWC_DigestUpdate - * NSSCKFWC_DigestKey - * NSSCKFWC_DigestFinal - * NSSCKFWC_SignInit - * NSSCKFWC_Sign - * NSSCKFWC_SignUpdate - * NSSCKFWC_SignFinal - * NSSCKFWC_SignRecoverInit - * NSSCKFWC_SignRecover - * NSSCKFWC_VerifyInit - * NSSCKFWC_Verify - * NSSCKFWC_VerifyUpdate - * NSSCKFWC_VerifyFinal - * NSSCKFWC_VerifyRecoverInit - * NSSCKFWC_VerifyRecover - * NSSCKFWC_DigestEncryptUpdate - * NSSCKFWC_DecryptDigestUpdate - * NSSCKFWC_SignEncryptUpdate - * NSSCKFWC_DecryptVerifyUpdate - * NSSCKFWC_GenerateKey - * NSSCKFWC_GenerateKeyPair - * NSSCKFWC_WrapKey - * NSSCKFWC_UnwrapKey - * NSSCKFWC_DeriveKey - * NSSCKFWC_SeedRandom - * NSSCKFWC_GenerateRandom - * NSSCKFWC_GetFunctionStatus - * NSSCKFWC_CancelFunction - */ - -/* - * NSSCKFWC_Initialize - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Initialize -( - NSSCKFWInstance **pFwInstance, - NSSCKMDInstance *mdInstance, - CK_VOID_PTR pInitArgs -) -{ - CK_RV error = CKR_OK; - - if( (NSSCKFWInstance **)NULL == pFwInstance ) { - error = CKR_GENERAL_ERROR; - goto loser; - } - - if( (NSSCKFWInstance *)NULL != *pFwInstance ) { - error = CKR_CRYPTOKI_ALREADY_INITIALIZED; - goto loser; - } - - if( (NSSCKMDInstance *)NULL == mdInstance ) { - error = CKR_GENERAL_ERROR; - goto loser; - } - - /* remember the locking args for those times we need to get a lock in code - * outside the framework. - */ - nssSetLockArgs(pInitArgs); - - *pFwInstance = nssCKFWInstance_Create(pInitArgs, mdInstance, &error); - if( (NSSCKFWInstance *)NULL == *pFwInstance ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_ARGUMENTS_BAD: - case CKR_CANT_LOCK: - case CKR_CRYPTOKI_ALREADY_INITIALIZED: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_NEED_TO_CREATE_THREADS: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_Finalize - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Finalize -( - NSSCKFWInstance **pFwInstance -) -{ - CK_RV error = CKR_OK; - - if( (NSSCKFWInstance **)NULL == pFwInstance ) { - error = CKR_GENERAL_ERROR; - goto loser; - } - - if( (NSSCKFWInstance *)NULL == *pFwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - error = nssCKFWInstance_Destroy(*pFwInstance); - - /* In any case */ - *pFwInstance = (NSSCKFWInstance *)NULL; - - loser: - switch( error ) { - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OK: - break; - default: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetInfo - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetInfo -( - NSSCKFWInstance *fwInstance, - CK_INFO_PTR pInfo -) -{ - CK_RV error = CKR_OK; - - if( (CK_INFO_PTR)CK_NULL_PTR == pInfo ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here means a caller error - */ - (void)nsslibc_memset(pInfo, 0, sizeof(CK_INFO)); - - pInfo->cryptokiVersion = nssCKFWInstance_GetCryptokiVersion(fwInstance); - - error = nssCKFWInstance_GetManufacturerID(fwInstance, pInfo->manufacturerID); - if( CKR_OK != error ) { - goto loser; - } - - pInfo->flags = nssCKFWInstance_GetFlags(fwInstance); - - error = nssCKFWInstance_GetLibraryDescription(fwInstance, pInfo->libraryDescription); - if( CKR_OK != error ) { - goto loser; - } - - pInfo->libraryVersion = nssCKFWInstance_GetLibraryVersion(fwInstance); - - return CKR_OK; - - loser: - switch( error ) { - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - break; - default: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * C_GetFunctionList is implemented entirely in the Module's file which - * includes the Framework API insert file. It requires no "actual" - * NSSCKFW routine. - */ - -/* - * NSSCKFWC_GetSlotList - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetSlotList -( - NSSCKFWInstance *fwInstance, - CK_BBOOL tokenPresent, - CK_SLOT_ID_PTR pSlotList, - CK_ULONG_PTR pulCount -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - switch( tokenPresent ) { - case CK_TRUE: - case CK_FALSE: - break; - default: - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - if( (CK_ULONG_PTR)CK_NULL_PTR == pulCount ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (CK_SLOT_ID_PTR)CK_NULL_PTR == pSlotList ) { - *pulCount = nSlots; - return CKR_OK; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(pSlotList, 0, *pulCount * sizeof(CK_SLOT_ID)); - - if( *pulCount < nSlots ) { - *pulCount = nSlots; - error = CKR_BUFFER_TOO_SMALL; - goto loser; - } else { - CK_ULONG i; - *pulCount = nSlots; - - /* - * Our secret "mapping": CK_SLOT_IDs are integers [1,N], and we - * just index one when we need it. - */ - - for( i = 0; i < nSlots; i++ ) { - pSlotList[i] = i+1; - } - - return CKR_OK; - } - - loser: - switch( error ) { - case CKR_BUFFER_TOO_SMALL: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetSlotInfo - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetSlotInfo -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_SLOT_INFO_PTR pInfo -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (slotID < 1) || (slotID > nSlots) ) { - error = CKR_SLOT_ID_INVALID; - goto loser; - } - - if( (CK_SLOT_INFO_PTR)CK_NULL_PTR == pInfo ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(pInfo, 0, sizeof(CK_SLOT_INFO)); - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = slots[ slotID-1 ]; - - error = nssCKFWSlot_GetSlotDescription(fwSlot, pInfo->slotDescription); - if( CKR_OK != error ) { - goto loser; - } - - error = nssCKFWSlot_GetManufacturerID(fwSlot, pInfo->manufacturerID); - if( CKR_OK != error ) { - goto loser; - } - - if( nssCKFWSlot_GetTokenPresent(fwSlot) ) { - pInfo->flags |= CKF_TOKEN_PRESENT; - } - - if( nssCKFWSlot_GetRemovableDevice(fwSlot) ) { - pInfo->flags |= CKF_REMOVABLE_DEVICE; - } - - if( nssCKFWSlot_GetHardwareSlot(fwSlot) ) { - pInfo->flags |= CKF_HW_SLOT; - } - - pInfo->hardwareVersion = nssCKFWSlot_GetHardwareVersion(fwSlot); - pInfo->firmwareVersion = nssCKFWSlot_GetFirmwareVersion(fwSlot); - - return CKR_OK; - - loser: - switch( error ) { - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SLOT_ID_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - } - - return error; -} - -/* - * NSSCKFWC_GetTokenInfo - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetTokenInfo -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_TOKEN_INFO_PTR pInfo -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - NSSCKFWToken *fwToken = (NSSCKFWToken *)NULL; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (slotID < 1) || (slotID > nSlots) ) { - error = CKR_SLOT_ID_INVALID; - goto loser; - } - - if( (CK_TOKEN_INFO_PTR)CK_NULL_PTR == pInfo ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(pInfo, 0, sizeof(CK_TOKEN_INFO)); - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = slots[ slotID-1 ]; - - if( CK_TRUE != nssCKFWSlot_GetTokenPresent(fwSlot) ) { - error = CKR_TOKEN_NOT_PRESENT; - goto loser; - } - - fwToken = nssCKFWSlot_GetToken(fwSlot, &error); - if( (NSSCKFWToken *)NULL == fwToken ) { - goto loser; - } - - error = nssCKFWToken_GetLabel(fwToken, pInfo->label); - if( CKR_OK != error ) { - goto loser; - } - - error = nssCKFWToken_GetManufacturerID(fwToken, pInfo->manufacturerID); - if( CKR_OK != error ) { - goto loser; - } - - error = nssCKFWToken_GetModel(fwToken, pInfo->model); - if( CKR_OK != error ) { - goto loser; - } - - error = nssCKFWToken_GetSerialNumber(fwToken, pInfo->serialNumber); - if( CKR_OK != error ) { - goto loser; - } - - if( nssCKFWToken_GetHasRNG(fwToken) ) { - pInfo->flags |= CKF_RNG; - } - - if( nssCKFWToken_GetIsWriteProtected(fwToken) ) { - pInfo->flags |= CKF_WRITE_PROTECTED; - } - - if( nssCKFWToken_GetLoginRequired(fwToken) ) { - pInfo->flags |= CKF_LOGIN_REQUIRED; - } - - if( nssCKFWToken_GetUserPinInitialized(fwToken) ) { - pInfo->flags |= CKF_USER_PIN_INITIALIZED; - } - - if( nssCKFWToken_GetRestoreKeyNotNeeded(fwToken) ) { - pInfo->flags |= CKF_RESTORE_KEY_NOT_NEEDED; - } - - if( nssCKFWToken_GetHasClockOnToken(fwToken) ) { - pInfo->flags |= CKF_CLOCK_ON_TOKEN; - } - - if( nssCKFWToken_GetHasProtectedAuthenticationPath(fwToken) ) { - pInfo->flags |= CKF_PROTECTED_AUTHENTICATION_PATH; - } - - if( nssCKFWToken_GetSupportsDualCryptoOperations(fwToken) ) { - pInfo->flags |= CKF_DUAL_CRYPTO_OPERATIONS; - } - - pInfo->ulMaxSessionCount = nssCKFWToken_GetMaxSessionCount(fwToken); - pInfo->ulSessionCount = nssCKFWToken_GetSessionCount(fwToken); - pInfo->ulMaxRwSessionCount = nssCKFWToken_GetMaxRwSessionCount(fwToken); - pInfo->ulRwSessionCount= nssCKFWToken_GetRwSessionCount(fwToken); - pInfo->ulMaxPinLen = nssCKFWToken_GetMaxPinLen(fwToken); - pInfo->ulMinPinLen = nssCKFWToken_GetMinPinLen(fwToken); - pInfo->ulTotalPublicMemory = nssCKFWToken_GetTotalPublicMemory(fwToken); - pInfo->ulFreePublicMemory = nssCKFWToken_GetFreePublicMemory(fwToken); - pInfo->ulTotalPrivateMemory = nssCKFWToken_GetTotalPrivateMemory(fwToken); - pInfo->ulFreePrivateMemory = nssCKFWToken_GetFreePrivateMemory(fwToken); - pInfo->hardwareVersion = nssCKFWToken_GetHardwareVersion(fwToken); - pInfo->firmwareVersion = nssCKFWToken_GetFirmwareVersion(fwToken); - - error = nssCKFWToken_GetUTCTime(fwToken, pInfo->utcTime); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_DEVICE_REMOVED: - case CKR_TOKEN_NOT_PRESENT: - (void)nssCKFWToken_Destroy(fwToken); - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SLOT_ID_INVALID: - case CKR_TOKEN_NOT_RECOGNIZED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_WaitForSlotEvent - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_WaitForSlotEvent -( - NSSCKFWInstance *fwInstance, - CK_FLAGS flags, - CK_SLOT_ID_PTR pSlot, - CK_VOID_PTR pReserved -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - CK_BBOOL block; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - CK_ULONG i; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - if( flags & ~CKF_DONT_BLOCK ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - block = (flags & CKF_DONT_BLOCK) ? CK_TRUE : CK_FALSE; - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (CK_SLOT_ID_PTR)CK_NULL_PTR == pSlot ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - if( (CK_VOID_PTR)CK_NULL_PTR != pReserved ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = nssCKFWInstance_WaitForSlotEvent(fwInstance, block, &error); - if( (NSSCKFWSlot *)NULL == fwSlot ) { - goto loser; - } - - for( i = 0; i < nSlots; i++ ) { - if( fwSlot == slots[i] ) { - *pSlot = (CK_SLOT_ID)(CK_ULONG)(i+1); - } - - return CKR_OK; - } - - error = CKR_GENERAL_ERROR; /* returned something not in the slot list */ - - loser: - switch( error ) { - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_NO_EVENT: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetMechanismList - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetMechanismList -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE_PTR pMechanismList, - CK_ULONG_PTR pulCount -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - NSSCKFWToken *fwToken = (NSSCKFWToken *)NULL; - CK_ULONG count; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (slotID < 1) || (slotID > nSlots) ) { - error = CKR_SLOT_ID_INVALID; - goto loser; - } - - if( (CK_ULONG_PTR)CK_NULL_PTR == pulCount ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = slots[ slotID-1 ]; - - if( CK_TRUE != nssCKFWSlot_GetTokenPresent(fwSlot) ) { - error = CKR_TOKEN_NOT_PRESENT; - goto loser; - } - - fwToken = nssCKFWSlot_GetToken(fwSlot, &error); - if( (NSSCKFWToken *)NULL == fwToken ) { - goto loser; - } - - count = nssCKFWToken_GetMechanismCount(fwToken); - - if( (CK_MECHANISM_TYPE_PTR)CK_NULL_PTR == pMechanismList ) { - *pulCount = count; - return CKR_OK; - } - - if( *pulCount < count ) { - *pulCount = count; - error = CKR_BUFFER_TOO_SMALL; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(pMechanismList, 0, *pulCount * sizeof(CK_MECHANISM_TYPE)); - - *pulCount = count; - - if( 0 != count ) { - error = nssCKFWToken_GetMechanismTypes(fwToken, pMechanismList); - } else { - error = CKR_OK; - } - - if( CKR_OK == error ) { - return CKR_OK; - } - - loser: - switch( error ) { - case CKR_DEVICE_REMOVED: - case CKR_TOKEN_NOT_PRESENT: - (void)nssCKFWToken_Destroy(fwToken); - break; - case CKR_BUFFER_TOO_SMALL: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SLOT_ID_INVALID: - case CKR_TOKEN_NOT_RECOGNIZED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetMechanismInfo - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetMechanismInfo -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_MECHANISM_TYPE type, - CK_MECHANISM_INFO_PTR pInfo -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - NSSCKFWToken *fwToken = (NSSCKFWToken *)NULL; - NSSCKFWMechanism *fwMechanism; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (slotID < 1) || (slotID > nSlots) ) { - error = CKR_SLOT_ID_INVALID; - goto loser; - } - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = slots[ slotID-1 ]; - - if( CK_TRUE != nssCKFWSlot_GetTokenPresent(fwSlot) ) { - error = CKR_TOKEN_NOT_PRESENT; - goto loser; - } - - if( (CK_MECHANISM_INFO_PTR)CK_NULL_PTR == pInfo ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(pInfo, 0, sizeof(CK_MECHANISM_INFO)); - - fwToken = nssCKFWSlot_GetToken(fwSlot, &error); - if( (NSSCKFWToken *)NULL == fwToken ) { - goto loser; - } - - fwMechanism = nssCKFWToken_GetMechanism(fwToken, type, &error); - if( (NSSCKFWMechanism *)NULL == fwMechanism ) { - goto loser; - } - - pInfo->ulMinKeySize = nssCKFWMechanism_GetMinKeySize(fwMechanism); - pInfo->ulMaxKeySize = nssCKFWMechanism_GetMaxKeySize(fwMechanism); - - if( nssCKFWMechanism_GetInHardware(fwMechanism) ) { - pInfo->flags |= CKF_HW; - } - - /* More here... */ - - return CKR_OK; - - loser: - switch( error ) { - case CKR_DEVICE_REMOVED: - case CKR_TOKEN_NOT_PRESENT: - (void)nssCKFWToken_Destroy(fwToken); - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_MECHANISM_INVALID: - case CKR_SLOT_ID_INVALID: - case CKR_TOKEN_NOT_RECOGNIZED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_InitToken - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_InitToken -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen, - CK_CHAR_PTR pLabel -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - NSSCKFWToken *fwToken = (NSSCKFWToken *)NULL; - NSSItem pin; - NSSUTF8 *label; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (slotID < 1) || (slotID > nSlots) ) { - error = CKR_SLOT_ID_INVALID; - goto loser; - } - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = slots[ slotID-1 ]; - - if( CK_TRUE != nssCKFWSlot_GetTokenPresent(fwSlot) ) { - error = CKR_TOKEN_NOT_PRESENT; - goto loser; - } - - fwToken = nssCKFWSlot_GetToken(fwSlot, &error); - if( (NSSCKFWToken *)NULL == fwToken ) { - goto loser; - } - - pin.size = (PRUint32)ulPinLen; - pin.data = (void *)pPin; - label = (NSSUTF8 *)pLabel; /* identity conversion */ - - error = nssCKFWToken_InitToken(fwToken, &pin, label); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_DEVICE_REMOVED: - case CKR_TOKEN_NOT_PRESENT: - (void)nssCKFWToken_Destroy(fwToken); - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_PIN_INCORRECT: - case CKR_PIN_LOCKED: - case CKR_SESSION_EXISTS: - case CKR_SLOT_ID_INVALID: - case CKR_TOKEN_NOT_RECOGNIZED: - case CKR_TOKEN_WRITE_PROTECTED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_InitPIN - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_InitPIN -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSItem pin, *arg; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_CHAR_PTR)CK_NULL_PTR == pPin ) { - arg = (NSSItem *)NULL; - } else { - arg = &pin; - pin.size = (PRUint32)ulPinLen; - pin.data = (void *)pPin; - } - - error = nssCKFWSession_InitPIN(fwSession, arg); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_PIN_INVALID: - case CKR_PIN_LEN_RANGE: - case CKR_SESSION_READ_ONLY: - case CKR_SESSION_HANDLE_INVALID: - case CKR_TOKEN_WRITE_PROTECTED: - case CKR_USER_NOT_LOGGED_IN: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_SetPIN - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SetPIN -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_CHAR_PTR pOldPin, - CK_ULONG ulOldLen, - CK_CHAR_PTR pNewPin, - CK_ULONG ulNewLen -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSItem oldPin, newPin, *oldArg, *newArg; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_CHAR_PTR)CK_NULL_PTR == pOldPin ) { - oldArg = (NSSItem *)NULL; - } else { - oldArg = &oldPin; - oldPin.size = (PRUint32)ulOldLen; - oldPin.data = (void *)pOldPin; - } - - if( (CK_CHAR_PTR)CK_NULL_PTR == pNewPin ) { - newArg = (NSSItem *)NULL; - } else { - newArg = &newPin; - newPin.size = (PRUint32)ulNewLen; - newPin.data = (void *)pNewPin; - } - - error = nssCKFWSession_SetPIN(fwSession, oldArg, newArg); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_PIN_INCORRECT: - case CKR_PIN_INVALID: - case CKR_PIN_LEN_RANGE: - case CKR_PIN_LOCKED: - case CKR_SESSION_HANDLE_INVALID: - case CKR_SESSION_READ_ONLY: - case CKR_TOKEN_WRITE_PROTECTED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_OpenSession - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_OpenSession -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID, - CK_FLAGS flags, - CK_VOID_PTR pApplication, - CK_NOTIFY Notify, - CK_SESSION_HANDLE_PTR phSession -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - NSSCKFWToken *fwToken = (NSSCKFWToken *)NULL; - NSSCKFWSession *fwSession; - CK_BBOOL rw; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (slotID < 1) || (slotID > nSlots) ) { - error = CKR_SLOT_ID_INVALID; - goto loser; - } - - if( flags & CKF_RW_SESSION ) { - rw = CK_TRUE; - } else { - rw = CK_FALSE; - } - - if( flags & CKF_SERIAL_SESSION ) { - ; - } else { - error = CKR_SESSION_PARALLEL_NOT_SUPPORTED; - goto loser; - } - - if( flags & ~(CKF_RW_SESSION|CKF_SERIAL_SESSION) ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - if( (CK_SESSION_HANDLE_PTR)CK_NULL_PTR == phSession ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - *phSession = (CK_SESSION_HANDLE)0; - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = slots[ slotID-1 ]; - - if( CK_TRUE != nssCKFWSlot_GetTokenPresent(fwSlot) ) { - error = CKR_TOKEN_NOT_PRESENT; - goto loser; - } - - fwToken = nssCKFWSlot_GetToken(fwSlot, &error); - if( (NSSCKFWToken *)NULL == fwToken ) { - goto loser; - } - - fwSession = nssCKFWToken_OpenSession(fwToken, rw, pApplication, - Notify, &error); - if( (NSSCKFWSession *)NULL == fwSession ) { - goto loser; - } - - *phSession = nssCKFWInstance_CreateSessionHandle(fwInstance, - fwSession, &error); - if( (CK_SESSION_HANDLE)0 == *phSession ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SESSION_COUNT: - case CKR_SESSION_EXISTS: - case CKR_SESSION_PARALLEL_NOT_SUPPORTED: - case CKR_SESSION_READ_WRITE_SO_EXISTS: - case CKR_SLOT_ID_INVALID: - case CKR_TOKEN_NOT_PRESENT: - case CKR_TOKEN_NOT_RECOGNIZED: - case CKR_TOKEN_WRITE_PROTECTED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_CloseSession - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_CloseSession -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - nssCKFWInstance_DestroySessionHandle(fwInstance, hSession); - error = nssCKFWSession_Destroy(fwSession, CK_TRUE); - - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_CloseAllSessions - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_CloseAllSessions -( - NSSCKFWInstance *fwInstance, - CK_SLOT_ID slotID -) -{ - CK_RV error = CKR_OK; - CK_ULONG nSlots; - NSSCKFWSlot **slots; - NSSCKFWSlot *fwSlot; - NSSCKFWToken *fwToken = (NSSCKFWToken *)NULL; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - nSlots = nssCKFWInstance_GetNSlots(fwInstance, &error); - if( (CK_ULONG)0 == nSlots ) { - goto loser; - } - - if( (slotID < 1) || (slotID > nSlots) ) { - error = CKR_SLOT_ID_INVALID; - goto loser; - } - - slots = nssCKFWInstance_GetSlots(fwInstance, &error); - if( (NSSCKFWSlot **)NULL == slots ) { - goto loser; - } - - fwSlot = slots[ slotID-1 ]; - - if( CK_TRUE != nssCKFWSlot_GetTokenPresent(fwSlot) ) { - error = CKR_TOKEN_NOT_PRESENT; - goto loser; - } - - fwToken = nssCKFWSlot_GetToken(fwSlot, &error); - if( (NSSCKFWToken *)NULL == fwToken ) { - goto loser; - } - - error = nssCKFWToken_CloseAllSessions(fwToken); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SLOT_ID_INVALID: - case CKR_TOKEN_NOT_PRESENT: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetSessionInfo - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetSessionInfo -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_SESSION_INFO_PTR pInfo -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWSlot *fwSlot; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_SESSION_INFO_PTR)CK_NULL_PTR == pInfo ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(pInfo, 0, sizeof(CK_SESSION_INFO)); - - fwSlot = nssCKFWSession_GetFWSlot(fwSession); - if( (NSSCKFWSlot *)NULL == fwSlot ) { - error = CKR_GENERAL_ERROR; - goto loser; - } - - pInfo->slotID = nssCKFWSlot_GetSlotID(fwSlot); - pInfo->state = nssCKFWSession_GetSessionState(fwSession); - - if( CK_TRUE == nssCKFWSession_IsRWSession(fwSession) ) { - pInfo->flags |= CKF_RW_SESSION; - } - - pInfo->flags |= CKF_SERIAL_SESSION; /* Always true */ - - pInfo->ulDeviceError = nssCKFWSession_GetDeviceError(fwSession); - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetOperationState - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetOperationState -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG_PTR pulOperationStateLen -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - CK_ULONG len; - NSSItem buf; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_ULONG_PTR)CK_NULL_PTR == pulOperationStateLen ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - len = nssCKFWSession_GetOperationStateLen(fwSession, &error); - if( ((CK_ULONG)0 == len) && (CKR_OK != error) ) { - goto loser; - } - - if( (CK_BYTE_PTR)CK_NULL_PTR == pOperationState ) { - *pulOperationStateLen = len; - return CKR_OK; - } - - if( *pulOperationStateLen < len ) { - *pulOperationStateLen = len; - error = CKR_BUFFER_TOO_SMALL; - goto loser; - } - - buf.size = (PRUint32)*pulOperationStateLen; - buf.data = (void *)pOperationState; - *pulOperationStateLen = len; - error = nssCKFWSession_GetOperationState(fwSession, &buf); - - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_BUFFER_TOO_SMALL: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OPERATION_NOT_INITIALIZED: - case CKR_SESSION_HANDLE_INVALID: - case CKR_STATE_UNSAVEABLE: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_SetOperationState - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SetOperationState -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pOperationState, - CK_ULONG ulOperationStateLen, - CK_OBJECT_HANDLE hEncryptionKey, - CK_OBJECT_HANDLE hAuthenticationKey -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWObject *eKey; - NSSCKFWObject *aKey; - NSSItem state; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - if( (CK_BYTE_PTR)CK_NULL_PTR == pOperationState ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * We could loop through the buffer, to catch any purify errors - * in a place with a "user error" note. - */ - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_OBJECT_HANDLE)0 == hEncryptionKey ) { - eKey = (NSSCKFWObject *)NULL; - } else { - eKey = nssCKFWInstance_ResolveObjectHandle(fwInstance, hEncryptionKey); - if( (NSSCKFWObject *)NULL == eKey ) { - error = CKR_KEY_HANDLE_INVALID; - goto loser; - } - } - - if( (CK_OBJECT_HANDLE)0 == hAuthenticationKey ) { - aKey = (NSSCKFWObject *)NULL; - } else { - aKey = nssCKFWInstance_ResolveObjectHandle(fwInstance, hAuthenticationKey); - if( (NSSCKFWObject *)NULL == aKey ) { - error = CKR_KEY_HANDLE_INVALID; - goto loser; - } - } - - error = nssCKFWSession_SetOperationState(fwSession, &state, eKey, aKey); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_KEY_CHANGED: - case CKR_KEY_NEEDED: - case CKR_KEY_NOT_NEEDED: - case CKR_SAVED_STATE_INVALID: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_Login - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Login -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_USER_TYPE userType, - CK_CHAR_PTR pPin, - CK_ULONG ulPinLen -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSItem pin, *arg; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_CHAR_PTR)CK_NULL_PTR == pPin ) { - arg = (NSSItem *)NULL; - } else { - arg = &pin; - pin.size = (PRUint32)ulPinLen; - pin.data = (void *)pPin; - } - - error = nssCKFWSession_Login(fwSession, userType, arg); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_PIN_EXPIRED: - case CKR_PIN_INCORRECT: - case CKR_PIN_LOCKED: - case CKR_SESSION_HANDLE_INVALID: - case CKR_SESSION_READ_ONLY_EXISTS: - case CKR_USER_ALREADY_LOGGED_IN: - case CKR_USER_ANOTHER_ALREADY_LOGGED_IN: - case CKR_USER_PIN_NOT_INITIALIZED: - case CKR_USER_TOO_MANY_TYPES: - case CKR_USER_TYPE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_Logout - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Logout -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - error = nssCKFWSession_Logout(fwSession); - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SESSION_HANDLE_INVALID: - case CKR_USER_NOT_LOGGED_IN: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_CreateObject - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_CreateObject -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phObject -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWObject *fwObject; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_OBJECT_HANDLE_PTR)CK_NULL_PTR == phObject ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - *phObject = (CK_OBJECT_HANDLE)0; - - fwObject = nssCKFWSession_CreateObject(fwSession, pTemplate, - ulCount, &error); - if( (NSSCKFWObject *)NULL == fwObject ) { - goto loser; - } - - *phObject = nssCKFWInstance_CreateObjectHandle(fwInstance, fwObject, &error); - if( (CK_OBJECT_HANDLE)0 == *phObject ) { - nssCKFWObject_Destroy(fwObject); - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_ATTRIBUTE_READ_ONLY: - case CKR_ATTRIBUTE_TYPE_INVALID: - case CKR_ATTRIBUTE_VALUE_INVALID: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_SESSION_HANDLE_INVALID: - case CKR_SESSION_READ_ONLY: - case CKR_TEMPLATE_INCOMPLETE: - case CKR_TEMPLATE_INCONSISTENT: - case CKR_TOKEN_WRITE_PROTECTED: - case CKR_USER_NOT_LOGGED_IN: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_CopyObject - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_CopyObject -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phNewObject -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWObject *fwObject; - NSSCKFWObject *fwNewObject; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_OBJECT_HANDLE_PTR)CK_NULL_PTR == phNewObject ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - *phNewObject = (CK_OBJECT_HANDLE)0; - - fwObject = nssCKFWInstance_ResolveObjectHandle(fwInstance, hObject); - if( (NSSCKFWObject *)NULL == fwObject ) { - error = CKR_OBJECT_HANDLE_INVALID; - goto loser; - } - - fwNewObject = nssCKFWSession_CopyObject(fwSession, fwObject, - pTemplate, ulCount, &error); - if( (NSSCKFWObject *)NULL == fwNewObject ) { - goto loser; - } - - *phNewObject = nssCKFWInstance_CreateObjectHandle(fwInstance, - fwNewObject, &error); - if( (CK_OBJECT_HANDLE)0 == *phNewObject ) { - nssCKFWObject_Destroy(fwNewObject); - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_ATTRIBUTE_READ_ONLY: - case CKR_ATTRIBUTE_TYPE_INVALID: - case CKR_ATTRIBUTE_VALUE_INVALID: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OBJECT_HANDLE_INVALID: - case CKR_SESSION_HANDLE_INVALID: - case CKR_SESSION_READ_ONLY: - case CKR_TEMPLATE_INCONSISTENT: - case CKR_TOKEN_WRITE_PROTECTED: - case CKR_USER_NOT_LOGGED_IN: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_DestroyObject - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DestroyObject -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWObject *fwObject; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - fwObject = nssCKFWInstance_ResolveObjectHandle(fwInstance, hObject); - if( (NSSCKFWObject *)NULL == fwObject ) { - error = CKR_OBJECT_HANDLE_INVALID; - goto loser; - } - - nssCKFWObject_Destroy(fwObject); - nssCKFWInstance_DestroyObjectHandle(fwInstance, hObject); - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OBJECT_HANDLE_INVALID: - case CKR_SESSION_HANDLE_INVALID: - case CKR_SESSION_READ_ONLY: - case CKR_TOKEN_WRITE_PROTECTED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetObjectSize - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetObjectSize -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ULONG_PTR pulSize -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWObject *fwObject; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - fwObject = nssCKFWInstance_ResolveObjectHandle(fwInstance, hObject); - if( (NSSCKFWObject *)NULL == fwObject ) { - error = CKR_OBJECT_HANDLE_INVALID; - goto loser; - } - - if( (CK_ULONG_PTR)CK_NULL_PTR == pulSize ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - *pulSize = (CK_ULONG)0; - - *pulSize = nssCKFWObject_GetObjectSize(fwObject, &error); - if( ((CK_ULONG)0 == *pulSize) && (CKR_OK != error) ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_INFORMATION_SENSITIVE: - case CKR_OBJECT_HANDLE_INVALID: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetAttributeValue - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetAttributeValue -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWObject *fwObject; - CK_BBOOL sensitive = CK_FALSE; - CK_BBOOL invalid = CK_FALSE; - CK_BBOOL tooSmall = CK_FALSE; - CK_ULONG i; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - fwObject = nssCKFWInstance_ResolveObjectHandle(fwInstance, hObject); - if( (NSSCKFWObject *)NULL == fwObject ) { - error = CKR_OBJECT_HANDLE_INVALID; - goto loser; - } - - if( (CK_ATTRIBUTE_PTR)CK_NULL_PTR == pTemplate ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - for( i = 0; i < ulCount; i++ ) { - CK_ULONG size = nssCKFWObject_GetAttributeSize(fwObject, - pTemplate[i].type, &error); - if( (CK_ULONG)0 == size ) { - switch( error ) { - case CKR_ATTRIBUTE_SENSITIVE: - case CKR_INFORMATION_SENSITIVE: - sensitive = CK_TRUE; - pTemplate[i].ulValueLen = (CK_ULONG)(-1); - continue; - case CKR_ATTRIBUTE_TYPE_INVALID: - invalid = CK_TRUE; - pTemplate[i].ulValueLen = (CK_ULONG)(-1); - continue; - case CKR_OK: - break; - default: - goto loser; - } - } - - if( (CK_VOID_PTR)CK_NULL_PTR == pTemplate[i].pValue ) { - pTemplate[i].ulValueLen = size; - } else { - NSSItem it, *p; - - if( pTemplate[i].ulValueLen < size ) { - tooSmall = CK_TRUE; - continue; - } - - it.size = (PRUint32)pTemplate[i].ulValueLen; - it.data = (void *)pTemplate[i].pValue; - p = nssCKFWObject_GetAttribute(fwObject, pTemplate[i].type, &it, - (NSSArena *)NULL, &error); - if( (NSSItem *)NULL == p ) { - switch( error ) { - case CKR_ATTRIBUTE_SENSITIVE: - case CKR_INFORMATION_SENSITIVE: - sensitive = CK_TRUE; - pTemplate[i].ulValueLen = (CK_ULONG)(-1); - continue; - case CKR_ATTRIBUTE_TYPE_INVALID: - invalid = CK_TRUE; - pTemplate[i].ulValueLen = (CK_ULONG)(-1); - continue; - default: - goto loser; - } - } - - pTemplate[i].ulValueLen = size; - } - } - - if( sensitive ) { - error = CKR_ATTRIBUTE_SENSITIVE; - goto loser; - } else if( invalid ) { - error = CKR_ATTRIBUTE_TYPE_INVALID; - goto loser; - } else if( tooSmall ) { - error = CKR_BUFFER_TOO_SMALL; - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_ATTRIBUTE_SENSITIVE: - case CKR_ATTRIBUTE_TYPE_INVALID: - case CKR_BUFFER_TOO_SMALL: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OBJECT_HANDLE_INVALID: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_SetAttributeValue - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SetAttributeValue -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hObject, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWObject *fwObject; - NSSCKFWObject *newFwObject; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - fwObject = nssCKFWInstance_ResolveObjectHandle(fwInstance, hObject); - if( (NSSCKFWObject *)NULL == fwObject ) { - error = CKR_OBJECT_HANDLE_INVALID; - goto loser; - } - - if( (CK_ATTRIBUTE_PTR)CK_NULL_PTR == pTemplate ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - newFwObject = nssCKFWSession_CopyObject(fwSession, fwObject, pTemplate, - ulCount, &error); - if( (NSSCKFWObject *)NULL == newFwObject ) { - goto loser; - } - - error = nssCKFWInstance_ReassignObjectHandle(fwInstance, hObject, newFwObject); - nssCKFWObject_Destroy(fwObject); - - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_ATTRIBUTE_READ_ONLY: - case CKR_ATTRIBUTE_TYPE_INVALID: - case CKR_ATTRIBUTE_VALUE_INVALID: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OBJECT_HANDLE_INVALID: - case CKR_SESSION_HANDLE_INVALID: - case CKR_SESSION_READ_ONLY: - case CKR_TEMPLATE_INCONSISTENT: - case CKR_TOKEN_WRITE_PROTECTED: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_FindObjectsInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_FindObjectsInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWFindObjects *fwFindObjects; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( ((CK_ATTRIBUTE_PTR)CK_NULL_PTR == pTemplate) && (ulCount != 0) ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - fwFindObjects = nssCKFWSession_GetFWFindObjects(fwSession, &error); - if( (NSSCKFWFindObjects *)NULL != fwFindObjects ) { - error = CKR_OPERATION_ACTIVE; - goto loser; - } - - if( CKR_OPERATION_NOT_INITIALIZED != error ) { - goto loser; - } - - fwFindObjects = nssCKFWSession_FindObjectsInit(fwSession, - pTemplate, ulCount, &error); - if( (NSSCKFWFindObjects *)NULL == fwFindObjects ) { - goto loser; - } - - error = nssCKFWSession_SetFWFindObjects(fwSession, fwFindObjects); - - if( CKR_OK != error ) { - nssCKFWFindObjects_Destroy(fwFindObjects); - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_ATTRIBUTE_TYPE_INVALID: - case CKR_ATTRIBUTE_VALUE_INVALID: - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OPERATION_ACTIVE: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_FindObjects - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_FindObjects -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE_PTR phObject, - CK_ULONG ulMaxObjectCount, - CK_ULONG_PTR pulObjectCount -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWFindObjects *fwFindObjects; - CK_ULONG i; - NSSArena *arena; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - arena = nssCKFWSession_GetArena(fwSession, &error); - if( (NSSArena *)NULL == arena ) { - goto loser; - } - - if( (CK_OBJECT_HANDLE_PTR)CK_NULL_PTR == phObject ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(phObject, 0, sizeof(CK_OBJECT_HANDLE) * ulMaxObjectCount); - *pulObjectCount = (CK_ULONG)0; - - fwFindObjects = nssCKFWSession_GetFWFindObjects(fwSession, &error); - if( (NSSCKFWFindObjects *)NULL == fwFindObjects ) { - goto loser; - } - - for( i = 0; i < ulMaxObjectCount; i++ ) { - NSSCKFWObject *fwObject = nssCKFWFindObjects_Next(fwFindObjects, - arena, &error); - if( (NSSCKFWObject *)NULL == fwObject ) { - break; - } - - phObject[i] = nssCKFWInstance_FindObjectHandle(fwInstance, fwObject); - if( (CK_OBJECT_HANDLE)0 == phObject[i] ) { - phObject[i] = nssCKFWInstance_CreateObjectHandle(fwInstance, fwObject, &error); - } - if( (CK_OBJECT_HANDLE)0 == phObject[i] ) { - /* This isn't right either, is it? */ - nssCKFWObject_Destroy(fwObject); - goto loser; - } - } - - *pulObjectCount = i; - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OPERATION_NOT_INITIALIZED: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_FindObjectsFinal - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_FindObjectsFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSCKFWFindObjects *fwFindObjects; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - fwFindObjects = nssCKFWSession_GetFWFindObjects(fwSession, &error); - if( (NSSCKFWFindObjects *)NULL == fwFindObjects ) { - error = CKR_OPERATION_NOT_INITIALIZED; - goto loser; - } - - nssCKFWFindObjects_Destroy(fwFindObjects); - error = nssCKFWSession_SetFWFindObjects(fwSession, (NSSCKFWFindObjects *)NULL); - - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OPERATION_NOT_INITIALIZED: - case CKR_SESSION_HANDLE_INVALID: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_EncryptInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_EncryptInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_Encrypt - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Encrypt -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pEncryptedData, - CK_ULONG_PTR pulEncryptedDataLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_EncryptUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_EncryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_EncryptFinal - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_EncryptFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastEncryptedPart, - CK_ULONG_PTR pulLastEncryptedPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DecryptInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DecryptInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_Decrypt - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Decrypt -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedData, - CK_ULONG ulEncryptedDataLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DecryptUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DecryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DecryptFinal - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DecryptFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pLastPart, - CK_ULONG_PTR pulLastPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DigestInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DigestInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_Digest - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Digest -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DigestUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DigestUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DigestKey - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DigestKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_OBJECT_HANDLE hKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DigestFinal - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DigestFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pDigest, - CK_ULONG_PTR pulDigestLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_SignInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SignInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_Sign - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Sign -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_SignUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SignUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_SignFinal - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SignFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_SignRecoverInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SignRecoverInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_SignRecover - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SignRecover -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG_PTR pulSignatureLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_VerifyInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_VerifyInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_Verify - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_Verify -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pData, - CK_ULONG ulDataLen, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_VerifyUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_VerifyUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_VerifyFinal - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_VerifyFinal -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_VerifyRecoverInit - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_VerifyRecoverInit -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_VerifyRecover - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_VerifyRecover -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSignature, - CK_ULONG ulSignatureLen, - CK_BYTE_PTR pData, - CK_ULONG_PTR pulDataLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DigestEncryptUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DigestEncryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DecryptDigestUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DecryptDigestUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_SignEncryptUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SignEncryptUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pPart, - CK_ULONG ulPartLen, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG_PTR pulEncryptedPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DecryptVerifyUpdate - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DecryptVerifyUpdate -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pEncryptedPart, - CK_ULONG ulEncryptedPartLen, - CK_BYTE_PTR pPart, - CK_ULONG_PTR pulPartLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_GenerateKey - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GenerateKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_GenerateKeyPair - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GenerateKeyPair -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_ATTRIBUTE_PTR pPublicKeyTemplate, - CK_ULONG ulPublicKeyAttributeCount, - CK_ATTRIBUTE_PTR pPrivateKeyTemplate, - CK_ULONG ulPrivateKeyAttributeCount, - CK_OBJECT_HANDLE_PTR phPublicKey, - CK_OBJECT_HANDLE_PTR phPrivateKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_WrapKey - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_WrapKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hWrappingKey, - CK_OBJECT_HANDLE hKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG_PTR pulWrappedKeyLen -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_UnwrapKey - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_UnwrapKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hUnwrappingKey, - CK_BYTE_PTR pWrappedKey, - CK_ULONG ulWrappedKeyLen, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_DeriveKey - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_DeriveKey -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_MECHANISM_PTR pMechanism, - CK_OBJECT_HANDLE hBaseKey, - CK_ATTRIBUTE_PTR pTemplate, - CK_ULONG ulAttributeCount, - CK_OBJECT_HANDLE_PTR phKey -) -{ - return CKR_FUNCTION_FAILED; -} - -/* - * NSSCKFWC_SeedRandom - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_SeedRandom -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pSeed, - CK_ULONG ulSeedLen -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSItem seed; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_BYTE_PTR)CK_NULL_PTR == pSeed ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* We could read through the buffer in a Purify trap */ - - seed.size = (PRUint32)ulSeedLen; - seed.data = (void *)pSeed; - - error = nssCKFWSession_SeedRandom(fwSession, &seed); - - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_CANCELED: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OPERATION_ACTIVE: - case CKR_RANDOM_SEED_NOT_SUPPORTED: - case CKR_RANDOM_NO_RNG: - case CKR_SESSION_HANDLE_INVALID: - case CKR_USER_NOT_LOGGED_IN: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GenerateRandom - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GenerateRandom -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession, - CK_BYTE_PTR pRandomData, - CK_ULONG ulRandomLen -) -{ - CK_RV error = CKR_OK; - NSSCKFWSession *fwSession; - NSSItem buffer; - - if( (NSSCKFWInstance *)NULL == fwInstance ) { - error = CKR_CRYPTOKI_NOT_INITIALIZED; - goto loser; - } - - fwSession = nssCKFWInstance_ResolveSessionHandle(fwInstance, hSession); - if( (NSSCKFWSession *)NULL == fwSession ) { - error = CKR_SESSION_HANDLE_INVALID; - goto loser; - } - - if( (CK_BYTE_PTR)CK_NULL_PTR == pRandomData ) { - error = CKR_ARGUMENTS_BAD; - goto loser; - } - - /* - * A purify error here indicates caller error. - */ - (void)nsslibc_memset(pRandomData, 0, ulRandomLen); - - buffer.size = (PRUint32)ulRandomLen; - buffer.data = (void *)pRandomData; - - error = nssCKFWSession_GetRandom(fwSession, &buffer); - - if( CKR_OK != error ) { - goto loser; - } - - return CKR_OK; - - loser: - switch( error ) { - case CKR_SESSION_CLOSED: - /* destroy session? */ - break; - case CKR_DEVICE_REMOVED: - /* (void)nssCKFWToken_Destroy(fwToken); */ - break; - case CKR_CRYPTOKI_NOT_INITIALIZED: - case CKR_DEVICE_ERROR: - case CKR_DEVICE_MEMORY: - case CKR_FUNCTION_CANCELED: - case CKR_FUNCTION_FAILED: - case CKR_GENERAL_ERROR: - case CKR_HOST_MEMORY: - case CKR_OPERATION_ACTIVE: - case CKR_RANDOM_NO_RNG: - case CKR_SESSION_HANDLE_INVALID: - case CKR_USER_NOT_LOGGED_IN: - break; - default: - case CKR_OK: - error = CKR_GENERAL_ERROR; - break; - } - - return error; -} - -/* - * NSSCKFWC_GetFunctionStatus - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_GetFunctionStatus -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -) -{ - return CKR_FUNCTION_NOT_PARALLEL; -} - -/* - * NSSCKFWC_CancelFunction - * - */ -NSS_IMPLEMENT CK_RV -NSSCKFWC_CancelFunction -( - NSSCKFWInstance *fwInstance, - CK_SESSION_HANDLE hSession -) -{ - return CKR_FUNCTION_NOT_PARALLEL; -} |