diff --git a/lib/easy_ssl.ex b/lib/easy_ssl.ex index 3509236..a474872 100644 --- a/lib/easy_ssl.ex +++ b/lib/easy_ssl.ex @@ -313,6 +313,14 @@ defmodule EasySSL do end + defp parse_crl_distribution_points(crl_distribution_points) + when is_binary(crl_distribution_points) do + :public_key.der_decode(:CRLDistributionPoints, crl_distribution_points) + end + defp parse_crl_distribution_points(crl_distribution_points) do + crl_distribution_points + end + defp coerce_to_string(attribute_value) do case attribute_value do {:printableString, string} -> string @@ -456,6 +464,7 @@ defmodule EasySSL do extension_map, :crlDistributionPoints, crl_distribution_points + |> parse_crl_distribution_points |> Enum.reduce([], fn distro_point, output -> case distro_point do {:DistributionPoint, {:fullName, crls}, :asn1_NOVALUE, :asn1_NOVALUE} -> diff --git a/mix.exs b/mix.exs index 0ba916f..376be4a 100644 --- a/mix.exs +++ b/mix.exs @@ -18,7 +18,7 @@ defmodule EasySSL.MixProject do def application do [ - extra_applications: [:logger] + extra_applications: [:logger, :public_key] ] end