source: libabac/abac_openssl.h @ 461541a

abac0-leakabac0-meimei-idmei-rt0-nmei_rt0tvf-new-xml
Last change on this file since 461541a was 461541a, checked in by Mei <mei@…>, 11 years ago

1) updated original rt0 to remove libstrongswan dependency

a) identity credential being made/accessed with openssl api calls

(X509/EVP_PKEY pem)

b) attribute credential being made/access via xmlsec1 (custom XML

structure)

2) refactored libcreddy into libabac and now one ABAC namespace for

libabac

3) added attribute_rule suboption to creddy's attribute as another way

to insert access rule

4) added some regression tests into example directory
5) updated some docs.

  • Property mode set to 100644
File size: 1.1 KB
Line 
1/* abac_openssl.h */
2
3#ifndef __ABAC_OPENSSL_H__
4#define __ABAC_OPENSSL_H__
5
6#include <stdio.h>
7#include <openssl/x509.h>
8#include <openssl/err.h>
9
10/* ID */
11EVP_PKEY* abac_generate_key();
12X509 *abac_generate_cert(EVP_PKEY *, char*, long);
13
14// 8 bytes
15unsigned char *abac_generate_serial();
16
17//
18int init_openssl();
19int deinit_openssl();
20
21X509 *abac_load_id_from_fp(FILE *);
22EVP_PKEY *abac_load_privkey_from_fp(FILE *);
23X509 *abac_load_id_from_chunk(unsigned char *, int);
24int abac_write_id_to_fp(X509 *cert, FILE *fp);
25int abac_write_privkey_to_fp(EVP_PKEY *key, FILE *fp);
26
27EVP_PKEY *extract_pubkey_from_cert(X509 *);
28
29unsigned char *abac_string_cert(X509 *);
30EVP_PKEY *extract_pubkey_from_cert(X509 *);
31unsigned char *abac_string_privkey(EVP_PKEY *);
32
33char *abac_get_serial(X509 *);
34char *abac_get_cn(X509 *);
35char *abac_get_subject(X509 *); 
36char *abac_get_issuer(X509 *);
37
38// sha of cert
39char *abac_get_keyid(X509 *);
40
41int abac_check_validity(X509 *, struct tm *, struct tm *);
42int abac_still_valid(X509 *);
43int abac_self_signed(X509 *);
44int abac_signed_by(X509 *, X509 *);
45
46#endif /*__ABAC_OPENSSL_H__ */
Note: See TracBrowser for help on using the repository browser.