mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-29 11:57:32 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
186
security/nss/lib/crmf/crmft.h
Normal file
186
security/nss/lib/crmf/crmft.h
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
/* -*- Mode: C; tab-width: 8 -*-*/
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* Header file with all of the structures and types that will be exported
|
||||
* by the security library for implementation of CRMF.
|
||||
*/
|
||||
|
||||
#ifndef _CRMFT_H_
|
||||
#define _CRMFT_H_
|
||||
|
||||
/* Use these enumerated values for adding fields to the certificate request */
|
||||
typedef enum {
|
||||
crmfVersion = 0,
|
||||
crmfSerialNumber = 1,
|
||||
crmfSigningAlg = 2,
|
||||
crmfIssuer = 3,
|
||||
crmfValidity = 4,
|
||||
crmfSubject = 5,
|
||||
crmfPublicKey = 6,
|
||||
crmfIssuerUID = 7,
|
||||
crmfSubjectUID = 8,
|
||||
crmfExtension = 9
|
||||
} CRMFCertTemplateField;
|
||||
|
||||
/*
|
||||
* An enumeration for the different types of controls.
|
||||
*/
|
||||
typedef enum {
|
||||
crmfNoControl = 0,
|
||||
crmfRegTokenControl = 1,
|
||||
crmfAuthenticatorControl = 2,
|
||||
crmfPKIPublicationInfoControl = 3,
|
||||
crmfPKIArchiveOptionsControl = 4,
|
||||
crmfOldCertIDControl = 5,
|
||||
crmfProtocolEncrKeyControl = 6
|
||||
} CRMFControlType;
|
||||
|
||||
/*
|
||||
* The possible values that are passed into CRMF_CreatePKIPublicationInfo
|
||||
*/
|
||||
typedef enum {
|
||||
crmfDontPublish = 0,
|
||||
crmfPleasePublish = 1
|
||||
} CRMFPublicationAction;
|
||||
|
||||
/*
|
||||
* An enumeration for the possible for pubMethod which is a part of
|
||||
* the SinglePubInfo ASN1 type.
|
||||
*/
|
||||
typedef enum {
|
||||
crmfDontCare = 0,
|
||||
crmfX500 = 1,
|
||||
crmfWeb = 2,
|
||||
crmfLdap = 3
|
||||
} CRMFPublicationMethod;
|
||||
|
||||
/*
|
||||
* An enumeration for the different options for PKIArchiveOptions type.
|
||||
*/
|
||||
typedef enum {
|
||||
crmfNoArchiveOptions = 0,
|
||||
crmfEncryptedPrivateKey = 1,
|
||||
crmfKeyGenParameters = 2,
|
||||
crmfArchiveRemGenPrivKey = 3
|
||||
} CRMFPKIArchiveOptionsType;
|
||||
|
||||
/*
|
||||
* An enumeration for the different options for ProofOfPossession
|
||||
*/
|
||||
typedef enum {
|
||||
crmfNoPOPChoice = 0,
|
||||
crmfRAVerified = 1,
|
||||
crmfSignature = 2,
|
||||
crmfKeyEncipherment = 3,
|
||||
crmfKeyAgreement = 4
|
||||
} CRMFPOPChoice;
|
||||
|
||||
/*
|
||||
* An enumertion type for options for the authInfo field of the
|
||||
* CRMFPOPOSigningKeyInput structure.
|
||||
*/
|
||||
typedef enum {
|
||||
crmfSender = 0,
|
||||
crmfPublicKeyMAC = 1
|
||||
} CRMFPOPOSkiInputAuthChoice;
|
||||
|
||||
/*
|
||||
* An enumeration for the SubsequentMessage Options.
|
||||
*/
|
||||
typedef enum {
|
||||
crmfNoSubseqMess = 0,
|
||||
crmfEncrCert = 1,
|
||||
crmfChallengeResp = 2
|
||||
} CRMFSubseqMessOptions;
|
||||
|
||||
/*
|
||||
* An enumeration for the choice used by POPOPrivKey.
|
||||
*/
|
||||
typedef enum {
|
||||
crmfNoMessage = 0,
|
||||
crmfThisMessage = 1,
|
||||
crmfSubsequentMessage = 2,
|
||||
crmfDHMAC = 3
|
||||
} CRMFPOPOPrivKeyChoice;
|
||||
|
||||
/*
|
||||
* An enumeration for the choices for the EncryptedKey type.
|
||||
*/
|
||||
typedef enum {
|
||||
crmfNoEncryptedKeyChoice = 0,
|
||||
crmfEncryptedValueChoice = 1,
|
||||
crmfEnvelopedDataChoice = 2
|
||||
} CRMFEncryptedKeyChoice;
|
||||
|
||||
/*
|
||||
* TYPE: CRMFEncoderOutputCallback
|
||||
* This function type defines a prototype for a function that the CRMF
|
||||
* library expects when encoding is performed.
|
||||
*
|
||||
* ARGUMENTS:
|
||||
* arg
|
||||
* This will be a pointer the user passed into an encoding function.
|
||||
* The user of the library is free to use this pointer in any way.
|
||||
* The most common use is to keep around a buffer for writing out
|
||||
* the DER encoded bytes.
|
||||
* buf
|
||||
* The DER encoded bytes that should be written out.
|
||||
* len
|
||||
* The number of DER encoded bytes to write out.
|
||||
*
|
||||
*/
|
||||
typedef void (*CRMFEncoderOutputCallback)(void *arg,
|
||||
const char *buf,
|
||||
unsigned long len);
|
||||
|
||||
/*
|
||||
* Type for the function that gets a password. Just in case we ever
|
||||
* need to support publicKeyMAC for POPOSigningKeyInput
|
||||
*/
|
||||
typedef SECItem *(*CRMFMACPasswordCallback)(void *arg);
|
||||
|
||||
typedef struct CRMFOptionalValidityStr CRMFOptionalValidity;
|
||||
typedef struct CRMFValidityCreationInfoStr CRMFGetValidity;
|
||||
typedef struct CRMFCertTemplateStr CRMFCertTemplate;
|
||||
typedef struct CRMFCertRequestStr CRMFCertRequest;
|
||||
typedef struct CRMFCertReqMsgStr CRMFCertReqMsg;
|
||||
typedef struct CRMFCertReqMessagesStr CRMFCertReqMessages;
|
||||
typedef struct CRMFProofOfPossessionStr CRMFProofOfPossession;
|
||||
typedef struct CRMFPOPOSigningKeyStr CRMFPOPOSigningKey;
|
||||
typedef struct CRMFPOPOSigningKeyInputStr CRMFPOPOSigningKeyInput;
|
||||
typedef struct CRMFPOPOPrivKeyStr CRMFPOPOPrivKey;
|
||||
typedef struct CRMFPKIPublicationInfoStr CRMFPKIPublicationInfo;
|
||||
typedef struct CRMFSinglePubInfoStr CRMFSinglePubInfo;
|
||||
typedef struct CRMFPKIArchiveOptionsStr CRMFPKIArchiveOptions;
|
||||
typedef struct CRMFEncryptedKeyStr CRMFEncryptedKey;
|
||||
typedef struct CRMFEncryptedValueStr CRMFEncryptedValue;
|
||||
typedef struct CRMFCertIDStr CRMFCertID;
|
||||
typedef struct CRMFCertIDStr CRMFOldCertID;
|
||||
typedef CERTSubjectPublicKeyInfo CRMFProtocolEncrKey;
|
||||
typedef struct CRMFValidityCreationInfoStr CRMFValidityCreationInfo;
|
||||
typedef struct CRMFCertExtCreationInfoStr CRMFCertExtCreationInfo;
|
||||
typedef struct CRMFPKMACValueStr CRMFPKMACValue;
|
||||
typedef struct CRMFAttributeStr CRMFAttribute;
|
||||
typedef struct CRMFControlStr CRMFControl;
|
||||
typedef CERTGeneralName CRMFGeneralName;
|
||||
typedef struct CRMFCertExtensionStr CRMFCertExtension;
|
||||
|
||||
struct CRMFValidityCreationInfoStr {
|
||||
PRTime *notBefore;
|
||||
PRTime *notAfter;
|
||||
};
|
||||
|
||||
struct CRMFCertExtCreationInfoStr {
|
||||
CRMFCertExtension **extensions;
|
||||
int numExtensions;
|
||||
};
|
||||
|
||||
/*
|
||||
* Some ASN1 Templates that may be needed.
|
||||
*/
|
||||
extern const SEC_ASN1Template CRMFCertReqMessagesTemplate[];
|
||||
extern const SEC_ASN1Template CRMFCertRequestTemplate[];
|
||||
|
||||
#endif /*_CRMFT_H_*/
|
||||
Loading…
Add table
Add a link
Reference in a new issue