summaryrefslogtreecommitdiff
path: root/openssl/tests/rsa.testscript
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/tests/rsa.testscript')
-rw-r--r--openssl/tests/rsa.testscript61
1 files changed, 61 insertions, 0 deletions
diff --git a/openssl/tests/rsa.testscript b/openssl/tests/rsa.testscript
new file mode 100644
index 0000000..47f17cb
--- /dev/null
+++ b/openssl/tests/rsa.testscript
@@ -0,0 +1,61 @@
+# file : tests/rsa.testscript
+# copyright : Copyright (c) 2016-2019 Code Synthesis Ltd
+# license : OpenSSL and SSLeay Licenses; see accompanying LICENSE file
+
++cat <<EOI >=openssl.cnf
+repository = build2.org
+company = Code Synthesis
+email = info@build2.org
+
+[ req ]
+
+distinguished_name = req_distinguished_name
+x509_extensions = v3_req
+prompt = no
+utf8 = yes
+
+[ req_distinguished_name ]
+
+O = $company
+CN = name:$repository
+
+[ v3_req ]
+
+keyUsage = critical,digitalSignature
+extendedKeyUsage = critical,codeSigning
+subjectAltName = email:$email
+EOI
+
++$* genrsa 4096 >=key.pem 2>>~%EOO%
+ %Generating RSA private key, 4096 bit long modulus.*%
+ %.*
+ EOO
+
++cat key.pem >>~%EOO%
+ -----BEGIN RSA PRIVATE KEY-----
+ %.{1,64}%.+
+ -----END RSA PRIVATE KEY-----
+ EOO
+
++$* req -x509 -new -key key.pem -days 1825 -config openssl.cnf >=cert.pem
+
++cat cert.pem >>~%EOO%
+ -----BEGIN CERTIFICATE-----
+ %.{1,64}%.+
+ -----END CERTIFICATE-----
+ EOO
+
+: cert-fingerprint
+:
+{
+ $* x509 -sha256 -noout -fingerprint <<<../cert.pem >>~%EOO%
+ %SHA256 Fingerprint=([[:xdigit:]]{2}:){31}[[:xdigit:]]{2}%
+ EOO
+}
+
+: sign-verify
+:
+{
+ $* rsautl -sign -inkey ../key.pem <'test' | \
+ $* rsautl -verify -certin -inkey ../cert.pem >'test'
+}