windows-nt/Source/XPSP1/NT/ds/security/services/ca/certlib/keygen.h
2020-09-26 16:20:57 +08:00

87 lines
2.3 KiB
C

/***************************************************/
/* Copyright (C) Microsoft Corporation, 1996 - 1999*/
/***************************************************/
/* Abstract syntax: keygen */
/* Created: Mon Jan 27 13:51:10 1997 */
/* ASN.1 compiler version: 4.2 Beta B */
/* Target operating system: Windows NT 3.5 or later/Windows 95 */
/* Target machine type: Intel x86 */
/* C compiler options required: -Zp8 (Microsoft) or equivalent */
/* ASN.1 compiler options specified:
* -listingfile keygen.lst -noshortennames -1990 -noconstraints
*/
#ifndef OSS_keygen
#define OSS_keygen
#include "asn1hdr.h"
#include "asn1code.h"
#define RSAPublicKey_PDU 1
#define SubjectPublicKeyInfo_PDU 2
#define SignedContent_PDU 3
#define SignedPublicKeyAndChallenge_PDU 4
typedef struct ObjectID {
unsigned short count;
unsigned long value[16];
} ObjectID;
typedef struct HUGEINTEGER {
unsigned int length;
unsigned char *value;
} HUGEINTEGER;
typedef struct BITSTRING {
unsigned int length; /* number of significant bits */
unsigned char *value;
} BITSTRING;
typedef struct IA5STRING {
unsigned int length;
char *value;
} IA5STRING;
typedef struct AlgorithmIdentifier {
unsigned char bit_mask;
# define parameters_present 0x80
ObjectID algorithm;
OpenType parameters; /* optional */
} AlgorithmIdentifier;
typedef struct RSAPublicKey {
HUGEINTEGER modulus;
int publicExponent;
} RSAPublicKey;
typedef struct SubjectPublicKeyInfo {
AlgorithmIdentifier algorithm;
BITSTRING subjectPublicKey;
} SubjectPublicKeyInfo;
typedef struct SignedContent {
OpenType toBeSigned;
AlgorithmIdentifier algorithm;
BITSTRING signature;
} SignedContent;
typedef struct PublicKeyAndChallenge {
SubjectPublicKeyInfo spki;
IA5STRING challenge;
} PublicKeyAndChallenge;
typedef struct _bit1 {
unsigned int length; /* number of significant bits */
unsigned char *value;
} _bit1;
typedef struct SignedPublicKeyAndChallenge {
PublicKeyAndChallenge publicKeyAndChallenge;
AlgorithmIdentifier signatureAlgorithm;
_bit1 signature;
} SignedPublicKeyAndChallenge;
extern void *keygen; /* encoder-decoder control table */
#endif /* OSS_keygen */