зеркало из https://github.com/mozilla/gecko-dev.git
251 строка
5.3 KiB
C
251 строка
5.3 KiB
C
/*
|
|
* The contents of this file are subject to the Netscape Public License
|
|
* Version 1.0 (the "NPL"); you may not use this file except in
|
|
* compliance with the NPL. You may obtain a copy of the NPL at
|
|
* http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the NPL is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
|
* for the specific language governing rights and limitations under the
|
|
* NPL.
|
|
*
|
|
* The Initial Developer of this code under the NPL is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
|
* Reserved.
|
|
*/
|
|
#ifndef _SECSTUBN_H_
|
|
#define _SECSTUBN_H_
|
|
|
|
#include "xp.h"
|
|
#include "ntypes.h"
|
|
#include "net.h"
|
|
|
|
typedef struct _digests DIGESTS;
|
|
typedef struct _zig ZIG;
|
|
typedef struct _zigcontext ZIG_Context;
|
|
typedef struct _peheader PEHeader;
|
|
|
|
typedef struct SOBITEM_ {
|
|
char *pathname;
|
|
int type;
|
|
size_t size;
|
|
void *data;
|
|
} SOBITEM;
|
|
|
|
typedef struct FINGERZIG_ {
|
|
size_t length;
|
|
void *key;
|
|
CERTCertificate *cert;
|
|
} FINGERZIG;
|
|
|
|
#define ZIG_CB_SIGNAL 1
|
|
#define ZIG_SIGN 10
|
|
#define ZIG_F_GUESS 0
|
|
#define ZIG_MF 2
|
|
#define ZIG_ERR_PNF 12
|
|
|
|
/* certificate stuff */
|
|
|
|
#define ZIG_C_COMPANY 1
|
|
#define ZIG_C_CA 2
|
|
#define ZIG_C_SERIAL 3
|
|
#define ZIG_C_EXPIRES 4
|
|
#define ZIG_C_NICKNAME 5
|
|
#define ZIG_C_FP 6
|
|
#define ZIG_C_JAVA 100
|
|
|
|
SEC_BEGIN_PROTOS
|
|
|
|
void
|
|
SECNAV_Posting(PRFileDesc *fd);
|
|
|
|
void
|
|
SECNAV_HTTPHead(PRFileDesc *fd);
|
|
|
|
void
|
|
SECNAV_RegisterNetlibMimeConverters();
|
|
|
|
char *
|
|
SECNAV_MungeString(const char *unmunged_string);
|
|
|
|
char *
|
|
SECNAV_UnMungeString(const char *munged_string);
|
|
|
|
PRBool
|
|
SECNAV_GenKeyFromChoice(void *proto_win, LO_Element *form,
|
|
char *choiceString, char *challenge,
|
|
char *typeString, char *pqgString,
|
|
char **pValue, PRBool *pDone);
|
|
|
|
char **
|
|
SECNAV_GetKeyChoiceList(char *type, char *pqgString);
|
|
|
|
PRBool
|
|
SECNAV_SecurityDialog(MWContext *context, int state);
|
|
|
|
void
|
|
NET_InitCertLdapProtocol(void);
|
|
const char *
|
|
|
|
SECNAV_GetPolicyNameString(void);
|
|
|
|
int
|
|
SECNAV_InitConfigObject(void);
|
|
|
|
int
|
|
SECNAV_RunInitialSecConfig(void);
|
|
|
|
void
|
|
SECNAV_EarlyInit(void);
|
|
|
|
void
|
|
SECNAV_Init(void);
|
|
|
|
void
|
|
SECNAV_Shutdown(void);
|
|
|
|
void
|
|
SECNAV_SecurityAdvisor(void *proto_win, URL_Struct *url);
|
|
|
|
char *
|
|
SECNAV_MakeCertButtonString(CERTCertificate *cert);
|
|
|
|
int
|
|
SECNAV_SecURLData(char *which, NET_StreamClass *stream, MWContext *cx);
|
|
|
|
char *
|
|
SECNAV_SecURLContentType(char *which);
|
|
|
|
int
|
|
SECNAV_SecHandleSecurityAdvisorURL(MWContext *cx, const char *which);
|
|
|
|
void
|
|
SECNAV_HandleInternalSecURL(URL_Struct *url, MWContext *cx);
|
|
|
|
SECStatus
|
|
SECNAV_ComputeFortezzaProxyChallengeResponse(MWContext *context,
|
|
char *asciiChallenge,
|
|
char **signature_out,
|
|
char **clientRan_out,
|
|
char **certChain_out);
|
|
|
|
char *
|
|
SECNAV_PrettySecurityStatus(int level, unsigned char *status);
|
|
|
|
char *
|
|
SECNAV_SecurityVersion(PRBool longForm);
|
|
|
|
char *
|
|
SECNAV_SSLCapabilities(void);
|
|
|
|
unsigned char *
|
|
SECNAV_SSLSocketStatus(PRFileDesc *fd, int *return_security_level);
|
|
|
|
unsigned char *
|
|
SECNAV_CopySSLSocketStatus(unsigned char *status);
|
|
|
|
unsigned int
|
|
SECNAV_SSLSocketStatusLength(unsigned char *status);
|
|
|
|
char *
|
|
SECNAV_SSLSocketCertString(unsigned char *status);
|
|
|
|
PRBool
|
|
SECNAV_CompareCertsForRedirection(unsigned char *status1,
|
|
unsigned char *status2);
|
|
|
|
CERTCertificate *
|
|
SECNAV_CertFromSSLSocketStatus(unsigned char *status);
|
|
|
|
|
|
DIGESTS *PR_CALLBACK
|
|
SOB_calculate_digest(void XP_HUGE *data, long length);
|
|
|
|
int PR_CALLBACK
|
|
SOB_verify_digest(ZIG *siglist, const char *name, DIGESTS *dig);
|
|
|
|
void PR_CALLBACK
|
|
SOB_destroy (ZIG *zig);
|
|
|
|
char *
|
|
SOB_get_error (int status);
|
|
|
|
ZIG_Context *
|
|
SOB_find(ZIG *zig, char *pattern, int type);
|
|
|
|
int
|
|
SOB_find_next(ZIG_Context *ctx, SOBITEM **it);
|
|
|
|
void
|
|
SOB_find_end(ZIG_Context *ctx);
|
|
|
|
char *
|
|
SOB_get_url (ZIG *zig);
|
|
|
|
ZIG *
|
|
SOB_new (void);
|
|
|
|
int
|
|
SOB_set_callback (int type, ZIG *zig,
|
|
int (*fn) (int status, ZIG *zig,
|
|
const char *metafile,
|
|
char *pathname, char *errortext));
|
|
|
|
int PR_CALLBACK
|
|
SOB_cert_attribute(int attrib, ZIG *zig, long keylen, void *key,
|
|
void **result, unsigned long *length);
|
|
|
|
int PR_CALLBACK
|
|
SOB_stash_cert(ZIG *zig, long keylen, void *key);
|
|
|
|
int SOB_parse_manifest(char XP_HUGE *raw_manifest, long length,
|
|
const char *path, const char *url, ZIG *zig);
|
|
|
|
void
|
|
SECNAV_signedAppletPrivileges(void *proto_win, char *javaPrin,
|
|
char *javaTarget, char *risk, PRBool isCert);
|
|
|
|
void
|
|
SECNAV_signedAppletPrivilegesOnMozillaThread(void *proto_win, char *javaPrin,
|
|
char *javaTarget, char *risk, PRBool isCert);
|
|
|
|
char *
|
|
SOB_JAR_list_certs (void);
|
|
|
|
int
|
|
SOB_JAR_validate_archive (char *filename);
|
|
|
|
void *
|
|
SOB_JAR_new_hash (int alg);
|
|
|
|
void *
|
|
SOB_JAR_hash (int alg, void *cookie, int length, void *data);
|
|
|
|
void *
|
|
SOB_JAR_end_hash (int alg, void *cookie);
|
|
|
|
int
|
|
SOB_JAR_sign_archive (char *nickname, char *password, char *sf, char *outsig);
|
|
|
|
int
|
|
SOB_set_context (ZIG *zig, MWContext *mw);
|
|
|
|
int
|
|
SOB_pass_archive(int format, char *filename, const char *url, ZIG *zig);
|
|
|
|
int
|
|
SOB_get_metainfo(ZIG *zig, char *name, char *header, void **info,
|
|
unsigned long *length);
|
|
|
|
int
|
|
SOB_verified_extract(ZIG *zig, char *path, char *outpath);
|
|
|
|
NET_StreamClass *
|
|
SECNAV_MakePreencryptedWriteStream(FO_Present_Types format_out, void *data,
|
|
URL_Struct *url, MWContext *window_id);
|
|
|
|
SEC_END_PROTOS
|
|
|
|
#endif /* _SECSTUBN_H_ */
|