Commit 2ca873e8 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

transparently handle X9.42 DH parameters

parent 7a236261
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -4,6 +4,11 @@

 Changes between 1.0.1 and 1.1.0  [xx XXX xxxx]

  *) Transparently support X9.42 DH parameters when calling
     PEM_read_bio_DHparameters. This means existing applications can handle
     the new parameter format automatically.
     [Steve Henson]

  *) Initial experimental support for X9.42 DH parameter format: mainly
     to support use of 'q' parameter for RFC5114 parameters.
     [Steve Henson]
+6 −1
Original line number Diff line number Diff line
@@ -513,7 +513,12 @@ bad:
		if 	(outformat == FORMAT_ASN1)
			i=i2d_DHparams_bio(out,dh);
		else if (outformat == FORMAT_PEM)
			{
			if (dh->q)
				i=PEM_write_bio_DHxparams(out,dh);
			else
				i=PEM_write_bio_DHparams(out,dh);
			}
		else	{
			BIO_printf(bio_err,"bad output format specified for outfile\n");
			goto end;
+2 −0
Original line number Diff line number Diff line
@@ -594,8 +594,10 @@ void ERR_load_PEM_strings(void);
#define PEM_F_PEM_PK8PKEY				 119
#define PEM_F_PEM_READ					 108
#define PEM_F_PEM_READ_BIO				 109
#define PEM_F_PEM_READ_BIO_DHPARAMS			 141
#define PEM_F_PEM_READ_BIO_PARAMETERS			 140
#define PEM_F_PEM_READ_BIO_PRIVATEKEY			 123
#define PEM_F_PEM_READ_DHPARAMS				 142
#define PEM_F_PEM_READ_PRIVATEKEY			 124
#define PEM_F_PEM_SEALFINAL				 110
#define PEM_F_PEM_SEALINIT				 111
+1 −1
Original line number Diff line number Diff line
@@ -289,7 +289,7 @@ EC_KEY *PEM_read_ECPrivateKey(FILE *fp, EC_KEY **eckey, pem_password_cb *cb,

#ifndef OPENSSL_NO_DH

IMPLEMENT_PEM_rw_const(DHparams, DH, PEM_STRING_DHPARAMS, DHparams)
IMPLEMENT_PEM_write_const(DHparams, DH, PEM_STRING_DHPARAMS, DHparams)
IMPLEMENT_PEM_write_const(DHxparams, DH, PEM_STRING_DHXPARAMS, DHxparams)

#endif
+3 −1
Original line number Diff line number Diff line
/* crypto/pem/pem_err.c */
/* ====================================================================
 * Copyright (c) 1999-2007 The OpenSSL Project.  All rights reserved.
 * Copyright (c) 1999-2011 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
@@ -98,8 +98,10 @@ static ERR_STRING_DATA PEM_str_functs[]=
{ERR_FUNC(PEM_F_PEM_PK8PKEY),	"PEM_PK8PKEY"},
{ERR_FUNC(PEM_F_PEM_READ),	"PEM_read"},
{ERR_FUNC(PEM_F_PEM_READ_BIO),	"PEM_read_bio"},
{ERR_FUNC(PEM_F_PEM_READ_BIO_DHPARAMS),	"PEM_READ_BIO_DHPARAMS"},
{ERR_FUNC(PEM_F_PEM_READ_BIO_PARAMETERS),	"PEM_read_bio_Parameters"},
{ERR_FUNC(PEM_F_PEM_READ_BIO_PRIVATEKEY),	"PEM_READ_BIO_PRIVATEKEY"},
{ERR_FUNC(PEM_F_PEM_READ_DHPARAMS),	"PEM_READ_DHPARAMS"},
{ERR_FUNC(PEM_F_PEM_READ_PRIVATEKEY),	"PEM_READ_PRIVATEKEY"},
{ERR_FUNC(PEM_F_PEM_SEALFINAL),	"PEM_SealFinal"},
{ERR_FUNC(PEM_F_PEM_SEALINIT),	"PEM_SealInit"},
Loading