Copyright consolidation 07/10
[openssl.git] / crypto / x509v3 / v3_pku.c
1 /*
2  * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved.
3  *
4  * Licensed under the OpenSSL license (the "License").  You may not use
5  * this file except in compliance with the License.  You can obtain a copy
6  * in the file LICENSE in the source distribution or at
7  * https://www.openssl.org/source/license.html
8  */
9
10 #include <stdio.h>
11 #include "internal/cryptlib.h"
12 #include <openssl/asn1.h>
13 #include <openssl/asn1t.h>
14 #include <openssl/x509v3.h>
15 #include "ext_dat.h"
16
17 static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,
18                                  PKEY_USAGE_PERIOD *usage, BIO *out,
19                                  int indent);
20 /*
21  * static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,
22  * X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
23  */
24 const X509V3_EXT_METHOD v3_pkey_usage_period = {
25     NID_private_key_usage_period, 0, ASN1_ITEM_ref(PKEY_USAGE_PERIOD),
26     0, 0, 0, 0,
27     0, 0, 0, 0,
28     (X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD, NULL,
29     NULL
30 };
31
32 ASN1_SEQUENCE(PKEY_USAGE_PERIOD) = {
33         ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notBefore, ASN1_GENERALIZEDTIME, 0),
34         ASN1_IMP_OPT(PKEY_USAGE_PERIOD, notAfter, ASN1_GENERALIZEDTIME, 1)
35 } ASN1_SEQUENCE_END(PKEY_USAGE_PERIOD)
36
37 IMPLEMENT_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD)
38
39 static int i2r_PKEY_USAGE_PERIOD(X509V3_EXT_METHOD *method,
40                                  PKEY_USAGE_PERIOD *usage, BIO *out,
41                                  int indent)
42 {
43     BIO_printf(out, "%*s", indent, "");
44     if (usage->notBefore) {
45         BIO_write(out, "Not Before: ", 12);
46         ASN1_GENERALIZEDTIME_print(out, usage->notBefore);
47         if (usage->notAfter)
48             BIO_write(out, ", ", 2);
49     }
50     if (usage->notAfter) {
51         BIO_write(out, "Not After: ", 11);
52         ASN1_GENERALIZEDTIME_print(out, usage->notAfter);
53     }
54     return 1;
55 }
56
57 /*-
58 static PKEY_USAGE_PERIOD *v2i_PKEY_USAGE_PERIOD(method, ctx, values)
59 X509V3_EXT_METHOD *method;
60 X509V3_CTX *ctx;
61 STACK_OF(CONF_VALUE) *values;
62 {
63 return NULL;
64 }
65 */