003 File Manager
Current Path:
/usr/include
usr
/
include
/
📁
..
📄
Block.h
(1.96 KB)
📄
Block_private.h
(5.94 KB)
📄
FlexLexer.h
(6.73 KB)
📄
_ctype.h
(5.98 KB)
📄
_semaphore.h
(2.05 KB)
📄
a.out.h
(1.88 KB)
📄
aio.h
(7.69 KB)
📄
alias.h
(8.51 KB)
📄
ar.h
(2.69 KB)
📄
archive.h
(51.93 KB)
📄
archive_entry.h
(32.79 KB)
📁
arpa
📄
asn1-common.h
(2.06 KB)
📄
asn1_err.h
(1.07 KB)
📄
assert.h
(2.93 KB)
📁
atf-c
📁
atf-c++
📄
atf-c++.hpp
(1.49 KB)
📄
atf-c.h
(1.5 KB)
📄
base64.h
(1.99 KB)
📄
be.h
(5.32 KB)
📄
bitstring.h
(1.53 KB)
📄
blacklist.h
(2.2 KB)
📄
bluetooth.h
(6.65 KB)
📄
bsdxml.h
(40.5 KB)
📄
bsdxml_external.h
(5.4 KB)
📁
bsm
📁
bsnmp
📄
bzlib.h
(6.09 KB)
📁
c++
📄
calendar.h
(1.83 KB)
📁
cam
📄
camlib.h
(7.39 KB)
📄
capsicum_helpers.h
(4.33 KB)
📁
casper
📄
cms_asn1.h
(27.2 KB)
📄
com_err.h
(2.62 KB)
📄
com_right.h
(2.8 KB)
📄
complex.h
(4.68 KB)
📄
cpio.h
(2.4 KB)
📄
crmf_asn1.h
(13.31 KB)
📁
crypto
📄
ctype.h
(4.59 KB)
📄
curses.h
(97.92 KB)
📄
cuse.h
(3.26 KB)
📄
db.h
(7.49 KB)
📄
der-private.h
(1.29 KB)
📄
der-protos.h
(10.5 KB)
📄
der.h
(3.08 KB)
📁
dev
📄
devctl.h
(2.02 KB)
📁
devdctl
📄
devinfo.h
(4.52 KB)
📄
devstat.h
(5.2 KB)
📄
dialog.h
(37.7 KB)
📄
digest_asn1.h
(17.01 KB)
📄
dirent.h
(4.13 KB)
📄
dlfcn.h
(5.04 KB)
📄
dlg_colors.h
(6.87 KB)
📄
dlg_config.h
(2.64 KB)
📄
dlg_keys.h
(5.23 KB)
📄
dpv.h
(5.76 KB)
📄
dtrace.h
(23.64 KB)
📄
dwarf.h
(20.09 KB)
📁
edit
📄
efivar-dp.h
(2.58 KB)
📄
efivar.h
(3.75 KB)
📄
elf-hints.h
(1.96 KB)
📄
elf.h
(1.59 KB)
📄
err.h
(2.98 KB)
📄
errno.h
(8.29 KB)
📄
eti.h
(2.9 KB)
📄
execinfo.h
(1.92 KB)
📄
fcntl.h
(12.02 KB)
📄
fenv.h
(8.19 KB)
📄
fetch.h
(4.87 KB)
📄
figpar.h
(3.84 KB)
📄
float.h
(86 B)
📄
floatingpoint.h
(2.01 KB)
📄
fmtmsg.h
(2.76 KB)
📄
fmtutils.h
(2.19 KB)
📄
fnmatch.h
(2.32 KB)
📄
form.h
(18.37 KB)
📁
fs
📄
fstab.h
(3.03 KB)
📄
fts.h
(5.47 KB)
📄
ftw.h
(2.26 KB)
📁
gcc
📄
gelf.h
(5 KB)
📁
geom
📄
getarg.h
(3.15 KB)
📄
getopt.h
(2.73 KB)
📄
glob.h
(4.21 KB)
📄
grp.h
(3.21 KB)
📁
gssapi
📄
gssapi.h
(158 B)
📄
hdb-protos.h
(7.24 KB)
📄
hdb.h
(9.85 KB)
📄
hdb_asn1.h
(16.72 KB)
📄
hdb_err.h
(944 B)
📄
heim_asn1.h
(2.33 KB)
📄
heim_err.h
(1.46 KB)
📄
heim_threads.h
(6.91 KB)
📄
heimbase.h
(5.1 KB)
📄
heimntlm-protos.h
(3.78 KB)
📄
heimntlm.h
(4.85 KB)
📄
hex.h
(2.08 KB)
📄
histedit.h
(9.16 KB)
📄
hx509-private.h
(9.39 KB)
📄
hx509-protos.h
(22.53 KB)
📄
hx509.h
(5.88 KB)
📄
hx509_err.h
(3.04 KB)
📄
iconv.h
(4.23 KB)
📄
ieeefp.h
(261 B)
📄
ifaddrs.h
(2.09 KB)
📁
infiniband
📄
inttypes.h
(2.2 KB)
📄
iso646.h
(1.67 KB)
📁
isofs
📄
jail.h
(2.46 KB)
📄
k524_err.h
(724 B)
📁
kadm5
📄
kafs.h
(7.09 KB)
📄
kdc-protos.h
(2.25 KB)
📄
kdc.h
(3.5 KB)
📄
kenv.h
(1.58 KB)
📁
krb5
📄
krb5-private.h
(12.91 KB)
📄
krb5-protos.h
(113.43 KB)
📄
krb5-types.h
(1.48 KB)
📄
krb5.h
(29.75 KB)
📄
krb5_asn1.h
(70.51 KB)
📄
krb5_ccapi.h
(7.52 KB)
📄
krb5_err.h
(7.37 KB)
📄
kvm.h
(4.11 KB)
📄
kx509_asn1.h
(4.61 KB)
📄
langinfo.h
(3.95 KB)
📁
lib80211
📁
lib9p
📄
libcasper.h
(6.53 KB)
📄
libcasper_service.h
(2.5 KB)
📄
libdwarf.h
(32.98 KB)
📄
libelf.h
(7.72 KB)
📄
libgen.h
(2.65 KB)
📄
libgeom.h
(4.47 KB)
📄
libgpio.h
(3.48 KB)
📁
libipt
📁
libmilter
📄
libnetmap.h
(24.54 KB)
📄
libproc.h
(5.51 KB)
📄
libprocstat.h
(7.57 KB)
📄
librss.h
(2.96 KB)
📄
libufs.h
(5.08 KB)
📄
libusb.h
(22.05 KB)
📄
libusb20.h
(12.45 KB)
📄
libusb20_desc.h
(17.6 KB)
📄
libutil.h
(8.04 KB)
📁
libxo
📄
libzfs.h
(32.8 KB)
📄
libzfs_core.h
(5.1 KB)
📄
libzfsbootenv.h
(1.22 KB)
📄
limits.h
(4.7 KB)
📄
link.h
(1.71 KB)
📄
linker_set.h
(3.85 KB)
📄
locale.h
(2.64 KB)
📄
login_cap.h
(6.25 KB)
📁
lzma
📄
lzma.h
(9.63 KB)
📁
machine
📄
magic.h
(5.64 KB)
📄
malloc.h
(102 B)
📄
malloc_np.h
(5.04 KB)
📄
math.h
(13.92 KB)
📄
md4.h
(2.31 KB)
📄
md5.h
(810 B)
📄
memory.h
(1.68 KB)
📄
memstat.h
(7.26 KB)
📄
menu.h
(11.99 KB)
📄
monetary.h
(1.88 KB)
📄
mp.h
(857 B)
📄
mpool.h
(4.16 KB)
📄
mqueue.h
(2.22 KB)
📄
mtlib.h
(4.22 KB)
📄
ncurses.h
(97.92 KB)
📄
ncurses_dll.h
(4.42 KB)
📄
ndbm.h
(2.67 KB)
📁
net
📁
net80211
📄
netconfig.h
(3.71 KB)
📄
netdb.h
(10.78 KB)
📁
netgraph
📄
netgraph.h
(3.02 KB)
📁
netinet
📁
netinet6
📁
netipsec
📁
netnatm
📁
netpfil
📁
netsmb
📁
nfs
📁
nfsclient
📁
nfsserver
📄
nl_types.h
(2.94 KB)
📄
nlist.h
(2.13 KB)
📄
nss.h
(2.32 KB)
📄
nsswitch.h
(7.16 KB)
📄
ntlm_err.h
(970 B)
📄
ocsp_asn1.h
(14.58 KB)
📄
omp.h
(15.76 KB)
📁
opencsd
📁
openssl
📄
opie.h
(5.57 KB)
📄
osreldate.h
(1.51 KB)
📄
panel.h
(4.1 KB)
📄
parse_bytes.h
(2.13 KB)
📄
parse_time.h
(2.19 KB)
📄
parse_units.h
(2.73 KB)
📄
pathconv.h
(1.64 KB)
📄
paths.h
(5.16 KB)
📁
pcap
📄
pcap-bpf.h
(2.24 KB)
📄
pcap-namedb.h
(1.98 KB)
📄
pcap-netmap.h
(126 B)
📄
pcap.h
(2.17 KB)
📄
pkcs10_asn1.h
(4.13 KB)
📄
pkcs12_asn1.h
(13.04 KB)
📄
pkcs8_asn1.h
(6.51 KB)
📄
pkcs9_asn1.h
(5.95 KB)
📄
pkinit_asn1.h
(26.54 KB)
📄
pmc.h
(4.51 KB)
📄
pmcformat.h
(1.47 KB)
📄
pmclog.h
(5.74 KB)
📄
poll.h
(4.03 KB)
📄
printf.h
(5.15 KB)
📁
private
📄
proc_service.h
(2.96 KB)
📁
protocols
📄
pthread.h
(12.7 KB)
📄
pthread_np.h
(3.28 KB)
📄
pwd.h
(6.05 KB)
📄
radlib.h
(8.86 KB)
📄
radlib_vs.h
(3.6 KB)
📄
ranlib.h
(1.99 KB)
📁
rdma
📄
readpassphrase.h
(1.82 KB)
📄
regex.h
(3.87 KB)
📄
res_update.h
(2.45 KB)
📄
resolv.h
(18.69 KB)
📄
resolve.h
(7.26 KB)
📄
rfc2459_asn1.h
(73.99 KB)
📄
ripemd.h
(5.09 KB)
📄
roken-common.h
(11.68 KB)
📄
roken.h
(6.86 KB)
📁
rpc
📁
rpcsvc
📄
rpoll.h
(2.13 KB)
📄
rtbl.h
(3.61 KB)
📄
rtld_db.h
(3.82 KB)
📄
runetype.h
(3.76 KB)
📄
sched.h
(9.06 KB)
📄
sdp.h
(21.58 KB)
📄
search.h
(1.71 KB)
📁
security
📄
semaphore.h
(2.35 KB)
📄
setjmp.h
(2.5 KB)
📄
sha.h
(5.91 KB)
📄
sha224.h
(2.93 KB)
📄
sha256.h
(3.01 KB)
📄
sha384.h
(2.94 KB)
📄
sha512.h
(3.02 KB)
📄
sha512t.h
(4.6 KB)
📄
signal.h
(4.42 KB)
📄
skein.h
(15.95 KB)
📄
skein_freebsd.h
(3.85 KB)
📄
skein_iv.h
(5.54 KB)
📄
skein_port.h
(5.17 KB)
📄
spawn.h
(4.26 KB)
📄
stab.h
(3.07 KB)
📄
stdalign.h
(1.81 KB)
📄
stdarg.h
(87 B)
📄
stdatomic.h
(13.94 KB)
📄
stdbool.h
(1.64 KB)
📄
stddef.h
(2.59 KB)
📄
stdint.h
(2.63 KB)
📄
stdio.h
(16.92 KB)
📄
stdlib.h
(11.23 KB)
📄
stdnoreturn.h
(1.59 KB)
📄
string.h
(5.32 KB)
📄
string_m.h
(1.72 KB)
📄
stringlist.h
(1.83 KB)
📄
strings.h
(2.47 KB)
📁
sys
📄
sysdecode.h
(6.59 KB)
📄
sysexits.h
(5.17 KB)
📄
syslog.h
(7.25 KB)
📄
taclib.h
(5.28 KB)
📄
tar.h
(2.9 KB)
📄
tcpd.h
(8.18 KB)
📁
teken
📄
term.h
(40.4 KB)
📄
termcap.h
(3.39 KB)
📄
termios.h
(3.28 KB)
📄
tgmath.h
(8.85 KB)
📄
thread_db.h
(6.36 KB)
📄
thread_pool_impl.h
(2.76 KB)
📄
threads.h
(3.56 KB)
📄
time.h
(7.07 KB)
📄
timeconv.h
(2.42 KB)
📄
timers.h
(1.97 KB)
📄
ttyent.h
(2.95 KB)
📄
uchar.h
(2.3 KB)
📄
ucontext.h
(2.91 KB)
📁
ufs
📄
ugidfw.h
(2.68 KB)
📄
ulimit.h
(1.58 KB)
📄
ulog.h
(1.67 KB)
📄
unctrl.h
(3.1 KB)
📄
unistd.h
(18.71 KB)
📄
usb.h
(9.48 KB)
📄
usbhid.h
(3.75 KB)
📄
utempter.h
(1.76 KB)
📄
utime.h
(2.01 KB)
📄
utmpx.h
(3.03 KB)
📄
uuid.h
(2.43 KB)
📄
varargs.h
(1.54 KB)
📄
vgl.h
(5.59 KB)
📄
vis.h
(4.48 KB)
📁
vm
📄
vmmapi.h
(10.49 KB)
📄
wchar.h
(8.81 KB)
📄
wctype.h
(3.89 KB)
📄
wind.h
(3.09 KB)
📄
wind_err.h
(860 B)
📄
wordexp.h
(2.75 KB)
📁
x86
📄
xdbm.h
(1.91 KB)
📁
xlocale
📄
xlocale.h
(2.23 KB)
📄
ypclnt.h
(2.33 KB)
📄
zconf.h
(16.24 KB)
📄
zdb.h
(1.02 KB)
📄
zinject.h
(2.14 KB)
📄
zlib.h
(94.08 KB)
📄
zstream.h
(820 B)
📄
zutil_import.h
(2.51 KB)
Editing: crmf_asn1.h
/* Generated from /usr/src/crypto/heimdal/lib/hx509/crmf.asn1 */ /* Do not edit */ #ifndef __crmf_asn1_h__ #define __crmf_asn1_h__ #include <stddef.h> #include <time.h> #ifndef __asn1_common_definitions__ #define __asn1_common_definitions__ typedef struct heim_integer { size_t length; void *data; int negative; } heim_integer; typedef struct heim_octet_string { size_t length; void *data; } heim_octet_string; typedef char *heim_general_string; typedef char *heim_utf8_string; typedef struct heim_octet_string heim_printable_string; typedef struct heim_octet_string heim_ia5_string; typedef struct heim_bmp_string { size_t length; uint16_t *data; } heim_bmp_string; typedef struct heim_universal_string { size_t length; uint32_t *data; } heim_universal_string; typedef char *heim_visible_string; typedef struct heim_oid { size_t length; unsigned *components; } heim_oid; typedef struct heim_bit_string { size_t length; void *data; } heim_bit_string; typedef struct heim_octet_string heim_any; typedef struct heim_octet_string heim_any_set; #define ASN1_MALLOC_ENCODE(T, B, BL, S, L, R) \ do { \ (BL) = length_##T((S)); \ (B) = malloc((BL)); \ if((B) == NULL) { \ (R) = ENOMEM; \ } else { \ (R) = encode_##T(((unsigned char*)(B)) + (BL) - 1, (BL), \ (S), (L)); \ if((R) != 0) { \ free((B)); \ (B) = NULL; \ } \ } \ } while (0) #ifdef _WIN32 #ifndef ASN1_LIB #define ASN1EXP __declspec(dllimport) #else #define ASN1EXP #endif #define ASN1CALL __stdcall #else #define ASN1EXP #define ASN1CALL #endif struct units; #endif #include <rfc2459_asn1.h> #include <heim_asn1.h> /* CRMFRDNSequence ::= SEQUENCE OF RelativeDistinguishedName */ typedef struct CRMFRDNSequence { unsigned int len; RelativeDistinguishedName *val; } CRMFRDNSequence; ASN1EXP int ASN1CALL decode_CRMFRDNSequence(const unsigned char *, size_t, CRMFRDNSequence *, size_t *); ASN1EXP int ASN1CALL encode_CRMFRDNSequence(unsigned char *, size_t, const CRMFRDNSequence *, size_t *); ASN1EXP size_t ASN1CALL length_CRMFRDNSequence(const CRMFRDNSequence *); ASN1EXP int ASN1CALL copy_CRMFRDNSequence (const CRMFRDNSequence *, CRMFRDNSequence *); ASN1EXP void ASN1CALL free_CRMFRDNSequence (CRMFRDNSequence *); /* Controls ::= SEQUENCE OF AttributeTypeAndValue */ typedef struct Controls { unsigned int len; AttributeTypeAndValue *val; } Controls; ASN1EXP int ASN1CALL decode_Controls(const unsigned char *, size_t, Controls *, size_t *); ASN1EXP int ASN1CALL encode_Controls(unsigned char *, size_t, const Controls *, size_t *); ASN1EXP size_t ASN1CALL length_Controls(const Controls *); ASN1EXP int ASN1CALL copy_Controls (const Controls *, Controls *); ASN1EXP void ASN1CALL free_Controls (Controls *); /* POPOSigningKey ::= SEQUENCE { poposkInput [0] IMPLICIT POPOSigningKeyInput OPTIONAL, algorithmIdentifier AlgorithmIdentifier, signature BIT STRING { }, } */ typedef struct POPOSigningKey { POPOSigningKeyInput *poposkInput; AlgorithmIdentifier algorithmIdentifier; heim_bit_string signature; } POPOSigningKey; ASN1EXP int ASN1CALL decode_POPOSigningKey(const unsigned char *, size_t, POPOSigningKey *, size_t *); ASN1EXP int ASN1CALL encode_POPOSigningKey(unsigned char *, size_t, const POPOSigningKey *, size_t *); ASN1EXP size_t ASN1CALL length_POPOSigningKey(const POPOSigningKey *); ASN1EXP int ASN1CALL copy_POPOSigningKey (const POPOSigningKey *, POPOSigningKey *); ASN1EXP void ASN1CALL free_POPOSigningKey (POPOSigningKey *); /* PKMACValue ::= SEQUENCE { algId AlgorithmIdentifier, value BIT STRING { }, } */ typedef struct PKMACValue { AlgorithmIdentifier algId; heim_bit_string value; } PKMACValue; ASN1EXP int ASN1CALL decode_PKMACValue(const unsigned char *, size_t, PKMACValue *, size_t *); ASN1EXP int ASN1CALL encode_PKMACValue(unsigned char *, size_t, const PKMACValue *, size_t *); ASN1EXP size_t ASN1CALL length_PKMACValue(const PKMACValue *); ASN1EXP int ASN1CALL copy_PKMACValue (const PKMACValue *, PKMACValue *); ASN1EXP void ASN1CALL free_PKMACValue (PKMACValue *); /* POPOSigningKeyInput ::= SEQUENCE { authInfo CHOICE { sender [0] IMPLICIT GeneralName, publicKeyMAC PKMACValue, }, publicKey SubjectPublicKeyInfo, } */ typedef struct POPOSigningKeyInput { struct POPOSigningKeyInput_authInfo { enum { choice_POPOSigningKeyInput_authInfo_sender = 1, choice_POPOSigningKeyInput_authInfo_publicKeyMAC } element; union { GeneralName sender; PKMACValue publicKeyMAC; } u; } authInfo; SubjectPublicKeyInfo publicKey; } POPOSigningKeyInput; ASN1EXP int ASN1CALL decode_POPOSigningKeyInput(const unsigned char *, size_t, POPOSigningKeyInput *, size_t *); ASN1EXP int ASN1CALL encode_POPOSigningKeyInput(unsigned char *, size_t, const POPOSigningKeyInput *, size_t *); ASN1EXP size_t ASN1CALL length_POPOSigningKeyInput(const POPOSigningKeyInput *); ASN1EXP int ASN1CALL copy_POPOSigningKeyInput (const POPOSigningKeyInput *, POPOSigningKeyInput *); ASN1EXP void ASN1CALL free_POPOSigningKeyInput (POPOSigningKeyInput *); /* PBMParameter ::= SEQUENCE { salt OCTET STRING, owf AlgorithmIdentifier, iterationCount INTEGER, mac AlgorithmIdentifier, } */ typedef struct PBMParameter { heim_octet_string salt; AlgorithmIdentifier owf; heim_integer iterationCount; AlgorithmIdentifier mac; } PBMParameter; ASN1EXP int ASN1CALL decode_PBMParameter(const unsigned char *, size_t, PBMParameter *, size_t *); ASN1EXP int ASN1CALL encode_PBMParameter(unsigned char *, size_t, const PBMParameter *, size_t *); ASN1EXP size_t ASN1CALL length_PBMParameter(const PBMParameter *); ASN1EXP int ASN1CALL copy_PBMParameter (const PBMParameter *, PBMParameter *); ASN1EXP void ASN1CALL free_PBMParameter (PBMParameter *); /* SubsequentMessage ::= INTEGER { encrCert(0), challengeResp(1) } */ typedef enum SubsequentMessage { encrCert = 0, challengeResp = 1 } SubsequentMessage; ASN1EXP int ASN1CALL decode_SubsequentMessage(const unsigned char *, size_t, SubsequentMessage *, size_t *); ASN1EXP int ASN1CALL encode_SubsequentMessage(unsigned char *, size_t, const SubsequentMessage *, size_t *); ASN1EXP size_t ASN1CALL length_SubsequentMessage(const SubsequentMessage *); ASN1EXP int ASN1CALL copy_SubsequentMessage (const SubsequentMessage *, SubsequentMessage *); ASN1EXP void ASN1CALL free_SubsequentMessage (SubsequentMessage *); /* POPOPrivKey ::= CHOICE { thisMessage [0] BIT STRING { }, subsequentMessage [1] IMPLICIT SubsequentMessage, dhMAC [2] BIT STRING { }, agreeMAC [3] IMPLICIT PKMACValue, encryptedKey [4] heim_any, } */ typedef struct POPOPrivKey { enum { choice_POPOPrivKey_thisMessage = 1, choice_POPOPrivKey_subsequentMessage, choice_POPOPrivKey_dhMAC, choice_POPOPrivKey_agreeMAC, choice_POPOPrivKey_encryptedKey } element; union { heim_bit_string thisMessage; SubsequentMessage subsequentMessage; heim_bit_string dhMAC; PKMACValue agreeMAC; heim_any encryptedKey; } u; } POPOPrivKey; ASN1EXP int ASN1CALL decode_POPOPrivKey(const unsigned char *, size_t, POPOPrivKey *, size_t *); ASN1EXP int ASN1CALL encode_POPOPrivKey(unsigned char *, size_t, const POPOPrivKey *, size_t *); ASN1EXP size_t ASN1CALL length_POPOPrivKey(const POPOPrivKey *); ASN1EXP int ASN1CALL copy_POPOPrivKey (const POPOPrivKey *, POPOPrivKey *); ASN1EXP void ASN1CALL free_POPOPrivKey (POPOPrivKey *); /* ProofOfPossession ::= CHOICE { raVerified [0] NULL, signature [1] POPOSigningKey, keyEncipherment [2] POPOPrivKey, keyAgreement [3] POPOPrivKey, } */ typedef struct ProofOfPossession { enum { choice_ProofOfPossession_raVerified = 1, choice_ProofOfPossession_signature, choice_ProofOfPossession_keyEncipherment, choice_ProofOfPossession_keyAgreement } element; union { int raVerified; POPOSigningKey signature; POPOPrivKey keyEncipherment; POPOPrivKey keyAgreement; } u; } ProofOfPossession; ASN1EXP int ASN1CALL decode_ProofOfPossession(const unsigned char *, size_t, ProofOfPossession *, size_t *); ASN1EXP int ASN1CALL encode_ProofOfPossession(unsigned char *, size_t, const ProofOfPossession *, size_t *); ASN1EXP size_t ASN1CALL length_ProofOfPossession(const ProofOfPossession *); ASN1EXP int ASN1CALL copy_ProofOfPossession (const ProofOfPossession *, ProofOfPossession *); ASN1EXP void ASN1CALL free_ProofOfPossession (ProofOfPossession *); /* CertTemplate ::= SEQUENCE { version [0] INTEGER OPTIONAL, serialNumber [1] INTEGER OPTIONAL, signingAlg [2] SEQUENCE { algorithm OBJECT IDENTIFIER, parameters heim_any OPTIONAL, } OPTIONAL, issuer [3] IMPLICIT CHOICE { rdnSequence CRMFRDNSequence, } OPTIONAL, validity [4] SEQUENCE { notBefore [0] Time OPTIONAL, notAfter [1] Time OPTIONAL, } OPTIONAL, subject [5] IMPLICIT CHOICE { rdnSequence CRMFRDNSequence, } OPTIONAL, publicKey [6] IMPLICIT SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING { } OPTIONAL, } OPTIONAL, issuerUID [7] IMPLICIT BIT STRING { } OPTIONAL, subjectUID [8] IMPLICIT BIT STRING { } OPTIONAL, extensions [9] IMPLICIT SEQUENCE OF Extension OPTIONAL, } */ typedef struct CertTemplate { heim_integer *version; heim_integer *serialNumber; struct CertTemplate_signingAlg { heim_oid algorithm; heim_any *parameters; } *signingAlg; struct CertTemplate_issuer { enum { choice_CertTemplate_issuer_rdnSequence = 1 } element; union { CRMFRDNSequence rdnSequence; } u; } *issuer; struct CertTemplate_validity { Time *notBefore; Time *notAfter; } *validity; struct CertTemplate_subject { enum { choice_CertTemplate_subject_rdnSequence = 1 } element; union { CRMFRDNSequence rdnSequence; } u; } *subject; struct CertTemplate_publicKey { AlgorithmIdentifier algorithm; heim_bit_string *subjectPublicKey; } *publicKey; heim_bit_string *issuerUID; heim_bit_string *subjectUID; struct CertTemplate_extensions { unsigned int len; Extension *val; } *extensions; } CertTemplate; ASN1EXP int ASN1CALL decode_CertTemplate(const unsigned char *, size_t, CertTemplate *, size_t *); ASN1EXP int ASN1CALL encode_CertTemplate(unsigned char *, size_t, const CertTemplate *, size_t *); ASN1EXP size_t ASN1CALL length_CertTemplate(const CertTemplate *); ASN1EXP int ASN1CALL copy_CertTemplate (const CertTemplate *, CertTemplate *); ASN1EXP void ASN1CALL free_CertTemplate (CertTemplate *); /* CertRequest ::= SEQUENCE { certReqId INTEGER, certTemplate CertTemplate, controls Controls OPTIONAL, } */ typedef struct CertRequest { heim_integer certReqId; CertTemplate certTemplate; Controls *controls; } CertRequest; ASN1EXP int ASN1CALL decode_CertRequest(const unsigned char *, size_t, CertRequest *, size_t *); ASN1EXP int ASN1CALL encode_CertRequest(unsigned char *, size_t, const CertRequest *, size_t *); ASN1EXP size_t ASN1CALL length_CertRequest(const CertRequest *); ASN1EXP int ASN1CALL copy_CertRequest (const CertRequest *, CertRequest *); ASN1EXP void ASN1CALL free_CertRequest (CertRequest *); /* CertReqMsg ::= SEQUENCE { certReq CertRequest, popo ProofOfPossession OPTIONAL, regInfo SEQUENCE OF AttributeTypeAndValue OPTIONAL, } */ typedef struct CertReqMsg { CertRequest certReq; ProofOfPossession *popo; struct CertReqMsg_regInfo { unsigned int len; AttributeTypeAndValue *val; } *regInfo; } CertReqMsg; ASN1EXP int ASN1CALL decode_CertReqMsg(const unsigned char *, size_t, CertReqMsg *, size_t *); ASN1EXP int ASN1CALL encode_CertReqMsg(unsigned char *, size_t, const CertReqMsg *, size_t *); ASN1EXP size_t ASN1CALL length_CertReqMsg(const CertReqMsg *); ASN1EXP int ASN1CALL copy_CertReqMsg (const CertReqMsg *, CertReqMsg *); ASN1EXP void ASN1CALL free_CertReqMsg (CertReqMsg *); /* CertReqMessages ::= SEQUENCE OF CertReqMsg */ typedef struct CertReqMessages { unsigned int len; CertReqMsg *val; } CertReqMessages; ASN1EXP int ASN1CALL decode_CertReqMessages(const unsigned char *, size_t, CertReqMessages *, size_t *); ASN1EXP int ASN1CALL encode_CertReqMessages(unsigned char *, size_t, const CertReqMessages *, size_t *); ASN1EXP size_t ASN1CALL length_CertReqMessages(const CertReqMessages *); ASN1EXP int ASN1CALL copy_CertReqMessages (const CertReqMessages *, CertReqMessages *); ASN1EXP void ASN1CALL free_CertReqMessages (CertReqMessages *); #endif /* __crmf_asn1_h__ */
Upload File
Create Folder