1/*
2 * $Id: ossl_x509.h 25189 2009-10-02 12:04:37Z akr $
3 * 'OpenSSL for Ruby' project
4 * Copyright (C) 2001-2002  Michal Rokos <m.rokos@sh.cvut.cz>
5 * All rights reserved.
6 */
7/*
8 * This program is licenced under the same licence as Ruby.
9 * (See the file 'LICENCE'.)
10 */
11#if !defined(_OSSL_X509_H_)
12#define _OSSL_X509_H_
13
14/*
15 * X509 main module
16 */
17extern VALUE mX509;
18
19void Init_ossl_x509(void);
20
21/*
22 * X509Attr
23 */
24extern VALUE cX509Attr;
25extern VALUE eX509AttrError;
26
27VALUE ossl_x509attr_new(X509_ATTRIBUTE *);
28X509_ATTRIBUTE *DupX509AttrPtr(VALUE);
29void Init_ossl_x509attr(void);
30
31/*
32 * X509Cert
33 */
34extern VALUE cX509Cert;
35extern VALUE eX509CertError;
36
37VALUE ossl_x509_new(X509 *);
38VALUE ossl_x509_new_from_file(VALUE);
39X509 *GetX509CertPtr(VALUE);
40X509 *DupX509CertPtr(VALUE);
41void Init_ossl_x509cert(void);
42
43/*
44 * X509CRL
45 */
46extern VALUE cX509CRL;
47extern VALUE eX509CRLError;
48
49VALUE ossl_x509crl_new(X509_CRL *);
50X509_CRL *GetX509CRLPtr(VALUE);
51X509_CRL *DupX509CRLPtr(VALUE);
52void Init_ossl_x509crl(void);
53
54/*
55 * X509Extension
56 */
57extern VALUE cX509Ext;
58extern VALUE cX509ExtFactory;
59extern VALUE eX509ExtError;
60
61VALUE ossl_x509ext_new(X509_EXTENSION *);
62X509_EXTENSION *GetX509ExtPtr(VALUE);
63X509_EXTENSION *DupX509ExtPtr(VALUE);
64void Init_ossl_x509ext(void);
65
66/*
67 * X509Name
68 */
69extern VALUE cX509Name;
70extern VALUE eX509NameError;
71
72VALUE ossl_x509name_new(X509_NAME *);
73X509_NAME *GetX509NamePtr(VALUE);
74void Init_ossl_x509name(void);
75
76/*
77 * X509Request
78 */
79extern VALUE cX509Req;
80extern VALUE eX509ReqError;
81
82VALUE ossl_x509req_new(X509_REQ *);
83X509_REQ *GetX509ReqPtr(VALUE);
84X509_REQ *DupX509ReqPtr(VALUE);
85void Init_ossl_x509req(void);
86
87/*
88 * X509Revoked
89 */
90extern VALUE cX509Rev;
91extern VALUE eX509RevError;
92
93VALUE ossl_x509revoked_new(X509_REVOKED *);
94X509_REVOKED *DupX509RevokedPtr(VALUE);
95void Init_ossl_x509revoked(void);
96
97/*
98 * X509Store and X509StoreContext
99 */
100extern VALUE cX509Store;
101extern VALUE cX509StoreContext;
102extern VALUE eX509StoreError;
103
104VALUE ossl_x509store_new(X509_STORE *);
105X509_STORE *GetX509StorePtr(VALUE);
106X509_STORE *DupX509StorePtr(VALUE);
107
108VALUE ossl_x509stctx_new(X509_STORE_CTX *);
109VALUE ossl_x509stctx_clear_ptr(VALUE);
110X509_STORE_CTX *GetX509StCtxtPtr(VALUE);
111
112void Init_ossl_x509store(void);
113
114#endif /* _OSSL_X509_H_ */
115