aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2013-04-29 13:30:59 +0200
committerKim Alvefur <zash@zash.se>2013-04-29 13:30:59 +0200
commita7b315488ec84efd93964df522aa0af120b2ac22 (patch)
tree1b59e70c6bf02e42987d07d18664ea8faea6ada0
parent98c289a173e2619d814974293e6cf15adc0b5c9c (diff)
downloadprosody-a7b315488ec84efd93964df522aa0af120b2ac22.tar.gz
prosody-a7b315488ec84efd93964df522aa0af120b2ac22.zip
util.openssl: Write the distinguished_name part of the config in a consistent order
-rw-r--r--util/openssl.lua22
1 files changed, 21 insertions, 1 deletions
diff --git a/util/openssl.lua b/util/openssl.lua
index 0decb579..ef3fba96 100644
--- a/util/openssl.lua
+++ b/util/openssl.lua
@@ -23,11 +23,12 @@ function config.new()
prompt = "no",
},
distinguished_name = {
- commonName = "example.com",
countryName = "GB",
+ -- stateOrProvinceName = "",
localityName = "The Internet",
organizationName = "Your Organisation",
organizationalUnitName = "XMPP Department",
+ commonName = "example.com",
emailAddress = "xmpp@example.com",
},
v3_extensions = {
@@ -43,6 +44,17 @@ function config.new()
}, ssl_config_mt);
end
+local DN_order = {
+ "countryName";
+ "stateOrProvinceName";
+ "localityName";
+ "streetAddress";
+ "organizationName";
+ "organizationalUnitName";
+ "commonName";
+ "emailAddress";
+}
+_M._DN_order = DN_order;
function ssl_config:serialize()
local s = "";
for k, t in pairs(self) do
@@ -53,6 +65,14 @@ function ssl_config:serialize()
s = s .. s_format("%s.%d = %s\n", san, i -1, n[i]);
end
end
+ elseif k == "distinguished_name" then
+ for i=1,#DN_order do
+ local k = DN_order[i]
+ local v = t[k];
+ if v then
+ s = s .. ("%s = %s\n"):format(k, v);
+ end
+ end
else
for k, v in pairs(t) do
s = s .. ("%s = %s\n"):format(k, v);