diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/pear/crypt_gpg/tools/build-keyring.sh	Thu Jan 04 15:50:29 2018 -0500
@@ -0,0 +1,281 @@
+#!/bin/sh
+#
+# Generates a PHP file containing the keyring state and various PGP data blobs
+# required by Crypt_GPG unit tests.
+#
+# Running this script will require a lot of system entropy. Installing an
+# entropy generator like 'randomsound' is recommended.
+#
+# Copyright (c) 2008 Michael Gauthier
+#
+
+HOMEDIR=`pwd`"/test-keyring"
+GPG="gpg --homedir $HOMEDIR --no-secmem --no-permission-warning --quiet --no-greeting"
+DATA="Hello, Alice! Goodbye, Bob!"
+
+echo "Creating key homedir"
+mkdir $HOMEDIR
+
+# create temp files for signing
+cp test-file-small $HOMEDIR/clearsigned-data
+cp test-file-small $HOMEDIR/detached-signature
+cp test-file-small $HOMEDIR/normal-signed-data
+cp test-file-small $HOMEDIR/dual-clearsigned-data
+cp test-file-small $HOMEDIR/dual-detached-signature
+cp test-file-small $HOMEDIR/dual-normal-signed-data
+
+# create temp files for encrypting
+cp test-file-medium $HOMEDIR/encrypted-data-file
+cp test-file-medium $HOMEDIR/encrypted-data-no-passphrase-file
+cp test-file-medium $HOMEDIR/encrypted-data-missing-key-file
+cp test-file-medium $HOMEDIR/dual-encrypted-data-file
+cp test-file-medium $HOMEDIR/dual-encrypted-data-one-passphrase-file
+
+# BUILDING KEYS
+
+# second-keypair@example.com
+echo "Creating first-keypair@example.com"
+echo "1
+2048
+0
+First Keypair Test Key
+first-keypair@example.com
+do not encrypt important data with this key
+test1
+" | $GPG --command-fd 0 --gen-key
+
+# second-keypair@example.com
+echo "Creating second-keypair@example.com"
+echo "1
+2048
+0
+Second Keypair Test Key
+second-keypair@example.com
+do not encrypt important data with this key
+test2
+" | $GPG --command-fd 0 --gen-key
+
+# public-only@example.com
+echo "Creating public-only@example.com"
+echo "1
+2048
+0
+Public Only Test Key
+public-only@example.com
+do not encrypt important data with this key
+test
+" | $GPG --command-fd 0 --gen-key
+
+# no-passphrase@example.com
+echo "Creating no-passphrase@example.com"
+echo "1
+2048
+0
+No Passphrase Public and Private Test Key
+no-passphrase@example.com
+do not encrypt important data with this key
+
+" | $GPG --command-fd 0 --gen-key
+
+# external-public@example.com
+echo "Creating external-public@example.com"
+echo "1
+2048
+0
+External Public Key
+external-public@example.com
+do not encrypt important data with this key
+test
+" | $GPG --command-fd 0 --gen-key
+
+# missing-key@example.com
+echo "Creating missing-key@example.com"
+echo "1
+2048
+0
+Missing Key
+missing-key@example.com
+do not encrypt important data with this key
+test
+" | $GPG --command-fd 0 --gen-key
+
+# DONE BUILDING KEYS
+
+# BUILDING FILES
+
+# encrypted-data.asc
+echo "generating encrypted-data.asc"
+echo -n $DATA | $GPG \
+	--recipient first-keypair@example.com \
+	--armor \
+	--encrypt > $HOMEDIR/encrypted-data.asc
+
+# normal-signed-data.asc
+echo "generating normal-signed-data.asc"
+echo "test1" | $GPG \
+	--command-fd 0 \
+	--armor \
+	--local-user first-keypair@example.com \
+	--sign $HOMEDIR/normal-signed-data
+
+# clearsigned-data.asc
+echo "generating clearsigned-data.asc"
+echo "test1" | $GPG \
+	--command-fd 0 \
+	--armor \
+	--local-user first-keypair@example.com \
+	--clearsign $HOMEDIR/clearsigned-data
+
+# detached-signature.asc
+echo "generating detached-signature.asc"
+echo "test1" | $GPG \
+	--command-fd 0 \
+	--armor \
+	--local-user first-keypair@example.com \
+	--detach-sign $HOMEDIR/detached-signature
+
+# dual-encrypted-data@example.com
+echo "generating dual-encrypted-data.asc"
+echo -n $DATA | $GPG \
+	--recipient first-keypair@example.com \
+	--recipient second-keypair@example.com \
+	--armor \
+	--encrypt > $HOMEDIR/dual-encrypted-data.asc
+
+# dual-normal-signed-data.asc
+echo "generating dual-normal-signed-data.asc"
+echo "test1
+test2" | $GPG \
+	--command-fd 0 \
+	--armor \
+	--local-user second-keypair@example.com \
+	--local-user first-keypair@example.com \
+	--sign $HOMEDIR/dual-normal-signed-data
+
+# dual-clearsigned-data.asc
+echo "generating dual-clearsigned-data.asc"
+echo "test1
+test2" | $GPG \
+	--command-fd 0 \
+	--armor \
+	--local-user second-keypair@example.com \
+	--local-user first-keypair@example.com \
+	--clearsign $HOMEDIR/dual-clearsigned-data
+
+# dual-detached-signature.asc
+echo "generating dual-detached-signature.asc"
+echo "test1
+test2" | $GPG \
+	--command-fd 0 \
+	--armor \
+	--local-user second-keypair@example.com \
+	--local-user first-keypair@example.com \
+	--detach-sign $HOMEDIR/dual-detached-signature
+
+# public-only-sec.asc
+echo "generating public-only-sec.asc"
+$GPG \
+	--armor \
+	--export-secret-keys public-only@example.com > $HOMEDIR/public-only-sec.asc
+
+# public-only-pub.asc
+echo "generating public-only-pub.asc"
+$GPG \
+	--armor \
+	--export public-only@example.com > $HOMEDIR/public-only-pub.asc
+
+# delete public-only@example.com secret key
+echo "deleting secret key for public-only@example.com"
+echo "y" | $GPG \
+	--command-fd 0 \
+	--delete-secret-key public-only@example.com
+
+# encrypted-data.asc
+echo "generating encrypted-data.asc"
+echo -n $DATA | $GPG \
+	--recipient first-keypair@example.com \
+	--armor \
+	--encrypt > $HOMEDIR/encrypted-data.asc
+
+# encrypted-data-file.asc
+echo "generating encrypted-data-file.asc"
+$GPG \
+	--recipient first-keypair@example.com \
+	--armor \
+	--encrypt $HOMEDIR/encrypted-data-file
+
+# encrypted-data-no-passphrase.asc
+echo "generating encrypted-data-no-passphrase.asc"
+echo -n $DATA | $GPG \
+	--recipient no-passphrase@example.com \
+	--armor \
+	--encrypt > $HOMEDIR/encrypted-data-no-passphrase.asc
+
+# encrypted-data-no-passphrase-file.asc
+echo "generating encrypted-data-no-passphrase-file.asc"
+$GPG \
+	--recipient no-passphrase@example.com \
+	--armor \
+	--encrypt $HOMEDIR/encrypted-data-no-passphrase-file
+
+# dual-encrypted-data-one-passphrase.asc
+echo "generating dual-encrypted-data-one-passphrase.asc"
+echo -n $DATA | $GPG \
+	--recipient first-keypair@example.com \
+	--recipient no-passphrase@example.com \
+	--armor \
+	--encrypt > $HOMEDIR/dual-encrypted-data-one-passphrase.asc
+
+# dual-encrypted-data-one-passphrase-file.asc
+echo "generating dual-encrypted-data-one-passphrase-file.asc"
+$GPG \
+	--recipient first-keypair@example.com \
+	--recipient no-passphrase@example.com \
+	--armor \
+	--encrypt $HOMEDIR/dual-encrypted-data-one-passphrase-file
+
+# delete external-public@example.com secret key
+echo "deleting secret key for external-public@example.com"
+echo "y" | $GPG \
+	--command-fd 0 \
+	--delete-secret-key external-public@example.com
+
+# external-public-pub.asc
+echo "generating external-public-pub.asc"
+$GPG \
+	--armor \
+	--export external-public@example.com > $HOMEDIR/external-public-pub.asc
+
+# delete external-public@example.com key
+echo "deleting key external-public@example.com"
+echo "y" | $GPG \
+	--command-fd 0 \
+	--delete-secret-and-public-key external-public@example.com
+
+# encrypted-data-missing-key.asc
+echo "generating encrypted-data-missing-key.asc"
+echo -n $DATA | $GPG \
+	--recipient missing-key@example.com \
+	--armor \
+	--encrypt > $HOMEDIR/encrypted-data-missing-key.asc
+
+# encrypted-data-missing-key-file.asc
+echo "generating encrypted-data-missing-key-file.asc"
+$GPG \
+	--recipient missing-key@example.com \
+	--armor \
+	--encrypt $HOMEDIR/encrypted-data-missing-key-file
+
+# delete missing-key@example.com key
+echo "deleting key missing-key@example.com"
+echo "y" | $GPG \
+	--command-fd 0 \
+	--delete-secret-and-public-key missing-key@example.com
+
+# DONE BUILDING FILES
+
+echo "dumping keyring state"
+php -f build-keyring.php $HOMEDIR > keyring-dump.php
+
+echo "removing key homedir"
+rm -rf $HOMEDIR