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 47 typedef struct SECOidDataStr SECOidData; 48 typedef struct SECAlgorithmIDStr SECAlgorithmID; 49 50 /* 51 ** An X.500 algorithm identifier 52 */ 53 struct 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 65 typedef enum { 66 INVALID_CERT_EXTENSION = 0, 67 UNSUPPORTED_CERT_EXTENSION = 1, 68 SUPPORTED_CERT_EXTENSION = 2 69 } SECSupportExtenTag; 70 71 struct 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