os/security/cryptoservices/certificateandkeymgmt/testcertificates/openssl/generateCerts.pl
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
#
sl@0
     2
# Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
# All rights reserved.
sl@0
     4
# This component and the accompanying materials are made available
sl@0
     5
# under the terms of the License "Eclipse Public License v1.0"
sl@0
     6
# which accompanies this distribution, and is available
sl@0
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
#
sl@0
     9
# Initial Contributors:
sl@0
    10
# Nokia Corporation - initial contribution.
sl@0
    11
#
sl@0
    12
# Contributors:
sl@0
    13
#
sl@0
    14
# Description: 
sl@0
    15
# Generate certs for testing OCSP against OpenSSL implementation
sl@0
    16
#
sl@0
    17
sl@0
    18
sl@0
    19
# address of the Root5 responder, needed for Authority Info Access cert
sl@0
    20
my $ocspR5addr = "http://cam-ocsptest01.intra:19003"; 
sl@0
    21
sl@0
    22
# Address of the Apache server used for serving remote JAR files
sl@0
    23
my $apacheaddr = "cam-ocsptest01.intra";
sl@0
    24
sl@0
    25
sl@0
    26
sub head(@)
sl@0
    27
{
sl@0
    28
	my $src=shift(@_);
sl@0
    29
	my $dest=shift(@_);
sl@0
    30
	my $lines=shift(@_);
sl@0
    31
sl@0
    32
	open(IN,"< $src")  or print("Can't open $src");
sl@0
    33
	open(OUT,"> $dest") or print("Can't open $dest");
sl@0
    34
	 
sl@0
    35
	for (my $count=0; $count < $lines; $count++)
sl@0
    36
	{
sl@0
    37
		my $fline=<IN>;
sl@0
    38
		print OUT $fline;
sl@0
    39
	}
sl@0
    40
	close(IN);
sl@0
    41
	close(OUT);
sl@0
    42
}
sl@0
    43
sl@0
    44
sub createfile(@)
sl@0
    45
{
sl@0
    46
	open(TOUCH,">shift(@_)");
sl@0
    47
	close(TOUCH);
sl@0
    48
}
sl@0
    49
sl@0
    50
# Create ca files
sl@0
    51
sub mkcadirs(@)
sl@0
    52
{
sl@0
    53
	my $cadir=shift(@_);
sl@0
    54
sl@0
    55
	unlink($cadir);
sl@0
    56
	mkdir($cadir);
sl@0
    57
	open(TOUCH,">$cadir\\index.txt");
sl@0
    58
	close(TOUCH);
sl@0
    59
	system("echo 01 > $cadir\\serial");
sl@0
    60
	mkdir "$cadir\\private" ;
sl@0
    61
	mkdir "$cadir\\certs";
sl@0
    62
}
sl@0
    63
sl@0
    64
sl@0
    65
sl@0
    66
sl@0
    67
sl@0
    68
# Trash existing data
sl@0
    69
sl@0
    70
use File::Path;
sl@0
    71
sl@0
    72
rmtree ("Root1",0,true);
sl@0
    73
rmtree ("Root2",0,true);
sl@0
    74
rmtree ("Root5",0,true);
sl@0
    75
rmtree ("OCSPSigningRoot",0,true);
sl@0
    76
rmtree ("Apache",0,true);
sl@0
    77
rmtree ("Certs",0,true);
sl@0
    78
mkdir "Certs";
sl@0
    79
sl@0
    80
	 
sl@0
    81
sl@0
    82
#############################################################
sl@0
    83
## OCSP	Certificates for testing
sl@0
    84
##
sl@0
    85
## There are three roots for testing OCSP, Root1, Root2 and Root5
sl@0
    86
##
sl@0
    87
#############################################################
sl@0
    88
sl@0
    89
sl@0
    90
sl@0
    91
# Root1 ##########################################################################
sl@0
    92
sl@0
    93
mkcadirs("Root1");
sl@0
    94
$cert_path = "$ENV{'SECURITYSOURCEDIR'}\\testframework\\testcertificates\\certman\\testcertificates";
sl@0
    95
  
sl@0
    96
# Generate root cert
sl@0
    97
system("openssl req -extensions NoOCSP_Ext -config openssl.config -x509 -newkey rsa:1024 -keyout Root1\\private\\ca.key.pem -out Root1\\Certs\\ca.pem -subj \"/O=Symbian Software Ltd/CN=Root1-RSA\" -days 3650 -nodes"); 
sl@0
    98
system("openssl x509 -in $cert_path\\openssl\\Root1\\Certs\\ca.pem -outform DER -out $cert_path\\openssl\\Certs\\Root1-RSA.der");
sl@0
    99
sl@0
   100
# Generate Expired-R1
sl@0
   101
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root1\\private\\Expired-R1.key.pem -out Root1\\Expired-R1.req.pem -subj \"/O=Symbian Software Ltd/CN=Expired-R1\" -days 3650 -nodes");
sl@0
   102
system("openssl ca  -out $cert_path\\openssl\\Root1\\Certs\\Expired-R1.pem -config openssl.config -name Root1 -in $cert_path\\openssl\\Root1\\Expired-R1.req.pem -batch -startdate 820203120000Z -enddate 820203120001Z");
sl@0
   103
system("openssl x509 -in $cert_path\\openssl\\Root1\\Certs\\Expired-R1.pem -outform DER -out $cert_path\\openssl\\Certs\\Expired-R1.der");
sl@0
   104
sl@0
   105
# Generate Good-R1
sl@0
   106
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root1\\private\\Good-R1.key.pem -out $cert_path\\openssl\\Root1\\Good-R1.req.pem -subj \"/O=Symbian Software Ltd/CN=Good-R1\" -days 3650 -nodes");
sl@0
   107
system("openssl ca  -config openssl.config -out $cert_path\\openssl\\Root1\\Certs\\Good-R1.pem -name Root1 -in Root1\\Good-R1.req.pem -batch -days 3650");
sl@0
   108
system("openssl x509 -in $cert_path\\openssl\\Root1\\Certs\\Good-R1.pem -outform DER -out $cert_path\\openssl\\Certs\\Good-R1.der");
sl@0
   109
sl@0
   110
# Generate Revoked-R1
sl@0
   111
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root1\\private\\Revoked-R1.key.pem -out $cert_path\\openssl\\Root1\\Revoked-R1.req.pem -subj \"/O=Symbian Software Ltd/CN=Revoked-R1\" -days 3650 -nodes");
sl@0
   112
system("openssl ca  -out $cert_path\\openssl\\Root1\\Certs\\Revoked-R1.pem -config openssl.config -name Root1 -in $cert_path\\openssl\\Root1\\Revoked-R1.req.pem -batch -days 3650");
sl@0
   113
system("openssl x509 -in $cert_path\\openssl\\Root1\\Certs\\Revoked-R1.pem -outform DER -out $cert_path\\openssl\\Certs\\Revoked-R1.der");
sl@0
   114
system("openssl ca -config openssl.config -name Root1 -revoke $cert_path\\openssl\\Root1\\Certs\\Revoked-R1.pem -crl_reason keyCompromise");
sl@0
   115
sl@0
   116
# Generate Unknown-R1
sl@0
   117
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root1\\private\\Unknown-R1.key.pem -out $cert_path\\openssl\\Root1\\Unknown-R1.req.pem -subj \"/O=Symbian Software Ltd/CN=Unknown-R1\" -days 3650 -nodes");
sl@0
   118
system("openssl ca  -out $cert_path\\openssl\\Root1\\Certs\\Unknown-R1.pem -config openssl.config -name Root1 -in $cert_path\\openssl\\Root1\\Unknown-R1.req.pem -batch -days 3650");
sl@0
   119
system("openssl x509 -in $cert_path\\openssl\\Root1\\Certs\\Unknown-R1.pem -outform DER -out $cert_path\\openssl\\Certs\\Unknown-R1.der");
sl@0
   120
sl@0
   121
# remove Unknown-R1 from the CA
sl@0
   122
rename("Root1\\index.txt","Root1\\index.txt.new");
sl@0
   123
head("Root1\\index.txt.new","Root1\\index.txt",3);
sl@0
   124
unlink("Root1\\Certs\\Unknown-R1.pem.pem");
sl@0
   125
unlink("Root1\\index.txt.new");
sl@0
   126
sl@0
   127
# Generate OCSPSigner-R1
sl@0
   128
system("openssl req -extensions NoOCSP_Ext -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root1\\private\\OCSPSigner-R1.key.pem -out $cert_path\\openssl\\Root1\\OCSPSigner-R1.req.pem -subj \"/O=Symbian Software Ltd/CN=OCSPSigner-R1\" -days 3650 -nodes");
sl@0
   129
system("openssl ca  -extensions NoOCSP_Ext -config openssl.config -name $cert_path\\openssl\\Root1 -in $cert_path\\openssl\\Root1\\OCSPSigner-R1.req.pem -batch -days 3650");
sl@0
   130
system("openssl x509 -in $cert_path\\openssl\\Root1\\Certs\\05.pem -outform DER -out $cert_path\\openssl\\Certs\\OCSPSigner-R1.der");
sl@0
   131
sl@0
   132
sl@0
   133
# Root2 ##########################################################################
sl@0
   134
sl@0
   135
mkcadirs("Root2");
sl@0
   136
sl@0
   137
sl@0
   138
system("openssl dsaparam -out Root2\\dsaparam.pem 1024");
sl@0
   139
my $keyParams= "-newkey dsa:Root2\\dsaparam.pem";
sl@0
   140
sl@0
   141
# my $keyParams="-newkey rsa:1024";
sl@0
   142
sl@0
   143
sl@0
   144
  
sl@0
   145
# Generate root cert
sl@0
   146
system("openssl req -extensions NoOCSP_Ext -config openssl.config -x509 $keyParams -keyout $cert_path\\openssl\\Root2\\private\\ca.key.pem -out $cert_path\\openssl\\Root2\\Certs\\ca.pem -subj \"/O=Symbian Software Ltd/CN=Root2-DSA\" -days 6000 -nodes"); 
sl@0
   147
system("openssl x509 -in $cert_path\\openssl\\Root2\\Certs\\ca.pem -outform DER -out $cert_path\\openssl\\Certs\\Root2-DSA.der");
sl@0
   148
sl@0
   149
# Generate Expired-R2
sl@0
   150
system("openssl req -config openssl.config $keyParams -keyout $cert_path\\openssl\\Root2\\private\\Expired-R2.key.pem -out $cert_path\\openssl\\Root2\\Expired-R2.req.pem -subj \"/O=Symbian Software Ltd/CN=Expired-R2\" -days 3650 -nodes");
sl@0
   151
system("openssl ca  -config openssl.config -name Root2 -in $cert_path\\openssl\\Root2\\Expired-R2.req.pem -batch -out $cert_path\\openssl\\Root2\\Certs\\Expired-R2.pem -startdate 820203120000Z -enddate 820203120001Z");
sl@0
   152
system("openssl x509 -in Root2\\Certs\\Expired-R2.pem -outform DER -out $cert_path\\openssl\\Certs\\Expired-R2.der");
sl@0
   153
sl@0
   154
# Generate Good-R2
sl@0
   155
system("openssl req -config openssl.config $keyParams -keyout $cert_path\\openssl\\Root2\\private\\Good-R2.key.pem -out $cert_path\\openssl\\Root2\\Good-R2.req.pem -subj \"/O=Symbian Software Ltd/CN=Good-R2\" -days 3650 -nodes");
sl@0
   156
system("openssl ca  -config openssl.config -name Root2 -in $cert_path\\openssl\\Root2\\Good-R2.req.pem -batch -days 3650");
sl@0
   157
system("openssl x509 -in $cert_path\\openssl\\Root2\\Certs\\02.pem -outform DER -out $cert_path\\openssl\\Certs\\Good-R2.der");
sl@0
   158
sl@0
   159
# Generate Revoked-R2
sl@0
   160
system("openssl req -config openssl.config $keyParams -keyout $cert_path\\openssl\\Root2\\private\\Revoked-R2.key.pem -out $cert_path\\openssl\\Root2\\Revoked-R2.req.pem -subj \"/O=Symbian Software Ltd/CN=Revoked-R2\" -days 3650 -nodes");
sl@0
   161
system("openssl ca  -config openssl.config -name $cert_path\\openssl\\Root2 -in $cert_path\\openssl\\Root2\\Revoked-R2.req.pem -batch -days 3650");
sl@0
   162
system("openssl x509 -in $cert_path\\openssl\\Root2\\Certs\\03.pem -outform DER -out $cert_path\\openssl\\Certs\\Revoked-R2.der");
sl@0
   163
system("openssl ca -config openssl.config -name Root2 -revoke Root2\\Certs\\03.pem -crl_reason keyCompromise");
sl@0
   164
sl@0
   165
# Generate Unknown-R2
sl@0
   166
system("openssl req -config openssl.config $keyParams -keyout $cert_path\\openssl\\Root2\\private\\Unknown-R2.key.pem -out Root2\\Unknown-R2.req.pem -subj \"/O=Symbian Software Ltd/CN=Unknown-R2\" -days 3650 -nodes");
sl@0
   167
system("openssl ca  -config openssl.config -name Root2 -in $cert_path\\openssl\\Root2\\Unknown-R2.req.pem -batch -days 3650");
sl@0
   168
system("openssl x509 -in Root2\\Certs\\04.pem -outform DER -out $cert_path\\openssl\\Certs\\Unknown-R2.der");
sl@0
   169
sl@0
   170
# remove Unknown-R2 from the CA
sl@0
   171
rename("Root2\\index.txt","Root2\\index.txt.new");
sl@0
   172
head("Root2\\index.txt.new","Root2\\index.txt",3);
sl@0
   173
unlink("Root2\\Certs\\04.pem");
sl@0
   174
sl@0
   175
sl@0
   176
# Generate OCSPSigner-R2
sl@0
   177
system("openssl req -extensions NoOCSP_Ext -config openssl.config $keyParams -keyout $cert_path\\openssl\\Root2\\private\\OCSPSigner-R2.key.pem -out $cert_path\\openssl\\Root2\\OCSPSigner-R2.req.pem -subj \"/O=Symbian Software Ltd/CN=OCSPSigner-R2\" -days 6000 -nodes");
sl@0
   178
system("openssl ca  -extensions NoOCSP_Ext -config openssl.config -name $cert_path\\openssl\\Root2 -in $cert_path\\openssl\\Root2\\OCSPSigner-R2.req.pem -batch -days 6000");
sl@0
   179
system("openssl x509 -in $cert_path\\openssl\\Root2\\Certs\\05.pem -outform DER -out $cert_path\\openssl\\Certs\\OCSPSigner-R2.der");
sl@0
   180
sl@0
   181
sl@0
   182
# Root5 ##########################################################################
sl@0
   183
sl@0
   184
mkcadirs("Root5");
sl@0
   185
  
sl@0
   186
# Generate root cert
sl@0
   187
system("openssl req -extensions Root5_Root_Ext -config openssl.config -x509 -newkey rsa:1024 -keyout Root5\\private\\ca.key.pem -out Root5\\Certs\\ca.pem -subj \"/O=Symbian Software Ltd/CN=Root5-RSA\" -days 3650 -nodes"); 
sl@0
   188
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\ca.pem -outform DER -out $cert_path\\openssl\\Certs\\Root5-RSA.der");
sl@0
   189
sl@0
   190
# Generate Expired-R5
sl@0
   191
system("openssl req  -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\Expired-R5.key.pem -out Root5\\Expired-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=Expired-R5\" -days 3650 -nodes");
sl@0
   192
system("openssl ca  -extensions Root5_Ext -config openssl.config -name Root5 -in Root5\\Expired-R5.req.pem -batch -startdate 820203120000Z -enddate 820203120001Z");
sl@0
   193
system("openssl x509 -in Root5\\Certs\\01.pem -outform DER -out $cert_path\\openssl\\Certs\\Expired-R5.der");
sl@0
   194
sl@0
   195
# Generate Good-R5
sl@0
   196
system("openssl req -config openssl.config -newkey rsa:1024 -keyout Root5\\private\\Good-R5.key.pem -out Root5\\Good-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=Good-R5\" -days 3650 -nodes");
sl@0
   197
system("openssl ca  -extensions Root5_Ext -config openssl.config -name Root5 -in Root5\\Good-R5.req.pem -batch -days 3650");
sl@0
   198
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\02.pem -outform DER -out $cert_path\\openssl\\Certs\\Good-R5.der");
sl@0
   199
sl@0
   200
# Generate Revoked-R5
sl@0
   201
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\Revoked-R5.key.pem -out $cert_path\\openssl\\Root5\\Revoked-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=Revoked-R5\" -days 3650 -nodes");
sl@0
   202
system("openssl ca  -extensions Root5_Ext -config openssl.config -name Root5 -in $cert_path\\openssl\\Root5\\Revoked-R5.req.pem -batch -days 3650");
sl@0
   203
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\03.pem -outform DER -out $cert_path\\openssl\\Certs\\Revoked-R5.der");
sl@0
   204
system("openssl ca -config openssl.config -name Root5 -revoke $cert_path\\openssl\\Root5\\Certs\\03.pem -crl_reason keyCompromise");
sl@0
   205
sl@0
   206
# Generate Unknown-R5
sl@0
   207
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\Unknown-R5.key.pem -out $cert_path\\openssl\\Root5\\Unknown-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=Unknown-R5\" -days 3650 -nodes");
sl@0
   208
system("openssl ca  -extensions Root5_Ext -config openssl.config -name Root5 -in $cert_path\\openssl\\Root5\\Unknown-R5.req.pem -batch -days 3650");
sl@0
   209
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\04.pem -outform DER -out $cert_path\\openssl\\Certs\\Unknown-R5.der");
sl@0
   210
sl@0
   211
# remove Unknown-R5 from the CA
sl@0
   212
rename("Root5\\index.txt","Root5\\index.txt.new");
sl@0
   213
head("Root5\\index.txt.new","Root5\\index.txt",3);
sl@0
   214
unlink("$cert_path\\openssl\\Root5\\Certs\\04.pem");
sl@0
   215
sl@0
   216
sl@0
   217
# Generate Mid-R5
sl@0
   218
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\Mid-R5.key.pem -out $cert_path\\openssl\\Root5\\Mid-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=Mid-R5\" -days 3650 -nodes");
sl@0
   219
system("openssl ca  -extensions Root5_Mid -config openssl.config -name Root5 -in $cert_path\\openssl\\Root5\\Mid-R5.req.pem -batch -days 3650");
sl@0
   220
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\05.pem -outform DER -out $cert_path\\openssl\\Certs\\Mid-R5.der");
sl@0
   221
sl@0
   222
use File::Copy;
sl@0
   223
sl@0
   224
copy("$cert_path\\openssl\\Root5\\private\\ca.key.pem","$cert_path\\openssl\\Root5-Mid\\Private\\Mid-R5.key.pem");
sl@0
   225
copy("$cert_path\\openssl\\Root5\\Certs\\05.pem","$cert_path\\openssl\\Root5-Mid\\Certs\\Mid-R5.pem");
sl@0
   226
sl@0
   227
system("openssl req -config openssl.config  -extensions Root5_Mid_EE -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\Good-M5.key.pem -out $cert_path\\openssl\\Root5\\Good-M5.req.pem -subj \"/O=Symbian Software Ltd/CN=Good-M5\" -days 3650 -nodes");
sl@0
   228
system("openssl x509 -extfile Good-M5.extensions -req -in $cert_path\\openssl\\Root5\\Good-M5.req.pem -CA $cert_path\\openssl\\Root5\\certs\\05.pem -CAkey $cert_path\\openssl\\Root5\\private\\Mid-R5.key.pem -out $cert_path\\openssl\\Root5\\private\\Good-M5.cert.pem -CAserial Root5\\serial");
sl@0
   229
system("openssl x509 -in Root5\\private\\Good-M5.cert.pem -outform DER -out $cert_path\\openssl\\Certs\\Good-M5.der");
sl@0
   230
sl@0
   231
sl@0
   232
# Generate OCSPSigner-R5
sl@0
   233
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\OCSPSigner-R5.key.pem -out $cert_path\\openssl\\Root5\\OCSPSigner-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=OCSPSigner-R5\" -days 6000 -nodes");
sl@0
   234
system("openssl ca  -extensions NoOCSP_Ext -config openssl.config -name $cert_path\\openssl\\Root5 -in $cert_path\\openssl\\Root5\\OCSPSigner-R5.req.pem -batch -days 6000");
sl@0
   235
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\07.pem -outform DER -out $cert_path\\openssl\\Certs\\OCSPSigner-R5.der");
sl@0
   236
sl@0
   237
sl@0
   238
#Generate GoodAIA-R5 cert, server specified in cert extension
sl@0
   239
open(AIAEXT,">GoodAIA-R5.extension");
sl@0
   240
print AIAEXT "authorityInfoAccess = OCSP;URI:$ocspR5addr";
sl@0
   241
close(AIAEXT);
sl@0
   242
sl@0
   243
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\GoodAIA-R5.key.pem -out $cert_path\\openssl\\Root5\\GoodAIA-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=GoodAIA-R5\" -days 3650 -nodes");
sl@0
   244
system("openssl ca  -extfile GoodAIA-R5.extension -config openssl.config -name Root5 -in $cert_path\\openssl\\Root5\\GoodAIA-R5.req.pem -batch -days 3650");
sl@0
   245
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\08.pem -outform DER -out $cert_path\\openssl\\Certs\\GoodAIA-R5.der");
sl@0
   246
sl@0
   247
unlink "GoodAIA-R5.extension";			
sl@0
   248
sl@0
   249
sl@0
   250
# Apache certificate stuff
sl@0
   251
sl@0
   252
mkdir("Apache");
sl@0
   253
sl@0
   254
sl@0
   255
#Generate Apache-R5 cert, certificate used for SSL on apache server
sl@0
   256
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\Root5\\private\\Apache-R5.key.pem -out Root5\\Apache-R5.req.pem -subj \"/O=Symbian Software Ltd/CN=$apacheaddr\" -days 6000 -nodes");
sl@0
   257
system("openssl ca  -config openssl.config -name Root5 -in $cert_path\\openssl\\Root5\\Apache-R5.req.pem -batch -days 6000");
sl@0
   258
system("openssl x509 -in $cert_path\\openssl\\Root5\\Certs\\09.pem -outform DER -out $cert_path\\openssl\\Certs\\Apache-R5.der");
sl@0
   259
sl@0
   260
copy("Root5\\Certs\\09.pem","$cert_path\\openssl\\Apache\\Apache-R5.pem");
sl@0
   261
copy("Root5\\private\\$cert_path\\openssl\\Apache-R5.key.pem","$cert_path\\openssl\\Apache\\Apache-R5.key.pem");
sl@0
   262
sl@0
   263
copy("$cert_path\\openssl\\Root5\\Certs\ca.pem","$cert_path\\openssl\\Apache\\Root5-RSA.pem");
sl@0
   264
sl@0
   265
sl@0
   266
# OCSPSigningRoot ##########################################################################
sl@0
   267
sl@0
   268
mkcadirs("OCSPSigningRoot");
sl@0
   269
  
sl@0
   270
# Generate root cert
sl@0
   271
system("openssl req -config openssl.config -x509 -newkey rsa:1024 -keyout $cert_path\\openssl\\OCSPSigningRoot\\private\\ca.key.pem -out $cert_path\\openssl\\OCSPSigningRoot\\Certs\\ca.pem -subj \"/O=Symbian Software Ltd/CN=OCSPSigningRoot-RSA\" -days 3650 -nodes"); 
sl@0
   272
system("openssl x509 -in $cert_path\\openssl\\OCSPSigningRoot\\Certs\\ca.pem -outform DER -out $cert_path\\openssl\\Certs\\OCSPSigningRoot-RSA.der");
sl@0
   273
sl@0
   274
# Generate Signer-OCSPR
sl@0
   275
system("openssl req -config openssl.config -newkey rsa:1024 -keyout $cert_path\\openssl\\OCSPSigningRoot\\private\\Signer-OCSPR.key.pem -out $cert_path\\openssl\\OCSPSigningRoot\\Signer-OCSPR.req.pem -subj \"/O=Symbian Software Ltd/CN=Signer-OCSPR\" -days 3650 -nodes");
sl@0
   276
system("openssl ca  -config openssl.config -name OCSPSigningRoot -in $cert_path\\openssl\\OCSPSigningRoot\\Signer-OCSPR.req.pem -batch -days 3650");
sl@0
   277
system("openssl x509 -in $cert_path\\openssl\\OCSPSigningRoot\\Certs\\01.pem -outform DER -out $cert_path\\openssl\\Certs\\Signer-OCSPR.der");
sl@0
   278