aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_acme.erl
diff options
context:
space:
mode:
authorKonstantinos Kallas <konstantinos.kallas@hotmail.com>2017-08-02 19:36:11 +0300
committerKonstantinos Kallas <konstantinos.kallas@hotmail.com>2017-08-02 19:36:11 +0300
commitac7105d39e6122ab564b2eb3b811cbdf7a3fc6df (patch)
treea828845ba923ab877f507244651c49eca2146366 /src/ejabberd_acme.erl
parentFinish revoke_certificate and add specs (diff)
Implement verbose list_certificates option
Diffstat (limited to '')
-rw-r--r--src/ejabberd_acme.erl31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/ejabberd_acme.erl b/src/ejabberd_acme.erl
index 5cb5857d4..230ce1100 100644
--- a/src/ejabberd_acme.erl
+++ b/src/ejabberd_acme.erl
@@ -248,16 +248,11 @@ list_certificates(Verbose) ->
-spec list_certificates0(verbose_opt()) -> [string()] | [any()].
list_certificates0(Verbose) ->
Certs = read_certificates_persistent(),
- case Verbose of
- "plain" ->
- [format_certificate(DataCert) || {_Key, DataCert} <- Certs];
- "verbose" ->
- Certs
- end.
+ [format_certificate(DataCert, Verbose) || {_Key, DataCert} <- Certs].
%% TODO: Make this cleaner and more robust
--spec format_certificate(data_cert()) -> string().
-format_certificate(DataCert) ->
+-spec format_certificate(data_cert(), verbose_opt()) -> string().
+format_certificate(DataCert, Verbose) ->
#data_cert{
domain = DomainName,
pem = PemCert,
@@ -274,10 +269,15 @@ format_certificate(DataCert) ->
%% Find the notAfter date
NotAfter = get_notAfter(Certificate),
- format_certificate1(DomainName, NotAfter, Path).
+ case Verbose of
+ "plain" ->
+ format_certificate_plain(DomainName, NotAfter, Path);
+ "verbose" ->
+ format_certificate_verbose(DomainName, NotAfter, PemCert)
+ end.
--spec format_certificate1(bitstring(), string(), string()) -> string().
-format_certificate1(DomainName, NotAfter, Path) ->
+-spec format_certificate_plain(bitstring(), string(), string()) -> string().
+format_certificate_plain(DomainName, NotAfter, Path) ->
Result = lists:flatten(io_lib:format(
" Domain: ~s~n"
" Valid until: ~s UTC~n"
@@ -285,6 +285,15 @@ format_certificate1(DomainName, NotAfter, Path) ->
[DomainName, NotAfter, Path])),
Result.
+-spec format_certificate_verbose(bitstring(), string(), bitstring()) -> string().
+format_certificate_verbose(DomainName, NotAfter, PemCert) ->
+ Result = lists:flatten(io_lib:format(
+ " Domain: ~s~n"
+ " Valid until: ~s UTC~n"
+ " Certificate In PEM format: ~n~s",
+ [DomainName, NotAfter, PemCert])),
+ Result.
+
-spec get_commonName(#'Certificate'{}) -> string().
get_commonName(#'Certificate'{tbsCertificate = TbsCertificate}) ->
#'TBSCertificate'{