diff options
Diffstat (limited to 'examples/self.x509')
-rwxr-xr-x | examples/self.x509 | 19 |
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 | ||
10 | local keytype = ... | ||
11 | |||
12 | local openssl = require"openssl" | ||
10 | local pkey = require"openssl.pkey" | 13 | local pkey = require"openssl.pkey" |
11 | local x509 = require"openssl.x509" | 14 | local x509 = require"openssl.x509" |
12 | local name = require"openssl.x509.name" | 15 | local name = require"openssl.x509.name" |
13 | local altname = require"openssl.x509.altname" | 16 | local 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 } | 19 | local 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") |
18 | local 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 | ||
29 | end | ||
30 | |||
31 | local 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) |
21 | local dn = name.new() | 34 | local dn = name.new() |