I can not publish the key "pem_entry_decode" GPG in Erlang. A public key created through OpenSSL works fine. I fixed the GPG key as suggested in Erlang - importing the GPG public key .
#!/usr/local/bin/escript main(_) -> [application:start(X) || X <- [crypto, public_key, ssl]], Msg = list_to_binary("Hello World!"), %{ok, FileContents} = file:read_file("public_openssl.pem"), {ok, FileContents} = file:read_file("public_gpg.asc"), show(FileContents), [Entry] = public_key:pem_decode(FileContents), show(Entry), Key = public_key:pem_entry_decode(Entry), show(Key), EM = public_key:encrypt_public(Msg, Key), show(EM). show(Something) -> io:format("~p~n", [Something]).
Error:
escript: exception error: no match of right hand side value {error, {asn1, {wrong_tag, {{expected,16},{got,131097,{131097,<<"\r">>}}}}}} in function public_key:der_decode/2 (public_key.erl, line 170) in call from erl_eval:do_apply/6 (erl_eval.erl, line 572) in call from erl_eval:expr/5 (erl_eval.erl, line 367) in call from escript:eval_exprs/5 (escript.erl, line 850) in call from erl_eval:local_func/5 (erl_eval.erl, line 470) in call from escript:interpret/4 (escript.erl, line 768) in call from escript:start/1 (escript.erl, line 277) in call from init:start_it/1
source share