5 // Created by Martin Baulig on 3/23/16.
6 // Copyright © 2016 Xamarin. All rights reserved.
9 #include <btls-x509-revoked.h>
11 struct MonoBtlsX509Revoked
{
12 MonoBtlsX509Crl
*owner
;
13 X509_REVOKED
*revoked
;
16 MONO_API 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
;
30 mono_btls_x509_revoked_free (MonoBtlsX509Revoked
*revoked
)
32 mono_btls_x509_crl_free (revoked
->owner
);
33 OPENSSL_free (revoked
);
37 mono_btls_x509_revoked_get_serial_number (MonoBtlsX509Revoked
*revoked
, char *buffer
, int size
)
41 serial
= revoked
->revoked
->serialNumber
;
42 if (serial
->length
== 0 || serial
->length
+1 > size
)
45 memcpy (buffer
, serial
->data
, serial
->length
);
46 return serial
->length
;
50 mono_btls_x509_revoked_get_revocation_date (MonoBtlsX509Revoked
*revoked
)
54 date
= revoked
->revoked
->revocationDate
;
58 return mono_btls_util_asn1_time_to_ticks (date
);
62 mono_btls_x509_revoked_get_reason (MonoBtlsX509Revoked
*revoked
)
64 return revoked
->revoked
->reason
;
68 mono_btls_x509_revoked_get_sequence (MonoBtlsX509Revoked
*revoked
)
70 return revoked
->revoked
->sequence
;