зеркало из https://github.com/mozilla/pjs.git
replace missing header files.
This commit is contained in:
Родитель
01209545ec
Коммит
a94c630a38
|
@ -0,0 +1,190 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* 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 the Initial Developer are Copyright (C) 1994-2000
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
* Portions created by Red Hat, Inc, are Copyright (C) 2005
|
||||
*
|
||||
* Contributor(s):
|
||||
* Bob Relyea (rrelyea@redhat.com)
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifndef CKCAPI_H
|
||||
#define CKCAPI_H 1
|
||||
|
||||
#ifdef DEBUG
|
||||
static const char CKCAPI_CVS_ID[] = "@(#) $RCSfile: ckcapi.h,v $ $Revision: 1.1 $ $Date: 2005-11-04 23:44:19 $";
|
||||
#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 */
|
||||
|
||||
#include "WTypes.h"
|
||||
#include "WinCrypt.h"
|
||||
|
||||
struct ckcapiRawObjectStr {
|
||||
CK_ULONG n;
|
||||
const CK_ATTRIBUTE_TYPE *types;
|
||||
const NSSItem *items;
|
||||
};
|
||||
typedef struct ckcapiRawObjectStr ckcapiRawObject;
|
||||
|
||||
struct ckcapiCertObjectStr {
|
||||
CK_OBJECT_CLASS objClass;
|
||||
PCCERT_CONTEXT certContext;
|
||||
PRBool hasID;
|
||||
NSSItem hashKey;
|
||||
NSSItem label;
|
||||
NSSItem subject;
|
||||
NSSItem issuer;
|
||||
NSSItem serial;
|
||||
NSSItem derCert;
|
||||
NSSItem id;
|
||||
NSSItem modulus;
|
||||
NSSItem exponent;
|
||||
NSSItem privateExponent;
|
||||
NSSItem prime1;
|
||||
NSSItem prime2;
|
||||
NSSItem exponent1;
|
||||
NSSItem exponent2;
|
||||
NSSItem coefficient;
|
||||
void *privateKey;
|
||||
/* static data: to do, make these dynamic like privateKey */
|
||||
unsigned char idData[256];
|
||||
unsigned char hashKeyData[128];
|
||||
unsigned char derSerial[128];
|
||||
unsigned char labelData[256];
|
||||
};
|
||||
typedef struct ckcapiCertObjectStr ckcapiCertObject;
|
||||
|
||||
typedef enum {
|
||||
ckcapiRaw,
|
||||
ckcapiCert
|
||||
} ckcapiObjectType;
|
||||
|
||||
struct ckcapiInternalObjectStr {
|
||||
ckcapiObjectType type;
|
||||
union {
|
||||
ckcapiRawObject raw;
|
||||
ckcapiCertObject cert;
|
||||
} u;
|
||||
NSSCKMDObject mdObject;
|
||||
};
|
||||
typedef struct ckcapiInternalObjectStr ckcapiInternalObject;
|
||||
|
||||
NSS_EXTERN_DATA ckcapiInternalObject nss_ckcapi_data[];
|
||||
NSS_EXTERN_DATA const PRUint32 nss_ckcapi_nObjects;
|
||||
|
||||
NSS_EXTERN_DATA const CK_VERSION nss_ckcapi_CryptokiVersion;
|
||||
NSS_EXTERN_DATA const NSSUTF8 * nss_ckcapi_ManufacturerID;
|
||||
NSS_EXTERN_DATA const NSSUTF8 * nss_ckcapi_LibraryDescription;
|
||||
NSS_EXTERN_DATA const CK_VERSION nss_ckcapi_LibraryVersion;
|
||||
NSS_EXTERN_DATA const NSSUTF8 * nss_ckcapi_SlotDescription;
|
||||
NSS_EXTERN_DATA const CK_VERSION nss_ckcapi_HardwareVersion;
|
||||
NSS_EXTERN_DATA const CK_VERSION nss_ckcapi_FirmwareVersion;
|
||||
NSS_EXTERN_DATA const NSSUTF8 * nss_ckcapi_TokenLabel;
|
||||
NSS_EXTERN_DATA const NSSUTF8 * nss_ckcapi_TokenModel;
|
||||
NSS_EXTERN_DATA const NSSUTF8 * nss_ckcapi_TokenSerialNumber;
|
||||
|
||||
NSS_EXTERN_DATA const NSSCKMDInstance nss_ckcapi_mdInstance;
|
||||
NSS_EXTERN_DATA const NSSCKMDSlot nss_ckcapi_mdSlot;
|
||||
NSS_EXTERN_DATA const NSSCKMDToken nss_ckcapi_mdToken;
|
||||
NSS_EXTERN_DATA const NSSCKMDMechanism nss_ckcapi_mdMechanismRSA;
|
||||
|
||||
NSS_EXTERN NSSCKMDSession *
|
||||
nss_ckcapi_CreateSession
|
||||
(
|
||||
NSSCKFWSession *fwSession,
|
||||
CK_RV *pError
|
||||
);
|
||||
|
||||
NSS_EXTERN NSSCKMDFindObjects *
|
||||
nss_ckcapi_FindObjectsInit
|
||||
(
|
||||
NSSCKFWSession *fwSession,
|
||||
CK_ATTRIBUTE_PTR pTemplate,
|
||||
CK_ULONG ulAttributeCount,
|
||||
CK_RV *pError
|
||||
);
|
||||
|
||||
NSS_EXTERN NSSCKMDObject *
|
||||
nss_ckcapi_CreateMDObject
|
||||
(
|
||||
NSSArena *arena,
|
||||
ckcapiInternalObject *io,
|
||||
CK_RV *pError
|
||||
);
|
||||
|
||||
/*
|
||||
* unwrap a single DER value
|
||||
*/
|
||||
char *
|
||||
nss_ckcapi_DERUnwrap
|
||||
(
|
||||
char *src,
|
||||
int size,
|
||||
int *outSize,
|
||||
char **next
|
||||
);
|
||||
|
||||
const NSSItem *
|
||||
nss_ckcapi_FetchAttribute(
|
||||
ckcapiInternalObject *io,
|
||||
CK_ATTRIBUTE_TYPE type
|
||||
);
|
||||
|
||||
/*
|
||||
* So everyone else in the worlds stores their bignum data MSB first, but not
|
||||
* Microsoft, we need to byte swap everything coming into and out of CAPI.
|
||||
*/
|
||||
void
|
||||
ckcapi_ReverseData(NSSItem *item);
|
||||
|
||||
void
|
||||
nss_ckcapi_DestroyInternalObject(ckcapiInternalObject *io);
|
||||
|
||||
#define NSS_CKCAPI_ARRAY_SIZE(x) ((sizeof (x))/(sizeof ((x)[0])))
|
||||
|
||||
#endif
|
|
@ -36,7 +36,7 @@
|
|||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
#ifdef DEBUG
|
||||
static const char CVS_ID[] = "@(#) $RCSfile: cobject.c,v $ $Revision: 1.1 $ $Date: 2005-11-04 02:05:04 $";
|
||||
static const char CVS_ID[] = "@(#) $RCSfile: cobject.c,v $ $Revision: 1.2 $ $Date: 2005-11-04 23:44:19 $";
|
||||
#endif /* DEBUG */
|
||||
|
||||
#include "ckcapi.h"
|
||||
|
@ -692,7 +692,10 @@ ckcapi_FetchPrivKeyAttribute(ckcapiInternalObject *io,
|
|||
}
|
||||
|
||||
const NSSItem *
|
||||
nss_ckcapi_FetchAttribute(ckcapiInternalObject *io, CK_ATTRIBUTE_TYPE type)
|
||||
nss_ckcapi_FetchAttribute(
|
||||
ckcapiInternalObject *io,
|
||||
CK_ATTRIBUTE_TYPE type
|
||||
)
|
||||
{
|
||||
CK_ULONG i;
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifdef DEBUG
|
||||
static const char CVS_ID[] = "@(#) $RCSfile: crsa.c,v $ $Revision: 1.1 $ $Date: 2005-11-04 02:05:04 $";
|
||||
static const char CVS_ID[] = "@(#) $RCSfile: crsa.c,v $ $Revision: 1.2 $ $Date: 2005-11-04 23:44:19 $";
|
||||
#endif /* DEBUG */
|
||||
|
||||
#include "ckcapi.h"
|
||||
|
@ -245,7 +245,7 @@ ckcapi_GetRawHash
|
|||
}
|
||||
|
||||
/*
|
||||
* So everyone else in the works stores their bignum data MSB first, but not
|
||||
* So everyone else in the worlds stores their bignum data MSB first, but not
|
||||
* Microsoft, we need to byte swap everything coming into and out of CAPI.
|
||||
*/
|
||||
void
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
;+#
|
||||
;+# ***** BEGIN LICENSE BLOCK *****
|
||||
;+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
;+#
|
||||
;+# 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 the Initial Developer are Copyright (C) 2003
|
||||
;+# the Initial Developer. All Rights Reserved.
|
||||
;+#
|
||||
;+# Contributor(s):
|
||||
;+#
|
||||
;+# Alternatively, the contents of this file may be used under the terms of
|
||||
;+# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
;+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
;+# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
;+# of those above. If you wish to allow use of your version of this file only
|
||||
;+# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
;+# use your version of this file under the terms of the MPL, indicate your
|
||||
;+# decision by deleting the provisions above and replace them with the notice
|
||||
;+# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
;+# the provisions above, a recipient may use your version of this file under
|
||||
;+# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
;+#
|
||||
;+# ***** END LICENSE BLOCK *****
|
||||
;+#
|
||||
;+# OK, this file is meant to support SUN, LINUX, AIX and WINDOWS
|
||||
;+# 1. For all unix platforms, the string ";-" means "remove this line"
|
||||
;+# 2. For all unix platforms, the string " DATA " will be removed from any
|
||||
;+# line on which it occurs.
|
||||
;+# 3. Lines containing ";+" will have ";+" removed on SUN and LINUX.
|
||||
;+# On AIX, lines containing ";+" will be removed.
|
||||
;+# 4. For all unix platforms, the string ";;" will thave the ";;" removed.
|
||||
;+# 5. For all unix platforms, after the above processing has taken place,
|
||||
;+# all characters after the first ";" on the line will be removed.
|
||||
;+# And for AIX, the first ";" will also be removed.
|
||||
;+# This file is passed directly to windows. Since ';' is a comment, all UNIX
|
||||
;+# directives are hidden behind ";", ";+", and ";-"
|
||||
;+
|
||||
;+NSS_3.1 { # NSS 3.1 release
|
||||
;+ global:
|
||||
LIBRARY nsscapi ;-
|
||||
EXPORTS ;-
|
||||
C_GetFunctionList;
|
||||
;+ local:
|
||||
;+*;
|
||||
;+};
|
|
@ -0,0 +1,75 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* 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 the Initial Developer are Copyright (C) 1994-2000
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
* Portions created by Red Hat, Inc, are Copyright (C) 2005
|
||||
*
|
||||
* Contributor(s):
|
||||
* Bob Relyea (rrelyea@redhat.com)
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifndef NSSCAPI_H
|
||||
#define NSSCAPI_H
|
||||
|
||||
/*
|
||||
* NSS CKCAPI Version numbers.
|
||||
*
|
||||
* These are the version numbers for the capi module packaged with
|
||||
* this release on NSS. To determine the version numbers of the builtin
|
||||
* module you are using, use the appropriate PKCS #11 calls.
|
||||
*
|
||||
* These version numbers detail changes to the PKCS #11 interface. They map
|
||||
* to the PKCS #11 spec versions.
|
||||
*/
|
||||
#define NSS_CKCAPI_CRYPTOKI_VERSION_MAJOR 2
|
||||
#define NSS_CKCAPI_CRYPTOKI_VERSION_MINOR 20
|
||||
|
||||
/* These version numbers detail the changes
|
||||
* to the list of trusted certificates.
|
||||
*
|
||||
* NSS_CKCAPI_LIBRARY_VERSION_MINOR is a CK_BYTE. It's not clear
|
||||
* whether we may use its full range (0-255) or only 0-99 because
|
||||
* of the comment in the CK_VERSION type definition.
|
||||
*/
|
||||
#define NSS_CKCAPI_LIBRARY_VERSION_MAJOR 1
|
||||
#define NSS_CKCAPI_LIBRARY_VERSION_MINOR 1
|
||||
#define NSS_CKCAPI_LIBRARY_VERSION "1.1"
|
||||
|
||||
/* These version numbers detail the semantic changes to the ckfw engine. */
|
||||
#define NSS_CKCAPI_HARDWARE_VERSION_MAJOR 1
|
||||
#define NSS_CKCAPI_HARDWARE_VERSION_MINOR 0
|
||||
|
||||
/* These version numbers detail the semantic changes to ckbi itself
|
||||
* (new PKCS #11 objects), etc. */
|
||||
#define NSS_CKCAPI_FIRMWARE_VERSION_MAJOR 1
|
||||
#define NSS_CKCAPI_FIRMWARE_VERSION_MINOR 0
|
||||
|
||||
#endif /* NSSCKBI_H */
|
|
@ -0,0 +1,97 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* 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 the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "nsscapi.h"
|
||||
#include <winver.h>
|
||||
|
||||
#define MY_LIBNAME "nsscapi"
|
||||
#define MY_FILEDESCRIPTION "NSS Access to Microsoft CAPI"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define MY_DEBUG_STR " (debug)"
|
||||
#define MY_FILEFLAGS_1 VS_FF_DEBUG
|
||||
#else
|
||||
#define MY_DEBUG_STR ""
|
||||
#define MY_FILEFLAGS_1 0x0L
|
||||
#endif
|
||||
#if NSS_BETA
|
||||
#define MY_FILEFLAGS_2 MY_FILEFLAGS_1|VS_FF_PRERELEASE
|
||||
#else
|
||||
#define MY_FILEFLAGS_2 MY_FILEFLAGS_1
|
||||
#endif
|
||||
|
||||
#ifdef WINNT
|
||||
#define MY_FILEOS VOS_NT_WINDOWS32
|
||||
#else
|
||||
#define MY_FILEOS VOS__WINDOWS32
|
||||
#endif
|
||||
|
||||
#define MY_INTERNAL_NAME MY_LIBNAME
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version-information resource
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION NSS_CKCAPI_LIBRARY_VERSION_MAJOR,NSS_CKCAPI_LIBRARY_VERSION_MINOR,0,0
|
||||
PRODUCTVERSION NSS_CKCAPI_LIBRARY_VERSION_MAJOR,NSS_CKCAPI_LIBRARY_VERSION_MINOR,0,0
|
||||
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||
FILEFLAGS MY_FILEFLAGS_2
|
||||
FILEOS MY_FILEOS
|
||||
FILETYPE VFT_DLL
|
||||
FILESUBTYPE 0x0L // not used
|
||||
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904B0" // Lang=US English, CharSet=Unicode
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Mozilla Foundation\0"
|
||||
VALUE "FileDescription", MY_FILEDESCRIPTION MY_DEBUG_STR "\0"
|
||||
VALUE "FileVersion", NSS_CKCAPI_LIBRARY_VERSION "\0"
|
||||
VALUE "InternalName", MY_INTERNAL_NAME "\0"
|
||||
VALUE "LegalCopyright", "Copyright \251 1994-2005 Netscape Communications Corporation\0"
|
||||
VALUE "OriginalFilename", MY_INTERNAL_NAME ".dll\0"
|
||||
VALUE "ProductName", "Network Security Services\0"
|
||||
VALUE "ProductVersion", NSS_CKCAPI_LIBRARY_VERSION "\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
Загрузка…
Ссылка в новой задаче