OpenSSL CVS Repository
http://cvs.openssl.org/
____________________________________________________________
________________
Server: cvs.openssl.org Name: Dr.
Stephen Henson
Root: /v/openssl/cvs Email: steve openssl.org
Module: openssl Date:
19-Apr-2006 01:36:08
Branch: HEAD Handle:
2006041900360205
Added files:
openssl/crypto/objects obj_xref.c obj_xref.h
obj_xref.txt objxref.pl
Modified files:
openssl CHANGES
openssl/crypto/ec Makefile
openssl/crypto/objects Makefile obj_dat.h obj_mac.h
obj_mac.num objects.h
objects.txt
openssl/crypto/pkcs7 Makefile
Log:
Add OID cross reference table.
Fix some typos in GOST OIDs.
Update dependencies.
Summary:
Revision Changes Path
1.1308 +6 -0 openssl/CHANGES
1.11 +14 -0 openssl/crypto/ec/Makefile
1.6 +8 -4 openssl/crypto/objects/Makefile
1.92 +14 -14 openssl/crypto/objects/obj_dat.h
1.58 +8 -8 openssl/crypto/objects/obj_mac.h
1.48 +2 -2
openssl/crypto/objects/obj_mac.num
1.1 +132 -0
openssl/crypto/objects/obj_xref.c
1.1 +53 -0
openssl/crypto/objects/obj_xref.h
1.1 +33 -0
openssl/crypto/objects/obj_xref.txt
1.39 +3 -0 openssl/crypto/objects/objects.h
1.60 +2 -2
openssl/crypto/objects/objects.txt
1.1 +91 -0
openssl/crypto/objects/objxref.pl
1.6 +1 -1 openssl/crypto/pkcs7/Makefile
____________________________________________________________
________________
patch -p0 <<' .'
Index: openssl/CHANGES
============================================================
================
$ cvs diff -u -r1.1307 -r1.1308 CHANGES
--- openssl/CHANGES 17 Apr 2006 17:12:19 -0000 1.1307
+++ openssl/CHANGES 18 Apr 2006 23:36:02 -0000 1.1308
 -4,6 +4,12 
Changes between 0.9.8a and 0.9.9 [xx XXX xxxx]
+ *) Add an OID cross reference table and utility
functions. Its purpose is to
+ translate between signature OIDs such as
SHA1WithrsaEncryption and SHA1,
+ rsaEncryption. This will allow some of the algorithm
specific hackery
+ needed to use the correct OID to be removed.
+ [Steve Henson]
+
*) Remove algorithm specific dependencies when setting
PKCS7_SIGNER_INFO
structures for PKCS7_sign(). They are now set up by
the relevant public
key ASN1 method.
 .
patch -p0 <<' .'
Index: openssl/crypto/ec/Makefile
============================================================
================
$ cvs diff -u -r1.10 -r1.11 Makefile
--- openssl/crypto/ec/Makefile 16 Apr 2006 16:15:58
-0000 1.10
+++ openssl/crypto/ec/Makefile 18 Apr 2006 23:36:04
-0000 1.11
 -173,6 +173,20 
ec_mult.o: ../../include/openssl/opensslv.h
../../include/openssl/ossl_typ.h
ec_mult.o: ../../include/openssl/safestack.h
../../include/openssl/stack.h
ec_mult.o: ../../include/openssl/symhacks.h ec_lcl.h
ec_mult.c
+ec_pmeth.o: ../../e_os.h ../../include/openssl/asn1.h
+ec_pmeth.o: ../../include/openssl/asn1t.h
../../include/openssl/bio.h
+ec_pmeth.o: ../../include/openssl/buffer.h
../../include/openssl/crypto.h
+ec_pmeth.o: ../../include/openssl/e_os2.h
../../include/openssl/ec.h
+ec_pmeth.o: ../../include/openssl/ecdh.h
../../include/openssl/ecdsa.h
+ec_pmeth.o: ../../include/openssl/err.h
../../include/openssl/evp.h
+ec_pmeth.o: ../../include/openssl/lhash.h
../../include/openssl/obj_mac.h
+ec_pmeth.o: ../../include/openssl/objects.h
../../include/openssl/opensslconf.h
+ec_pmeth.o: ../../include/openssl/opensslv.h
../../include/openssl/ossl_typ.h
+ec_pmeth.o: ../../include/openssl/pkcs7.h
../../include/openssl/safestack.h
+ec_pmeth.o: ../../include/openssl/sha.h
../../include/openssl/stack.h
+ec_pmeth.o: ../../include/openssl/symhacks.h
../../include/openssl/x509.h
+ec_pmeth.o: ../../include/openssl/x509_vfy.h
../cryptlib.h ../evp/evp_locl.h
+ec_pmeth.o: ec_pmeth.c
ec_print.o: ../../include/openssl/asn1.h
../../include/openssl/bio.h
ec_print.o: ../../include/openssl/bn.h
../../include/openssl/crypto.h
ec_print.o: ../../include/openssl/e_os2.h
../../include/openssl/ec.h
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/Makefile
============================================================
================
$ cvs diff -u -r1.5 -r1.6 Makefile
--- openssl/crypto/objects/Makefile 4 Feb 2006 01:45:39
-0000 1.5
+++ openssl/crypto/objects/Makefile 18 Apr 2006 23:36:04
-0000 1.6
 -18,20 +18,20 
APPS=
LIB=$(TOP)/libcrypto.a
-LIBSRC= o_names.c obj_dat.c obj_lib.c obj_err.c
-LIBOBJ= o_names.o obj_dat.o obj_lib.o obj_err.o
+LIBSRC= o_names.c obj_dat.c obj_lib.c obj_err.c
obj_xref.c
+LIBOBJ= o_names.o obj_dat.o obj_lib.o obj_err.o
obj_xref.o
SRC= $(LIBSRC)
EXHEADER= objects.h obj_mac.h
-HEADER= $(EXHEADER) obj_dat.h
+HEADER= $(EXHEADER) obj_dat.h obj_xref.h
ALL= $(GENERAL) $(SRC) $(HEADER)
top:
(cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all)
-all: obj_dat.h lib
+all: obj_dat.h obj_xref.h lib
lib: $(LIBOBJ)
$(AR) $(LIB) $(LIBOBJ)
 -46,6 +46,10 
$(PERL) objects.pl objects.txt obj_mac.num obj_mac.h
sleep 1; touch obj_mac.h; sleep 1
+obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
+ $(PERL) objxref.pl > obj_xref.h
+ sleep 1; touch obj_xref.h; sleep 1
+
files:
$(PERL) $(TOP)/util/files.pl Makefile >>
$(TOP)/MINFO
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/obj_dat.h
============================================================
================
$ cvs diff -u -r1.91 -r1.92 obj_dat.h
--- openssl/crypto/objects/obj_dat.h 5 Apr 2006 12:09:09
-0000 1.91
+++ openssl/crypto/objects/obj_dat.h 18 Apr 2006 23:36:04
-0000 1.92
 -825,8 +825,8 
0x2A,0x85,0x03,0x02,0x02,0x17, /* [5298]
OBJ_id_GostR3411_94_prf */
0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x03, /* [5304]
OBJ_id_GostR3410_94_cc */
0x2A,0x85,0x03,0x02,0x09,0x01,0x05,0x04, /* [5312]
OBJ_id_GostR3410_2001_cc */
-0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x03, /* [5320]
OBJ_id_GostR3410_11_94_with_GostR3411_94_cc */
-0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x04, /* [5328]
OBJ_id_GostR3410_2001_with_GostR3411_94_cc */
+0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x03, /* [5320]
OBJ_id_GostR3411_94_with_GostR3410_94_cc */
+0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x04, /* [5328]
OBJ_id_GostR3411_94_with_GostR3410_2001_cc */
0x2A,0x85,0x03,0x02,0x09,0x01,0x08,0x01, /* [5336]
OBJ_id_GostR3410_2001_ParamSet_cc */
};
 -2113,12 +2113,12 
&(lvalues[5304]),0},
{"gost2001cc","GOST 34.10-2001
Cryptocom",NID_id_GostR3410_2001_cc,8,
&(lvalues[5312]),0},
-{"id-GostR3410-11-94-with-GostR3411-94-cc",
- "GOST R 34.10 with GOST R 34.11-94
Cryptocom",
- NID_id_GostR3410_11_94_with_GostR3411_94_cc,8,&(lvalue
s[5320]),0},
-{"id-GostR3410-2001-with-GostR3411-94-cc",
- "GOST R 34.10-2001 with GOST R 34.10-94
Cryptocom",
- NID_id_GostR3410_2001_with_GostR3411_94_cc,8,&(lvalues
[5328]),0},
+{"id-GostR3411-94-with-GostR3410-94-cc",
+ "GOST R 34.11-94 with GOST R 34.10-94
Cryptocom",
+ NID_id_GostR3411_94_with_GostR3410_94_cc,8,&(lvalues[5
320]),0},
+{"id-GostR3411-94-with-GostR3410-2001-cc",
+ "GOST R 34.11-94 with GOST R 34.10-2001
Cryptocom",
+ NID_id_GostR3411_94_with_GostR3410_2001_cc,8,&(lvalues
[5328]),0},
{"id-GostR3410-2001-ParamSet-cc",
"GOST R 3410-2001 Parameter Set Cryptocom",
NID_id_GostR3410_2001_ParamSet_cc,8,&(lvalues[5336]),0}
,
 -2393,7 +2393,6 
&(nid_objs[789]),/*
"id-Gost28147-89-None-KeyMeshing" */
&(nid_objs[760]),/*
"id-Gost28147-89-TestParamSet" */
&(nid_objs[794]),/* "id-Gost28147-89-cc"
*/
-&(nid_objs[799]),/*
"id-GostR3410-11-94-with-GostR3411-94-cc" */
&(nid_objs[777]),/*
"id-GostR3410-2001-CryptoPro-A-ParamSet" */
&(nid_objs[778]),/*
"id-GostR3410-2001-CryptoPro-B-ParamSet" */
&(nid_objs[779]),/*
"id-GostR3410-2001-CryptoPro-C-ParamSet" */
 -2401,7 +2400,6 
&(nid_objs[781]),/*
"id-GostR3410-2001-CryptoPro-XchB-ParamSet" */
&(nid_objs[801]),/*
"id-GostR3410-2001-ParamSet-cc" */
&(nid_objs[776]),/*
"id-GostR3410-2001-TestParamSet" */
-&(nid_objs[800]),/*
"id-GostR3410-2001-with-GostR3411-94-cc" */
&(nid_objs[786]),/* "id-GostR3410-2001DH"
*/
&(nid_objs[769]),/*
"id-GostR3410-94-CryptoPro-A-ParamSet" */
&(nid_objs[770]),/*
"id-GostR3410-94-CryptoPro-B-ParamSet" */
 -2419,7 +2417,9 
&(nid_objs[759]),/*
"id-GostR3411-94-CryptoProParamSet" */
&(nid_objs[758]),/*
"id-GostR3411-94-TestParamSet" */
&(nid_objs[754]),/*
"id-GostR3411-94-with-GostR3410-2001" */
+&(nid_objs[800]),/*
"id-GostR3411-94-with-GostR3410-2001-cc" */
&(nid_objs[755]),/*
"id-GostR3411-94-with-GostR3410-94" */
+&(nid_objs[799]),/*
"id-GostR3411-94-with-GostR3410-94-cc" */
&(nid_objs[783]),/* "id-HMACGostR3411-94"
*/
&(nid_objs[266]),/* "id-aca" */
&(nid_objs[355]),/*
"id-aca-accessIdentity" */
 -2947,16 +2947,16 
&(nid_objs[785]),/* "GOST 28147-89 MAC"
*/
&(nid_objs[798]),/* "GOST 34.10-2001
Cryptocom" */
&(nid_objs[797]),/* "GOST 34.10-94
Cryptocom" */
-&(nid_objs[799]),/* "GOST R 34.10 with GOST R
34.11-94 Cryptocom" */
&(nid_objs[756]),/* "GOST R 34.10-2001"
*/
&(nid_objs[786]),/* "GOST R 34.10-2001
DH" */
-&(nid_objs[800]),/* "GOST R 34.10-2001 with
GOST R 34.10-94 Cryptocom" */
&(nid_objs[757]),/* "GOST R 34.10-94" */
&(nid_objs[787]),/* "GOST R 34.10-94 DH"
*/
&(nid_objs[795]),/* "GOST R 34.11-94" */
&(nid_objs[796]),/* "GOST R 34.11-94 PRF"
*/
&(nid_objs[754]),/* "GOST R 34.11-94 with GOST
R 34.10-2001" */
+&(nid_objs[800]),/* "GOST R 34.11-94 with GOST
R 34.10-2001 Cryptocom" */
&(nid_objs[755]),/* "GOST R 34.11-94 with GOST
R 34.10-94" */
+&(nid_objs[799]),/* "GOST R 34.11-94 with GOST
R 34.10-94 Cryptocom" */
&(nid_objs[801]),/* "GOST R 3410-2001 Parameter
Set Cryptocom" */
&(nid_objs[783]),/* "HMAC GOST 34.11-94"
*/
&(nid_objs[432]),/* "Hold Instruction Call
Issuer" */
 -4080,8 +4080,8 
&(nid_objs[508]),/* OBJ_id_hex_multipart_message
1 3 6 1 7 1 1 2 */
&(nid_objs[57]),/* OBJ_netscape 2
16 840 1 113730 */
&(nid_objs[437]),/* OBJ_pilot
0 9 2342 19200300 100 */
-&(nid_objs[799]),/*
OBJ_id_GostR3410_11_94_with_GostR3411_94_cc 1 2 643 2 9 1 3
3 */
-&(nid_objs[800]),/*
OBJ_id_GostR3410_2001_with_GostR3411_94_cc 1 2 643 2 9 1 3 4
*/
+&(nid_objs[799]),/*
OBJ_id_GostR3411_94_with_GostR3410_94_cc 1 2 643 2 9 1 3 3
*/
+&(nid_objs[800]),/*
OBJ_id_GostR3411_94_with_GostR3410_2001_cc 1 2 643 2 9 1 3 4
*/
&(nid_objs[797]),/* OBJ_id_GostR3410_94_cc
1 2 643 2 9 1 5 3 */
&(nid_objs[798]),/* OBJ_id_GostR3410_2001_cc
1 2 643 2 9 1 5 4 */
&(nid_objs[794]),/* OBJ_id_Gost28147_89_cc
1 2 643 2 9 1 6 1 */
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/obj_mac.h
============================================================
================
$ cvs diff -u -r1.57 -r1.58 obj_mac.h
--- openssl/crypto/objects/obj_mac.h 5 Apr 2006 12:09:09
-0000 1.57
+++ openssl/crypto/objects/obj_mac.h 18 Apr 2006 23:36:05
-0000 1.58
 -3510,15 +3510,15 
#define NID_id_GostR3410_2001_cc 798
#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L
-#define
SN_id_GostR3410_11_94_with_GostR3411_94_cc "id-GostR3
410-11-94-with-GostR3411-94-cc"
-#define
LN_id_GostR3410_11_94_with_GostR3411_94_cc "GOST R
34.10 with GOST R 34.11-94 Cryptocom"
-#define NID_id_GostR3410_11_94_with_GostR3411_94_cc 799
-#define
OBJ_id_GostR3410_11_94_with_GostR3411_94_cc OBJ_cryptocom,1
L,3L,3L
+#define
SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411
-94-with-GostR3410-94-cc"
+#define
LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R
34.11-94 with GOST R 34.10-94 Cryptocom"
+#define NID_id_GostR3411_94_with_GostR3410_94_cc 799
+#define
OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3
L,3L
-#define
SN_id_GostR3410_2001_with_GostR3411_94_cc "id-GostR34
10-2001-with-GostR3411-94-cc"
-#define
LN_id_GostR3410_2001_with_GostR3411_94_cc "GOST R
34.10-2001 with GOST R 34.10-94 Cryptocom"
-#define NID_id_GostR3410_2001_with_GostR3411_94_cc 800
-#define
OBJ_id_GostR3410_2001_with_GostR3411_94_cc OBJ_cryptocom,1L
,3L,4L
+#define
SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR34
11-94-with-GostR3410-2001-cc"
+#define
LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R
34.11-94 with GOST R 34.10-2001 Cryptocom"
+#define NID_id_GostR3411_94_with_GostR3410_2001_cc 800
+#define
OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L
,3L,4L
#define
SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-P
aramSet-cc"
#define LN_id_GostR3410_2001_ParamSet_cc "GOST R
3410-2001 Parameter Set Cryptocom"
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/obj_mac.num
============================================================
================
$ cvs diff -u -r1.47 -r1.48 obj_mac.num
--- openssl/crypto/objects/obj_mac.num 5 Apr 2006 12:09:09
-0000 1.47
+++ openssl/crypto/objects/obj_mac.num 18 Apr 2006
23:36:05 -0000 1.48
 -796,6 +796,6 
id_GostR3411_94_prf 796
id_GostR3410_94_cc 797
id_GostR3410_2001_cc 798
-id_GostR3410_11_94_with_GostR3411_94_cc 799
-id_GostR3410_2001_with_GostR3411_94_cc 800
+id_GostR3411_94_with_GostR3410_94_cc 799
+id_GostR3411_94_with_GostR3410_2001_cc 800
id_GostR3410_2001_ParamSet_cc 801
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/obj_xref.c
============================================================
================
$ cvs diff -u -r0 -r1.1 obj_xref.c
--- /dev/null 2006-04-19 01:35:23 +0200
+++ obj_xref.c 2006-04-19 01:36:06 +0200
 -0,0 +1,132 
+/* crypto/objects/obj_xref.c */
+/* Written by Dr Stephen N Henson (shenson bigfoot.com) for the OpenSSL
+ * project 2006.
+ */
+/*
============================================================
========
+ * Copyright (c) 2006 The OpenSSL Project. All rights
reserved.
+ *
+ * Redistribution and use in source and binary forms,
with or without
+ * modification, are permitted provided that the
following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the
above copyright
+ * notice, this list of conditions and the following
disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the
above copyright
+ * notice, this list of conditions and the following
disclaimer in
+ * the documentation and/or other materials provided
with the
+ * distribution.
+ *
+ * 3. All advertising materials mentioning features or
use of this
+ * software must display the following acknowledgment:
+ * "This product includes software developed by
the OpenSSL Project
+ * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)
"
+ *
+ * 4. The names "OpenSSL Toolkit" and
"OpenSSL Project" must not be used to
+ * endorse or promote products derived from this
software without
+ * prior written permission. For written permission,
please contact
+ * licensing OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be
called "OpenSSL"
+ * nor may "OpenSSL" appear in their names
without prior written
+ * permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain
the following
+ * acknowledgment:
+ * "This product includes software developed by
the OpenSSL Project
+ * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)
"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS
IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL
PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
============================================================
========
+ *
+ * This product includes cryptographic software written
by Eric Young
+ * (eay cryptsoft.com). This product includes software
written by Tim
+ * Hudson (tjh cryptsoft.com).
+ *
+ */
+
+#include <openssl/objects.h>
+#include "obj_xref.h"
+
+static int cmp_sig(const nid_triple *a, const nid_triple
*b)
+ {
+ return **a - **b;
+ }
+
+static int cmp_sigx(const nid_triple **a, const
nid_triple **b)
+ {
+ int ret;
+ ret = (**a)[1] - (**b)[1];
+ if (ret)
+ return ret;
+ return (**a)[2] - (**b)[2];
+ }
+
+
+int OBJ_find_sigid_algs(int signid, int *pdig_nid, int
*ppkey_nid)
+ {
+ nid_triple tmp, *rv;
+ tmp[0] = signid;
+
+ rv = (nid_triple *)OBJ_bsearch((char *)&tmp,
+ (char *)sigoid_srt,
+ sizeof(sigoid_srt) / sizeof(nid_triple),
+ sizeof(nid_triple),
+ (int (*)(const void *, const void *))cmp_sig);
+ if (rv == NULL)
+ return 0;
+ *pdig_nid = (*rv)[1];
+ *ppkey_nid = (*rv)[2];
+ return 1;
+ }
+
+int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int
pkey_nid)
+ {
+ nid_triple tmp, *t=&tmp, **rv;
+ tmp[1] = dig_nid;
+ tmp[2] = pkey_nid;
+
+ rv = (nid_triple **)OBJ_bsearch((char *)&t,
+ (char *)sigoid_srt_xref,
+ sizeof(sigoid_srt_xref) / sizeof(nid_triple *),
+ sizeof(nid_triple *),
+ (int (*)(const void *, const void *))cmp_sigx);
+ if (rv == NULL)
+ return 0;
+ *psignid = (**rv)[0];
+ return 1;
+ }
+
+#ifdef OBJ_XREF_TEST
+
+main()
+ {
+ int n1, n2, n3;
+
+ int i, rv;
+
+ for (i = 0; i < sizeof(sigoid_srt) /
sizeof(nid_triple); i++)
+ {
+ n1 = sigoid_srt[i][0];
+ rv = OBJ_find_sigid_algs(n1, &n2, &n3);
+ printf("Forward: %d, %s %s %s\n", rv,
+ OBJ_nid2ln(n1), OBJ_nid2ln(n2), OBJ_nid2ln(n3));
+ n1=0;
+ rv = OBJ_find_sigid_by_algs(&n1, n2, n3);
+ printf("Reverse: %d, %s %s %s\n", rv,
+ OBJ_nid2ln(n1), OBJ_nid2ln(n2), OBJ_nid2ln(n3));
+ }
+ }
+
+#endif
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/obj_xref.h
============================================================
================
$ cvs diff -u -r0 -r1.1 obj_xref.h
--- /dev/null 2006-04-19 01:35:23 +0200
+++ obj_xref.h 2006-04-19 01:36:06 +0200
 -0,0 +1,53 
+
+typedef int nid_triple[3];
+
+static const nid_triple sigoid_srt[] =
+ {
+ {NID_md2WithRSAEncryption, NID_md2, NID_rsaEncryption},
+ {NID_md5WithRSAEncryption, NID_md5, NID_rsaEncryption},
+ {NID_shaWithRSAEncryption, NID_sha, NID_rsaEncryption},
+ {NID_sha1WithRSAEncryption, NID_sha1,
NID_rsaEncryption},
+ {NID_dsaWithSHA, NID_sha, NID_dsa},
+ {NID_dsaWithSHA1_2, NID_sha1, NID_dsa_2},
+ {NID_mdc2WithRSA, NID_mdc2, NID_rsaEncryption},
+ {NID_md5WithRSA, NID_md5, NID_rsa},
+ {NID_dsaWithSHA1, NID_sha1, NID_dsa},
+ {NID_sha1WithRSA, NID_sha1, NID_rsa},
+ {NID_ripemd160WithRSA, NID_ripemd160,
NID_rsaEncryption},
+ {NID_md4WithRSAEncryption, NID_md4, NID_rsaEncryption},
+ {NID_ecdsa_with_SHA1, NID_sha1,
NID_X9_62_id_ecPublicKey},
+ {NID_sha256WithRSAEncryption, NID_sha256,
NID_rsaEncryption},
+ {NID_sha384WithRSAEncryption, NID_sha384,
NID_rsaEncryption},
+ {NID_sha512WithRSAEncryption, NID_sha512,
NID_rsaEncryption},
+ {NID_sha224WithRSAEncryption, NID_sha224,
NID_rsaEncryption},
+ {NID_id_GostR3411_94_with_GostR3410_2001,
NID_id_GostR3411_94, NID_id_GostR3410_2001},
+ {NID_id_GostR3411_94_with_GostR3410_94,
NID_id_GostR3411_94, NID_id_GostR3410_94},
+ {NID_id_GostR3411_94_with_GostR3410_94_cc,
NID_id_GostR3411_94, NID_id_GostR3410_94_cc},
+ {NID_id_GostR3411_94_with_GostR3410_2001_cc,
NID_id_GostR3411_94, NID_id_GostR3410_2001_cc},
+ };
+
+static const nid_triple * const sigoid_srt_xref[] =
+ {
+ &sigoid_srt[0],
+ &sigoid_srt[1],
+ &sigoid_srt[7],
+ &sigoid_srt[2],
+ &sigoid_srt[4],
+ &sigoid_srt[3],
+ &sigoid_srt[9],
+ &sigoid_srt[5],
+ &sigoid_srt[8],
+ &sigoid_srt[12],
+ &sigoid_srt[6],
+ &sigoid_srt[10],
+ &sigoid_srt[11],
+ &sigoid_srt[13],
+ &sigoid_srt[14],
+ &sigoid_srt[15],
+ &sigoid_srt[16],
+ &sigoid_srt[17],
+ &sigoid_srt[18],
+ &sigoid_srt[19],
+ &sigoid_srt[20],
+ };
+
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/obj_xref.txt
============================================================
================
$ cvs diff -u -r0 -r1.1 obj_xref.txt
--- /dev/null 2006-04-19 01:35:23 +0200
+++ obj_xref.txt 2006-04-19 01:36:06 +0200
 -0,0 +1,33 
+# OID cross reference table.
+# Links signatures OIDs to their corresponding public key
algorithms
+# and digests.
+
+md2WithRSAEncryption md2 rsaEncryption
+md5WithRSAEncryption md5 rsaEncryption
+shaWithRSAEncryption sha rsaEncryption
+sha1WithRSAEncryption sha1 rsaEncryption
+md4WithRSAEncryption md4 rsaEncryption
+sha256WithRSAEncryption sha256 rsaEncryption
+sha384WithRSAEncryption sha384 rsaEncryption
+sha512WithRSAEncryption sha512 rsaEncryption
+sha224WithRSAEncryption sha224 rsaEncryption
+mdc2WithRSA mdc2 rsaEncryption
+ripemd160WithRSA ripemd160 rsaEncryption
+
+# Alternative deprecated OIDs. By using the older
"rsa" OID this
+# type will be recognized by not normally used.
+
+md5WithRSA md5 rsa
+sha1WithRSA sha1 rsa
+
+dsaWithSHA sha dsa
+dsaWithSHA1 sha1 dsa
+
+dsaWithSHA1_2 sha1 dsa_2
+
+ecdsa_with_SHA1 sha1 X9_62_id_ecPublicKey
+
+id_GostR3411_94_with_GostR3410_2001 id_GostR3411_94
id_GostR3410_2001
+id_GostR3411_94_with_GostR3410_94 id_GostR3411_94
id_GostR3410_94
+id_GostR3411_94_with_GostR3410_94_cc id_GostR3411_94
id_GostR3410_94_cc
+id_GostR3411_94_with_GostR3410_2001_cc id_GostR3411_94
id_GostR3410_2001_cc
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/objects.h
============================================================
================
$ cvs diff -u -r1.38 -r1.39 objects.h
--- openssl/crypto/objects/objects.h 5 Dec 2004 01:03:09
-0000 1.38
+++ openssl/crypto/objects/objects.h 18 Apr 2006 23:36:05
-0000 1.39
 -1022,6 +1022,9 
void OBJ_cleanup(void );
int OBJ_create_objects(BIO *in);
+int OBJ_find_sigid_algs(int signid, int *pdig_nid, int
*ppkey_nid);
+int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int
pkey_nid);
+
/* BEGIN ERROR CODES */
/* The following lines are auto generated by the script
mkerr.pl. Any changes
* made after this point may be overwritten when the
script is next run.
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/objects.txt
============================================================
================
$ cvs diff -u -r1.59 -r1.60 objects.txt
--- openssl/crypto/objects/objects.txt 5 Apr 2006 12:06:32
-0000 1.59
+++ openssl/crypto/objects/objects.txt 18 Apr 2006
23:36:05 -0000 1.60
 -1122,7 +1122,7 
!Cname id-GostR3410-2001-cc
cryptocom 1 5 4 : gost2001cc : GOST 34.10-2001 Cryptocom
-cryptocom 1 3 3 :
id-GostR3410-11-94-with-GostR3411-94-cc : GOST R 34.10 with
GOST R 34.11-94 Cryptocom
-cryptocom 1 3 4 : id-GostR3410-2001-with-GostR3411-94-cc
: GOST R 34.10-2001 with GOST R 34.10-94 Cryptocom
+cryptocom 1 3 3 : id-GostR3411-94-with-GostR3410-94-cc :
GOST R 34.11-94 with GOST R 34.10-94 Cryptocom
+cryptocom 1 3 4 : id-GostR3411-94-with-GostR3410-2001-cc
: GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom
cryptocom 1 8 1 : id-GostR3410-2001-ParamSet-cc : GOST R
3410-2001 Parameter Set Cryptocom
 .
patch -p0 <<' .'
Index: openssl/crypto/objects/objxref.pl
============================================================
================
$ cvs diff -u -r0 -r1.1 objxref.pl
--- /dev/null 2006-04-19 01:35:23 +0200
+++ objxref.pl 2006-04-19 01:36:07 +0200
 -0,0 +1,91 
+#!/usr/local/bin/perl
+
+open IN, "obj_mac.num";
+
+# Read in OID nid values for a lookup table.
+
+while (<IN>)
+ {
+ chomp;
+ my ($name, $num) = /^(\S+)\s+(\S+)$/;
+ $oid_tbl{$name} = $num;
+ }
+close IN;
+
+open IN, "obj_xref.txt";
+
+my $ln = 1;
+
+while (<IN>)
+ {
+ chomp;
+ s/#.*$//;
+ next if (/^\S*$/);
+ my ($xr, $p1, $p2) = /^(\S+)\s+(\S+)\s+(\S+)/;
+ check_oid($xr);
+ check_oid($p1);
+ check_oid($p2);
+ $xref_tbl{$xr} = [$p1, $p2, $ln];
+ }
+
+my xrkeys = keys %xref_tbl;
+
+my srt1 = sort { $oid_tbl{$a} <=> $oid_tbl{$b}}
xrkeys;
+
+for(my $i = 0; $i <= $#srt1; $i++)
+ {
+ $xref_tbl{$srt1[$i]}[2] = $i;
+ }
+
+my srt2 = sort
+ {
+ my$ap1 = $oid_tbl{$xref_tbl{$a}[0]};
+ my$bp1 = $oid_tbl{$xref_tbl{$b}[0]};
+ return $ap1 - $bp1 if ($ap1 != $bp1);
+ my$ap2 = $oid_tbl{$xref_tbl{$a}[1]};
+ my$bp2 = $oid_tbl{$xref_tbl{$b}[1]};
+
+ return $ap2 - $bp2;
+ } xrkeys;
+
+
+print <<EOF;
+
+typedef int nid_triple[3];
+
+static const nid_triple sigoid_srt[] =
+ {
+EOF
+
+foreach ( srt1)
+ {
+ my $xr = $_;
+ my ($p1, $p2) = {$xref_tbl{$_}};
+ print "\t{NID_$xr, NID_$p1, NID_$p2},\n";
+ }
+
+print "\t};";
+print <<EOF;
+
+
+static const nid_triple * const sigoid_srt_xref[] =
+ {
+EOF
+
+foreach ( srt2)
+ {
+ my $x = $xref_tbl{$_}[2];
+ print "\t\&sigoid_srt\[$x\],\n";
+ }
+
+print "\t};\n\n";
+
+sub check_oid
+ {
+ my ($chk) = _;
+ if (!exists $oid_tbl{$chk})
+ {
+ die "Not Found \"$chk\"\n";
+ }
+ }
+
 .
patch -p0 <<' .'
Index: openssl/crypto/pkcs7/Makefile
============================================================
================
$ cvs diff -u -r1.5 -r1.6 Makefile
--- openssl/crypto/pkcs7/Makefile 4 Feb 2006 01:45:41
-0000 1.5
+++ openssl/crypto/pkcs7/Makefile 18 Apr 2006 23:36:07
-0000 1.6
 -147,7 +147,7 
pk7_lib.o: ../../include/openssl/safestack.h
../../include/openssl/sha.h
pk7_lib.o: ../../include/openssl/stack.h
../../include/openssl/symhacks.h
pk7_lib.o: ../../include/openssl/x509.h
../../include/openssl/x509_vfy.h
-pk7_lib.o: ../cryptlib.h pk7_lib.c
+pk7_lib.o: ../asn1/asn1_locl.h ../cryptlib.h pk7_lib.c
pk7_mime.o: ../../e_os.h ../../include/openssl/asn1.h
pk7_mime.o: ../../include/openssl/bio.h
../../include/openssl/buffer.h
pk7_mime.o: ../../include/openssl/crypto.h
../../include/openssl/e_os2.h
 .
____________________________________________________________
__________
OpenSSL Project http://www.openssl.org
CVS Repository Commit List
openssl-cvs openssl.org
Automated List Manager
majordomo openssl.org
|