1#!/bin/sh
2
3openssl genrsa -out ca.key 2048
4openssl req -x509 -new -nodes -key ca.key -days 1460 -subj '/CN=SymfonyMime CA/O=SymfonyMime/L=Paris/C=FR' -out ca.crt
5openssl x509 -in ca.crt -clrtrust -out ca.crt
6
7## Sign
8
9openssl genrsa -out sign.key 2048
10openssl req -new -key sign.key -subj '/CN=fabien@symfony.com/O=SymfonyMime/L=Paris/C=FR/emailAddress=fabien@symfony.com' -out sign.csr
11openssl x509 -req -in sign.csr -CA ca.crt -CAkey ca.key -out sign.crt -days 1460 -addtrust emailProtection
12openssl x509 -in sign.crt -clrtrust -out sign.crt
13
14rm sign.csr
15
16openssl genrsa -out intermediate.key 2048
17openssl req -new -key intermediate.key -subj '/CN=SymfonyMime Intermediate/O=SymfonyMime/L=Paris/C=FR' -out intermediate.csr
18openssl x509 -req -in intermediate.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out intermediate.crt -days 1460
19openssl x509 -in intermediate.crt -clrtrust -out intermediate.crt
20
21rm intermediate.csr
22
23openssl genrsa -out sign2.key 2048
24openssl req -new -key sign2.key -subj '/CN=SymfonyMime-User2/O=SymfonyMime/L=Paris/C=FR' -out sign2.csr
25openssl x509 -req -in sign2.csr -CA intermediate.crt -CAkey intermediate.key -set_serial 01 -out sign2.crt -days 1460 -addtrust emailProtection
26openssl x509 -in sign2.crt -clrtrust -out sign2.crt
27
28rm sign2.csr
29
30### Sign with passphrase
31openssl genrsa -aes256 -passout pass:symfony-rocks -out sign3.key 2048
32openssl req -new -key sign3.key -passin pass:symfony-rocks -subj '/CN=SymfonyMime-User3/O=SymfonyMime/L=Paris/C=FR' -out sign3.csr
33openssl x509 -req -in sign3.csr -CA ca.crt -CAkey ca.key -out sign3.crt -days 1460 -addtrust emailProtection
34openssl x509 -in sign3.crt -clrtrust -out sign3.crt
35
36rm sign3.csr
37
38## Encrypt
39
40openssl genrsa -out encrypt.key 2048
41openssl req -new -key encrypt.key -subj '/CN=SymfonyMime-User/O=SymfonyMime/L=Paris/C=FR' -out encrypt.csr
42openssl x509 -req -in encrypt.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out encrypt.crt -days 1460 -addtrust emailProtection
43openssl x509 -in encrypt.crt -clrtrust -out encrypt.crt
44
45rm encrypt.csr
46
47openssl genrsa -out encrypt2.key 2048
48openssl req -new -key encrypt2.key -subj '/CN=SymfonyMime-User2/O=SymfonyMime/L=Paris/C=FR' -out encrypt2.csr
49openssl x509 -req -in encrypt2.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out encrypt2.crt -days 1460 -addtrust emailProtection
50openssl x509 -in encrypt2.crt -clrtrust -out encrypt2.crt
51
52rm encrypt2.csr
53