More disambiguation of Python in makefiles (#18284)
[mono-project.git] / mono / btls / btls-x509-revoked.c
blob4ae8c5b970e1d268d6e4ce2d962851fb3602ea42
1 //
2 // btls-x509-revoked.c
3 // MonoBtls
4 //
5 // Created by Martin Baulig on 3/23/16.
6 // Copyright © 2016 Xamarin. All rights reserved.
7 //
9 #include "btls-x509-revoked.h"
11 struct MonoBtlsX509Revoked {
12 MonoBtlsX509Crl *owner;
13 X509_REVOKED *revoked;
16 MonoBtlsX509Revoked *
17 mono_btls_x509_revoked_new (MonoBtlsX509Crl *owner, X509_REVOKED *revoked)
19 MonoBtlsX509Revoked *instance;
21 instance = OPENSSL_malloc (sizeof (MonoBtlsX509Revoked));
22 memset (instance, 0, sizeof (MonoBtlsX509Revoked));
24 instance->owner = mono_btls_x509_crl_ref (owner);
25 instance->revoked = revoked;
26 return instance;
29 void
30 mono_btls_x509_revoked_free (MonoBtlsX509Revoked *revoked)
32 mono_btls_x509_crl_free (revoked->owner);
33 OPENSSL_free (revoked);
36 int
37 mono_btls_x509_revoked_get_serial_number (MonoBtlsX509Revoked *revoked, char *buffer, int size)
39 ASN1_INTEGER *serial;
41 serial = revoked->revoked->serialNumber;
42 if (serial->length == 0 || serial->length+1 > size)
43 return 0;
45 memcpy (buffer, serial->data, serial->length);
46 return serial->length;
49 int64_t
50 mono_btls_x509_revoked_get_revocation_date (MonoBtlsX509Revoked *revoked)
52 ASN1_TIME *date;
54 date = revoked->revoked->revocationDate;
55 if (!date)
56 return 0;
58 return mono_btls_util_asn1_time_to_ticks (date);
61 int
62 mono_btls_x509_revoked_get_reason (MonoBtlsX509Revoked *revoked)
64 return revoked->revoked->reason;
67 int
68 mono_btls_x509_revoked_get_sequence (MonoBtlsX509Revoked *revoked)
70 return revoked->revoked->sequence;