/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* jar object */ typedefstruct JAR_ {
jarArch format; /* physical archive format */
char *url; /* Where it came from */ char *filename; /* Disk location */
FILE *fp; /* For multiple extractions */ /* JAR_FILE */
/* various linked lists */
ZZList *manifest; /* Digests of MF sections */
ZZList *hashes; /* Digests of actual signed files */
ZZList *phy; /* Physical layout of JAR file */
ZZList *metainfo; /* Global metainfo */
JAR_Digest *globalmeta; /* digest of .MF global portion */
/* Below will change to a linked list to support multiple sigs */ int pkcs7; /* Enforced opaqueness */ int valid; /* PKCS7 signature validated */
ZZList *signers; /* the above, per signer */
/* Window context, very necessary for PKCS11 now */ void *mw; /* MWContext window context */
/* Signal callback function */
jar_settable_callback_fn *signal;
} JAR;
/* *Iterator * *Contextforiterativeoperations.Certainoperations *requireiteratingmultiplelinkedlistsbecauseof *multiplesigners."nextsign"isusedforthispurpose. *
*/ typedefstruct JAR_Context_ {
JAR *jar; /* Jar we are searching */ char *pattern; /* Regular expression */
jarType finding; /* Type of item to find */
ZZLink *next; /* Next item in find */
ZZLink *nextsign; /* Next signer, sometimes */
} JAR_Context;
typedefstruct JAR_Signer_ { int pkcs7; /* Enforced opaqueness */ int valid; /* PKCS7 signature validated */ char *owner; /* name of .RSA file */
JAR_Digest *digest; /* of .SF file */
ZZList *sf; /* Linked list of .SF file contents */
ZZList *certs; /* Signing information */
} JAR_Signer;
/* Meta informaton, or "policy", from the manifest file.
Right now just one tuple per JAR_Item. */ typedefstruct JAR_Metainfo_ { char *header; char *info;
} JAR_Metainfo;
/* This should not be global */ typedefstruct JAR_Physical_ { unsignedchar compression; unsignedlong offset; unsignedlong length; unsignedlong uncompressed_length; #ifdefined(XP_UNIX)
PRUint16 mode; #endif
} JAR_Physical;
/* save the certificate with this fingerprint in persistent storage,somewhere,forretrievalinafuturesessionwhenthere
is no corresponding JAR structure. */ externint PR_CALLBACK
JAR_stash_cert(JAR *jar, long keylen, void *key);
/* retrieve a certificate presumably stashed with the above
function, but may be any certificate. Type is &CERTCertificate */
CERTCertificate *
JAR_fetch_cert(long length, void *key);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.