1/*
2 * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
3 * Use is subject to license terms.
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this library; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24/* *********************************************************************
25 *
26 * The Original Code is the Netscape security libraries.
27 *
28 * The Initial Developer of the Original Code is
29 * Netscape Communications Corporation.
30 * Portions created by the Initial Developer are Copyright (C) 1994-2000
31 * the Initial Developer. All Rights Reserved.
32 *
33 * Contributor(s):
34 * Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
35 *
36 *********************************************************************** */
37
38#ifndef _SECOIDT_H_
39#define _SECOIDT_H_
40
41/*
42 * secoidt.h - public data structures for ASN.1 OID functions
43 *
44 * $Id: secoidt.h,v 1.23 2007/05/05 22:45:16 nelson%bolyard.com Exp $
45 */
46
47typedef struct SECOidDataStr SECOidData;
48typedef struct SECAlgorithmIDStr SECAlgorithmID;
49
50/*
51** An X.500 algorithm identifier
52*/
53struct SECAlgorithmIDStr {
54 SECItem algorithm;
55 SECItem parameters;
56};
57
58#define SEC_OID_SECG_EC_SECP192R1 SEC_OID_ANSIX962_EC_PRIME192V1
59#define SEC_OID_SECG_EC_SECP256R1 SEC_OID_ANSIX962_EC_PRIME256V1
60#define SEC_OID_PKCS12_KEY_USAGE SEC_OID_X509_KEY_USAGE
61
62/* fake OID for DSS sign/verify */
63#define SEC_OID_SHA SEC_OID_MISS_DSS
64
65typedef enum {
66 INVALID_CERT_EXTENSION = 0,
67 UNSUPPORTED_CERT_EXTENSION = 1,
68 SUPPORTED_CERT_EXTENSION = 2
69} SECSupportExtenTag;
70
71struct SECOidDataStr {
72 SECItem oid;
73 ECCurveName offset;
74 const char * desc;
75 unsigned long mechanism;
76 SECSupportExtenTag supportedExtension;
77 /* only used for x.509 v3 extensions, so
78 that we can print the names of those
79 extensions that we don't even support */
80};
81
82#endif /* _SECOIDT_H_ */
83