ssmdefs.h

来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· C头文件 代码 · 共 332 行

H
332
字号
/* -*- mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- *//*  * 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 __SSMDEFS_H__#define __SSMDEFS_H__/* Basic type definitions for both client and server. */typedef long CMInt32;typedef unsigned long CMUint32;typedef long SSMResourceID;typedef int SSMStatus;#define PSM_PORT                        11111#define PSM_DATA_PORT                   11113 /* needs to be removed */ typedef enum _CMTStatus {  CMTFailure = -1,  CMTSuccess = 0} CMTStatus;typedef enum {   CM_FALSE = 0,   CM_TRUE = 1} CMBool; typedef struct CMTItemStr {  CMUint32 type;  unsigned char *data;  unsigned int len;} CMTItem;/* A length-encoded string. */struct _SSMString {  CMUint32 m_length;  char m_data;};typedef struct _SSMString SSMString;#define SSM_PROTOCOL_VERSION 0x00000051#define SSM_INVALID_RESOURCE 0x00000000#define SSM_GLOBAL_RESOURCE  0x00000001#define SSM_SESSION_RESOURCE 0x00000002/* Message category flags */#define SSM_REQUEST_MESSAGE     0x10000000#define SSM_REPLY_OK_MESSAGE    0x20000000#define SSM_REPLY_ERR_MESSAGE   0x30000000#define SSM_EVENT_MESSAGE       0x40000000/* Message types */#define SSM_DATA_CONNECTION   0x00001000#define SSM_OBJECT_SIGNING    0x00002000#define SSM_RESOURCE_ACTION   0x00003000#define SSM_CERT_ACTION       0x00004000#define SSM_PKCS11_ACTION     0x00005000#define SSM_CRMF_ACTION       0x00006000#define SSM_FORMSIGN_ACTION   0x00007000#define SSM_LOCALIZED_TEXT    0x00008000#define SSM_HELLO_MESSAGE     0x00009000#define SSM_SECURITY_ADVISOR  0x0000a000#define SSM_SEC_CFG_ACTION    0x0000b000#define SSM_KEYGEN_TAG        0x0000c000#define SSM_PREF_ACTION       0x0000d000#define SSM_MISC_ACTION       0x0000f000/* Data connection messages subtypes */ #define SSM_SSL_CONNECTION      0x00000100#define SSM_PKCS7DECODE_STREAM  0x00000200#define SSM_PKCS7ENCODE_STREAM  0x00000300#define SSM_HASH_STREAM         0x00000400#define SSM_TLS_CONNECTION      0x00000500#define SSM_PROXY_CONNECTION    0x00000600/* Object signing message subtypes */#define SSM_VERIFY_RAW_SIG      0x00000100#define SSM_VERIFY_DETACHED_SIG 0x00000200#define SSM_CREATE_SIGNED       0x00000300#define SSM_CREATE_ENCRYPTED    0x00000400/* Resource access messages subtypes  */#define SSM_CREATE_RESOURCE           0x00000100#define SSM_DESTROY_RESOURCE          0x00000200#define SSM_GET_ATTRIBUTE             0x00000300#define SSM_CONSERVE_RESOURCE         0x00000400#define SSM_DUPLICATE_RESOURCE        0x00000500#define SSM_SET_ATTRIBUTE             0x00000600#define SSM_TLS_STEPUP                0x00000700#define SSM_PROXY_STEPUP              0x00000800/* Further specification for resource access messages */#define SSM_SSLSocket_Status    0x00000010#define SSM_NO_ATTRIBUTE        0x00000000#define SSM_NUMERIC_ATTRIBUTE   0x00000010#define SSM_STRING_ATTRIBUTE    0x00000020#define SSM_RID_ATTRIBUTE       0x00000030#define SSM_PICKLE_RESOURCE             0x00000010#define SSM_UNPICKLE_RESOURCE           0x00000020#define SSM_PICKLE_SECURITY_STATUS      0x00000030/* Certificate access message subtypes */#define SSM_IMPORT_CERT         0x00000100#define SSM_VERIFY_CERT         0x00000200#define SSM_FIND_BY_NICKNAME    0x00000300#define SSM_FIND_BY_KEY         0x00000400#define SSM_FIND_BY_EMAILADDR   0x00000500#define SSM_ADD_TO_DB           0x00000600#define SSM_DECODE_CERT         0x00000700#define SSM_MATCH_USER_CERT     0x00000800#define SSM_DESTROY_CERT        0x00000900#define SSM_DECODE_TEMP_CERT    0x00000a00#define SSM_REDIRECT_COMPARE    0x00000b00#define SSM_DECODE_CRL          0x00000c00#define SSM_EXTENSION_VALUE     0x00000d00#define SSM_HTML_INFO           0x00000e00/* message subtypes used for KEYGEN form tag */#define SSM_GET_KEY_CHOICE       0x00000100#define SSM_KEYGEN_START         0x00000200#define SSM_KEYGEN_TOKEN         0x00000300#define SSM_KEYGEN_PASSWORD      0x00000400#define SSM_KEYGEN_DONE          0x00000500#define SSM_CREATE_KEY_PAIR    0x00000100#define SSM_FINISH_KEY_GEN     0x00000200#define SSM_ADD_NEW_MODULE     0x00000300#define SSM_DEL_MODULE         0x00000400#define SSM_LOGOUT_ALL         0x00000500#define SSM_ENABLED_CIPHERS    0x00000600#define SSM_CREATE_CRMF_REQ    0x00000100#define SSM_DER_ENCODE_REQ     0x00000200#define SSM_PROCESS_CMMF_RESP  0x00000300#define SSM_CHALLENGE          0x00000400#define SSM_SIGN_TEXT  0x00000100/* Security Config subtypes */#define SSM_ADD_CERT_TO_TEMP_DB     0x00000100#define SSM_ADD_TEMP_CERT_TO_DB     0x00000200#define SSM_DELETE_PERM_CERTS       0x00000300#define SSM_FIND_CERT_KEY           0x00000400#define SSM_GET_CERT_PROP_BY_KEY    0x00000500#define SSM_CERT_INDEX_ENUM         0x00000600/* subcategories for SSM_FIND_CERT_KEY and SSM_CERT_INDEX_ENUM */#define SSM_FIND_KEY_BY_NICKNAME    0x00000010#define SSM_FIND_KEY_BY_EMAIL_ADDR  0x00000020#define SSM_FIND_KEY_BY_DN          0x00000030/* subcategories for SSM_GET_CERT_PROP_BY_KEY */#define SSM_SECCFG_GET_NICKNAME      0x00000010#define SSM_SECCFG_GET_EMAIL_ADDR    0x00000020#define SSM_SECCFG_GET_DN            0x00000030#define SSM_SECCFG_GET_TRUST         0x00000040#define SSM_SECCFG_CERT_IS_PERM      0x00000050#define SSM_SECCFG_GET_NOT_BEFORE    0x00000060#define SSM_SECCFG_GET_NOT_AFTER     0x00000070#define SSM_SECCFG_GET_SERIAL_NO     0x00000080#define SSM_SECCFG_GET_ISSUER        0x00000090#define SSM_SECCFG_GET_ISSUER_KEY    0x000000a0#define SSM_SECCFG_GET_SUBJECT_NEXT  0x000000b0#define SSM_SECCFG_GET_SUBJECT_PREV  0x000000c0/* Misc requests */#define SSM_MISC_GET_RNG_DATA      0x00000100#define SSM_MISC_PUT_RNG_DATA      0x00000200#define SSM_MISC_SDR_ENCRYPT       0x00000300#define SSM_MISC_SDR_DECRYPT       0x00000400#define SSM_MISC_UI                0x00000500/* specific UI requests */#define SSM_UI_CHANGE_PASSWORD     0x00000010#define SSM_SDR_ENCRYPT_REQUEST \  (SSM_REQUEST_MESSAGE|SSM_MISC_ACTION|SSM_MISC_SDR_ENCRYPT)#define SSM_SDR_ENCRYPT_REPLY \  (SSM_REPLY_OK_MESSAGE|SSM_MISC_ACTION|SSM_MISC_SDR_ENCRYPT)#define SSM_SDR_DECRYPT_REQUEST \  (SSM_REQUEST_MESSAGE|SSM_MISC_ACTION|SSM_MISC_SDR_DECRYPT)#define SSM_SDR_DECRYPT_REPLY \  (SSM_REPLY_OK_MESSAGE|SSM_MISC_ACTION|SSM_MISC_SDR_DECRYPT)/* Type masks for message types */#define SSM_CATEGORY_MASK   0xF0000000#define SSM_TYPE_MASK       0x0000F000#define SSM_SUBTYPE_MASK    0x00000F00#define SSM_SPECIFIC_MASK   0x000000F0typedef struct SSMAttributeValue {  CMUint32 type;  union {    SSMResourceID rid;    CMTItem string;    CMInt32 numeric;  } u;} SSMAttributeValue;typedef enum {  rsaEnc, rsaDualUse, rsaSign, rsaNonrepudiation, rsaSignNonrepudiation,  dhEx, dsaSignNonrepudiation, dsaSign, dsaNonrepudiation, invalidKeyGen} SSMKeyGenType;typedef enum {  ssmUnknownPolicy= -1,ssmDomestic=0, ssmExport=1, ssmFrance=2} SSMPolicyType;/* These are the localized strings that PSM can feed back to  * the plug-in.  These will initially be used by the plug-in for  * JavaScript purposes to pop up alert/confirm dialogs that would  * cause nightmares to do if we sent UI events. */typedef enum {  SSM_STRING_BAD_PK11_LIB_PARAM,  SSM_STRING_BAD_PK11_LIB_PATH,  SSM_STRING_ADD_MOD_SUCCESS,  SSM_STRING_DUP_MOD_FAILURE,  SSM_STRING_ADD_MOD_FAILURE,  SSM_STRING_BAD_MOD_NAME,  SSM_STRING_EXT_MOD_DEL,  SSM_STRING_INT_MOD_DEL,  SSM_STRING_MOD_DEL_FAIL,  SSM_STRING_ADD_MOD_WARN,  SSM_STRING_MOD_PROMPT,  SSM_STRING_DLL_PROMPT,  SSM_STRING_DEL_MOD_WARN,  SSM_STRING_INVALID_CRL,  SSM_STRING_INVALID_CKL,  SSM_STRING_ROOT_CKL_CERT_NOT_FOUND,  SSM_STRING_BAD_CRL_SIGNATURE,  SSM_STRING_BAD_CKL_SIGNATURE,  SSM_STRING_ERR_ADD_CRL,  SSM_STRING_ERR_ADD_CKL,  SSM_STRING_JAVASCRIPT_DISABLED} SSMLocalizedString;/* Event types */#define SSM_UI_EVENT                    0x00001000#define SSM_TASK_COMPLETED_EVENT        0x00002000#define SSM_FILE_PATH_EVENT             0x00003000#define SSM_PROMPT_EVENT                0x00004000#define SSM_AUTH_EVENT                  0x00007000#define SSM_SAVE_PREF_EVENT             0x00008000#define SSM_MISC_EVENT                  0x0000f000/* Flags used in Create SSL Data request */#define SSM_REQUEST_SSL_DATA_SSL         0x00000001#define SSM_REQUEST_SSL_DATA_PROXY       0x00000002#define SSM_REQUEST_SSL_CONNECTION_MASK  0x00000003/* Create typedefs for the various #defines */typedef CMUint32 SSMMessageCategory;typedef CMUint32 SSMMessageType;typedef CMUint32 SSMDataConnectionSType;typedef CMUint32 SSMObjSignSType;typedef CMUint32 SSMResourceAccessSType;typedef CMUint32 SSMCreateResource;typedef CMUint32 SSMResourceAttrType;typedef CMUint32 SSMResourceConsv;typedef CMUint32 SSMCertAccessSType;typedef CMUint32 SSMKeyGenTagProcessType;typedef CMUint32 SSMPKCS11Actions;typedef CMUint32 SSMCRMFAction;typedef CMUint32 SSMFormSignAction;typedef CMUint32 SSMSecCfgAction;typedef CMUint32 SSMSecCfgFindByType;typedef CMUint32 SSMSecCfgGetCertPropType;typedef CMUint32 SSMMiscRequestType;typedef CMUint32 SSMMessageMaskType;typedef CMUint32 SSMEventType;typedef CMUint32 SSMSSLConnectionRequestType;/* * This string is version that can be used to assemble any * version information by the apllication using the protocol  * library. */extern char SSMVersionString[];#ifdef __cplusplusextern "C" {char * SSM_GetVersionString(void);#endif#ifdef __cplusplus}#endif/* What type of client */typedef enum{    SSM_NOINFO,    SSM_COMPOSE,    SSM_MAIL_MESSAGE,    SSM_NEWS_MESSAGE,    SSM_SNEWS_MESSAGE,    SSM_BROWSER} SSMClientType;#endif /* __SSMDEFS_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?