Mercurial > hg > rc1
comparison vendor/pear/crypt_gpg/tools/build-keyring.sh @ 0:1e000243b222
vanilla 1.3.3 distro, I hope
author | Charlie Root |
---|---|
date | Thu, 04 Jan 2018 15:50:29 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1e000243b222 |
---|---|
1 #!/bin/sh | |
2 # | |
3 # Generates a PHP file containing the keyring state and various PGP data blobs | |
4 # required by Crypt_GPG unit tests. | |
5 # | |
6 # Running this script will require a lot of system entropy. Installing an | |
7 # entropy generator like 'randomsound' is recommended. | |
8 # | |
9 # Copyright (c) 2008 Michael Gauthier | |
10 # | |
11 | |
12 HOMEDIR=`pwd`"/test-keyring" | |
13 GPG="gpg --homedir $HOMEDIR --no-secmem --no-permission-warning --quiet --no-greeting" | |
14 DATA="Hello, Alice! Goodbye, Bob!" | |
15 | |
16 echo "Creating key homedir" | |
17 mkdir $HOMEDIR | |
18 | |
19 # create temp files for signing | |
20 cp test-file-small $HOMEDIR/clearsigned-data | |
21 cp test-file-small $HOMEDIR/detached-signature | |
22 cp test-file-small $HOMEDIR/normal-signed-data | |
23 cp test-file-small $HOMEDIR/dual-clearsigned-data | |
24 cp test-file-small $HOMEDIR/dual-detached-signature | |
25 cp test-file-small $HOMEDIR/dual-normal-signed-data | |
26 | |
27 # create temp files for encrypting | |
28 cp test-file-medium $HOMEDIR/encrypted-data-file | |
29 cp test-file-medium $HOMEDIR/encrypted-data-no-passphrase-file | |
30 cp test-file-medium $HOMEDIR/encrypted-data-missing-key-file | |
31 cp test-file-medium $HOMEDIR/dual-encrypted-data-file | |
32 cp test-file-medium $HOMEDIR/dual-encrypted-data-one-passphrase-file | |
33 | |
34 # BUILDING KEYS | |
35 | |
36 # second-keypair@example.com | |
37 echo "Creating first-keypair@example.com" | |
38 echo "1 | |
39 2048 | |
40 0 | |
41 First Keypair Test Key | |
42 first-keypair@example.com | |
43 do not encrypt important data with this key | |
44 test1 | |
45 " | $GPG --command-fd 0 --gen-key | |
46 | |
47 # second-keypair@example.com | |
48 echo "Creating second-keypair@example.com" | |
49 echo "1 | |
50 2048 | |
51 0 | |
52 Second Keypair Test Key | |
53 second-keypair@example.com | |
54 do not encrypt important data with this key | |
55 test2 | |
56 " | $GPG --command-fd 0 --gen-key | |
57 | |
58 # public-only@example.com | |
59 echo "Creating public-only@example.com" | |
60 echo "1 | |
61 2048 | |
62 0 | |
63 Public Only Test Key | |
64 public-only@example.com | |
65 do not encrypt important data with this key | |
66 test | |
67 " | $GPG --command-fd 0 --gen-key | |
68 | |
69 # no-passphrase@example.com | |
70 echo "Creating no-passphrase@example.com" | |
71 echo "1 | |
72 2048 | |
73 0 | |
74 No Passphrase Public and Private Test Key | |
75 no-passphrase@example.com | |
76 do not encrypt important data with this key | |
77 | |
78 " | $GPG --command-fd 0 --gen-key | |
79 | |
80 # external-public@example.com | |
81 echo "Creating external-public@example.com" | |
82 echo "1 | |
83 2048 | |
84 0 | |
85 External Public Key | |
86 external-public@example.com | |
87 do not encrypt important data with this key | |
88 test | |
89 " | $GPG --command-fd 0 --gen-key | |
90 | |
91 # missing-key@example.com | |
92 echo "Creating missing-key@example.com" | |
93 echo "1 | |
94 2048 | |
95 0 | |
96 Missing Key | |
97 missing-key@example.com | |
98 do not encrypt important data with this key | |
99 test | |
100 " | $GPG --command-fd 0 --gen-key | |
101 | |
102 # DONE BUILDING KEYS | |
103 | |
104 # BUILDING FILES | |
105 | |
106 # encrypted-data.asc | |
107 echo "generating encrypted-data.asc" | |
108 echo -n $DATA | $GPG \ | |
109 --recipient first-keypair@example.com \ | |
110 --armor \ | |
111 --encrypt > $HOMEDIR/encrypted-data.asc | |
112 | |
113 # normal-signed-data.asc | |
114 echo "generating normal-signed-data.asc" | |
115 echo "test1" | $GPG \ | |
116 --command-fd 0 \ | |
117 --armor \ | |
118 --local-user first-keypair@example.com \ | |
119 --sign $HOMEDIR/normal-signed-data | |
120 | |
121 # clearsigned-data.asc | |
122 echo "generating clearsigned-data.asc" | |
123 echo "test1" | $GPG \ | |
124 --command-fd 0 \ | |
125 --armor \ | |
126 --local-user first-keypair@example.com \ | |
127 --clearsign $HOMEDIR/clearsigned-data | |
128 | |
129 # detached-signature.asc | |
130 echo "generating detached-signature.asc" | |
131 echo "test1" | $GPG \ | |
132 --command-fd 0 \ | |
133 --armor \ | |
134 --local-user first-keypair@example.com \ | |
135 --detach-sign $HOMEDIR/detached-signature | |
136 | |
137 # dual-encrypted-data@example.com | |
138 echo "generating dual-encrypted-data.asc" | |
139 echo -n $DATA | $GPG \ | |
140 --recipient first-keypair@example.com \ | |
141 --recipient second-keypair@example.com \ | |
142 --armor \ | |
143 --encrypt > $HOMEDIR/dual-encrypted-data.asc | |
144 | |
145 # dual-normal-signed-data.asc | |
146 echo "generating dual-normal-signed-data.asc" | |
147 echo "test1 | |
148 test2" | $GPG \ | |
149 --command-fd 0 \ | |
150 --armor \ | |
151 --local-user second-keypair@example.com \ | |
152 --local-user first-keypair@example.com \ | |
153 --sign $HOMEDIR/dual-normal-signed-data | |
154 | |
155 # dual-clearsigned-data.asc | |
156 echo "generating dual-clearsigned-data.asc" | |
157 echo "test1 | |
158 test2" | $GPG \ | |
159 --command-fd 0 \ | |
160 --armor \ | |
161 --local-user second-keypair@example.com \ | |
162 --local-user first-keypair@example.com \ | |
163 --clearsign $HOMEDIR/dual-clearsigned-data | |
164 | |
165 # dual-detached-signature.asc | |
166 echo "generating dual-detached-signature.asc" | |
167 echo "test1 | |
168 test2" | $GPG \ | |
169 --command-fd 0 \ | |
170 --armor \ | |
171 --local-user second-keypair@example.com \ | |
172 --local-user first-keypair@example.com \ | |
173 --detach-sign $HOMEDIR/dual-detached-signature | |
174 | |
175 # public-only-sec.asc | |
176 echo "generating public-only-sec.asc" | |
177 $GPG \ | |
178 --armor \ | |
179 --export-secret-keys public-only@example.com > $HOMEDIR/public-only-sec.asc | |
180 | |
181 # public-only-pub.asc | |
182 echo "generating public-only-pub.asc" | |
183 $GPG \ | |
184 --armor \ | |
185 --export public-only@example.com > $HOMEDIR/public-only-pub.asc | |
186 | |
187 # delete public-only@example.com secret key | |
188 echo "deleting secret key for public-only@example.com" | |
189 echo "y" | $GPG \ | |
190 --command-fd 0 \ | |
191 --delete-secret-key public-only@example.com | |
192 | |
193 # encrypted-data.asc | |
194 echo "generating encrypted-data.asc" | |
195 echo -n $DATA | $GPG \ | |
196 --recipient first-keypair@example.com \ | |
197 --armor \ | |
198 --encrypt > $HOMEDIR/encrypted-data.asc | |
199 | |
200 # encrypted-data-file.asc | |
201 echo "generating encrypted-data-file.asc" | |
202 $GPG \ | |
203 --recipient first-keypair@example.com \ | |
204 --armor \ | |
205 --encrypt $HOMEDIR/encrypted-data-file | |
206 | |
207 # encrypted-data-no-passphrase.asc | |
208 echo "generating encrypted-data-no-passphrase.asc" | |
209 echo -n $DATA | $GPG \ | |
210 --recipient no-passphrase@example.com \ | |
211 --armor \ | |
212 --encrypt > $HOMEDIR/encrypted-data-no-passphrase.asc | |
213 | |
214 # encrypted-data-no-passphrase-file.asc | |
215 echo "generating encrypted-data-no-passphrase-file.asc" | |
216 $GPG \ | |
217 --recipient no-passphrase@example.com \ | |
218 --armor \ | |
219 --encrypt $HOMEDIR/encrypted-data-no-passphrase-file | |
220 | |
221 # dual-encrypted-data-one-passphrase.asc | |
222 echo "generating dual-encrypted-data-one-passphrase.asc" | |
223 echo -n $DATA | $GPG \ | |
224 --recipient first-keypair@example.com \ | |
225 --recipient no-passphrase@example.com \ | |
226 --armor \ | |
227 --encrypt > $HOMEDIR/dual-encrypted-data-one-passphrase.asc | |
228 | |
229 # dual-encrypted-data-one-passphrase-file.asc | |
230 echo "generating dual-encrypted-data-one-passphrase-file.asc" | |
231 $GPG \ | |
232 --recipient first-keypair@example.com \ | |
233 --recipient no-passphrase@example.com \ | |
234 --armor \ | |
235 --encrypt $HOMEDIR/dual-encrypted-data-one-passphrase-file | |
236 | |
237 # delete external-public@example.com secret key | |
238 echo "deleting secret key for external-public@example.com" | |
239 echo "y" | $GPG \ | |
240 --command-fd 0 \ | |
241 --delete-secret-key external-public@example.com | |
242 | |
243 # external-public-pub.asc | |
244 echo "generating external-public-pub.asc" | |
245 $GPG \ | |
246 --armor \ | |
247 --export external-public@example.com > $HOMEDIR/external-public-pub.asc | |
248 | |
249 # delete external-public@example.com key | |
250 echo "deleting key external-public@example.com" | |
251 echo "y" | $GPG \ | |
252 --command-fd 0 \ | |
253 --delete-secret-and-public-key external-public@example.com | |
254 | |
255 # encrypted-data-missing-key.asc | |
256 echo "generating encrypted-data-missing-key.asc" | |
257 echo -n $DATA | $GPG \ | |
258 --recipient missing-key@example.com \ | |
259 --armor \ | |
260 --encrypt > $HOMEDIR/encrypted-data-missing-key.asc | |
261 | |
262 # encrypted-data-missing-key-file.asc | |
263 echo "generating encrypted-data-missing-key-file.asc" | |
264 $GPG \ | |
265 --recipient missing-key@example.com \ | |
266 --armor \ | |
267 --encrypt $HOMEDIR/encrypted-data-missing-key-file | |
268 | |
269 # delete missing-key@example.com key | |
270 echo "deleting key missing-key@example.com" | |
271 echo "y" | $GPG \ | |
272 --command-fd 0 \ | |
273 --delete-secret-and-public-key missing-key@example.com | |
274 | |
275 # DONE BUILDING FILES | |
276 | |
277 echo "dumping keyring state" | |
278 php -f build-keyring.php $HOMEDIR > keyring-dump.php | |
279 | |
280 echo "removing key homedir" | |
281 rm -rf $HOMEDIR |