projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix header files so that any one can be included first.
[oweals/openssl.git]
/
crypto
/
x509
/
x509_req.c
diff --git
a/crypto/x509/x509_req.c
b/crypto/x509/x509_req.c
index c1f10c2428616a64fd5b93fede1be217aeebd81a..2ef94decd1446107576699d394f3cb88b5100993 100644
(file)
--- a/
crypto/x509/x509_req.c
+++ b/
crypto/x509/x509_req.c
@@
-1,5
+1,5
@@
/* crypto/x509/x509_req.c */
/* crypto/x509/x509_req.c */
-/* Copyright (C) 1995-199
7
Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-199
8
Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
* This package is an SSL implementation written
* All rights reserved.
*
* This package is an SSL implementation written
@@
-58,21
+58,20
@@
#include <stdio.h>
#include "cryptlib.h"
#include <stdio.h>
#include "cryptlib.h"
-#include
"bn.h"
-#include
"evp.h"
-#include
"asn1.h"
-#include
"x509.h"
-#include
"objects.h"
-#include
"buffer.h"
-#include
"pem.h"
+#include
<openssl/bn.h>
+#include
<openssl/evp.h>
+#include
<openssl/asn1.h>
+#include
<openssl/x509.h>
+#include
<openssl/objects.h>
+#include
<openssl/buffer.h>
+#include
<openssl/pem.h>
-X509_REQ *X509_to_X509_REQ(x,pkey)
-X509 *x;
-EVP_PKEY *pkey;
+X509_REQ *X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, EVP_MD *md)
{
X509_REQ *ret;
X509_REQ_INFO *ri;
int i;
{
X509_REQ *ret;
X509_REQ_INFO *ri;
int i;
+ EVP_PKEY *pktmp;
ret=X509_REQ_new();
if (ret == NULL)
ret=X509_REQ_new();
if (ret == NULL)
@@
-91,21
+90,26
@@
EVP_PKEY *pkey;
if (!X509_REQ_set_subject_name(ret,X509_get_subject_name(x)))
goto err;
if (!X509_REQ_set_subject_name(ret,X509_get_subject_name(x)))
goto err;
- i=X509_REQ_set_pubkey(ret,X509_get_pubkey(x));
+ pktmp = X509_get_pubkey(x);
+ i=X509_REQ_set_pubkey(ret,pktmp);
+ EVP_PKEY_free(pktmp);
if (!i) goto err;
if (!i) goto err;
-/* NEEDS FIXING EAY EAY EAY */
- if (!X509_REQ_sign(ret,pkey,EVP_md5()))
- goto err;
+ if (pkey != NULL)
+ {
+ if (!X509_REQ_sign(ret,pkey,md))
+ goto err;
+ }
return(ret);
err:
X509_REQ_free(ret);
return(NULL);
}
return(ret);
err:
X509_REQ_free(ret);
return(NULL);
}
-EVP_PKEY *X509_REQ_get_pubkey(req)
-X509_REQ *req;
+EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req)
{
{
+ if ((req == NULL) || (req->req_info == NULL))
+ return(NULL);
return(X509_PUBKEY_get(req->req_info->pubkey));
}
return(X509_PUBKEY_get(req->req_info->pubkey));
}