summaryrefslogtreecommitdiff
path: root/examples/self.x509
diff options
context:
space:
mode:
Diffstat (limited to 'examples/self.x509')
-rwxr-xr-xexamples/self.x50919
1 files changed, 16 insertions, 3 deletions
diff --git a/examples/self.x509 b/examples/self.x509
index b2d14f9..37b12c7 100755
--- a/examples/self.x509
+++ b/examples/self.x509
@@ -7,15 +7,28 @@
7-- CSR generation. 7-- CSR generation.
8-- 8--
9 9
10local keytype = ...
11
12local openssl = require"openssl"
10local pkey = require"openssl.pkey" 13local pkey = require"openssl.pkey"
11local x509 = require"openssl.x509" 14local x509 = require"openssl.x509"
12local name = require"openssl.x509.name" 15local name = require"openssl.x509.name"
13local altname = require"openssl.x509.altname" 16local altname = require"openssl.x509.altname"
14 17
15-- generate our public/private key pair 18-- generate our public/private key pair
16--local key = pkey.new{ type = "RSA", bits = 1024 } 19local function genkey(type)
17--local key = pkey.new{ type = "DSA", bits = 1024 } 20 type = string.upper(type or (not openssl.NO_EC and "EC") or "RSA")
18local key = pkey.new{ type = "EC", curve = "prime192v1" } 21
22 if type == "RSA" then
23 return pkey.new{ type = "RSA", bits = 1024 }
24 elseif type == "DSA" then
25 return pkey.new{ type = "DSA", bits = 1024 }
26 else
27 return pkey.new{ type = "EC", curve = "prime192v1" }
28 end
29end
30
31local key = genkey(keytype)
19 32
20-- our Subject and Issuer DN (self-signed, so same) 33-- our Subject and Issuer DN (self-signed, so same)
21local dn = name.new() 34local dn = name.new()