List Info

Thread: OpenSSL: openssl/ CHANGES openssl/crypto/ec/ Makefile openssl/cr...




OpenSSL: openssl/ CHANGES openssl/crypto/ec/ Makefile openssl/cr...
user name
2006-04-18 23:36:08
  OpenSSL CVS Repository
  http://cvs.openssl.org/
 
____________________________________________________________
________________

  Server: cvs.openssl.org                  Name:   Dr.
Stephen Henson
  Root:   /v/openssl/cvs                   Email:  steveopenssl.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 (shensonbigfoot.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
  + *    licensingOpenSSL.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
  + * (eaycryptsoft.com).  This product includes software
written by Tim
  + * Hudson (tjhcryptsoft.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-cvsopenssl.org
Automated List Manager                          
majordomoopenssl.org
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )