• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/openssl-0.9.8e/demos/maurice/
1/* NOCW */
2/*
3        Please read the README file for condition of use, before
4        using this software.
5
6        Maurice Gittens  <mgittens@gits.nl>   January 1997
7
8*/
9
10#include <unistd.h>
11#include <stdio.h>
12#include <netinet/in.h>
13#include <fcntl.h>
14#include <strings.h>
15#include <stdlib.h>
16
17#include <openssl/rsa.h>
18#include <openssl/evp.h>
19#include <openssl/objects.h>
20#include <openssl/x509.h>
21#include <openssl/err.h>
22#include <openssl/pem.h>
23#include <openssl/ssl.h>
24
25EVP_PKEY * ReadPublicKey(const char *certfile)
26{
27  FILE *fp = fopen (certfile, "r");
28  X509 *x509;
29  EVP_PKEY *pkey;
30
31  if (!fp)
32     return NULL;
33
34  x509 = PEM_read_X509(fp, NULL, 0, NULL);
35
36  if (x509 == NULL)
37  {
38     ERR_print_errors_fp (stderr);
39     return NULL;
40  }
41
42  fclose (fp);
43
44  pkey=X509_extract_key(x509);
45
46  X509_free(x509);
47
48  if (pkey == NULL)
49     ERR_print_errors_fp (stderr);
50
51  return pkey;
52}
53
54EVP_PKEY *ReadPrivateKey(const char *keyfile)
55{
56	FILE *fp = fopen(keyfile, "r");
57	EVP_PKEY *pkey;
58
59	if (!fp)
60		return NULL;
61
62	pkey = PEM_read_PrivateKey(fp, NULL, 0, NULL);
63
64	fclose (fp);
65
66  	if (pkey == NULL)
67		ERR_print_errors_fp (stderr);
68
69	return pkey;
70}
71
72
73