summaryrefslogtreecommitdiffstats
path: root/src/ct_helper.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2013-05-01 16:03:27 +0200
committerLoïc Hoguin <[email protected]>2013-05-01 16:39:35 +0200
commit117cb7171106aba8fe7028fbf9ed07a037778bcd (patch)
tree36840b3c95921198672b16c9d32d416829ca26a0 /src/ct_helper.erl
downloadct_helper-117cb7171106aba8fe7028fbf9ed07a037778bcd.tar.gz
ct_helper-117cb7171106aba8fe7028fbf9ed07a037778bcd.tar.bz2
ct_helper-117cb7171106aba8fe7028fbf9ed07a037778bcd.zip
Initial commit
Diffstat (limited to 'src/ct_helper.erl')
-rw-r--r--src/ct_helper.erl31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ct_helper.erl b/src/ct_helper.erl
new file mode 100644
index 0000000..23ae693
--- /dev/null
+++ b/src/ct_helper.erl
@@ -0,0 +1,31 @@
+%% Copyright (c) 2013, Loïc Hoguin <[email protected]>
+%%
+%% Permission to use, copy, modify, and/or distribute this software for any
+%% purpose with or without fee is hereby granted, provided that the above
+%% copyright notice and this permission notice appear in all copies.
+%%
+%% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+%% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+%% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+%% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+%% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+%% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+%% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+%% @doc Helper functions for common_test suites.
+-module(ct_helper).
+
+-export([make_certs/0]).
+
+-type der_encoded() :: binary().
+-type key() :: {'RSAPrivateKey' | 'DSAPrivateKey' | 'PrivateKeyInfo',
+ der_encoded()}.
+
+%% @doc Create a set of certificates.
+-spec make_certs()
+ -> {CaCert::der_encoded(), Cert::der_encoded(), Key::key()}.
+make_certs() ->
+ CaInfo = {CaCert, _} = erl_make_certs:make_cert([{key, dsa}]),
+ {Cert, Key0} = erl_make_certs:make_cert([{key, dsa}, {issuer, CaInfo}]),
+ Key = erlang:delete_element(3, Key0),
+ {CaCert, Cert, Key}.