-module(kryptos@internal@rsa). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/kryptos/internal/rsa.gleam"). -export([private_key_from_pkcs8/1, public_key_from_x509/1]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -file("src/kryptos/internal/rsa.gleam", 6). ?DOC(false). -spec private_key_from_pkcs8(bitstring()) -> {ok, {kryptos@rsa:private_key(), kryptos@rsa:public_key()}} | {error, nil}. private_key_from_pkcs8(Der_bytes) -> _pipe = kryptos_ffi:rsa_import_private_key_der(Der_bytes, pkcs8), gleam@result:map_error(_pipe, fun(_) -> nil end). -file("src/kryptos/internal/rsa.gleam", 15). ?DOC(false). -spec public_key_from_x509(bitstring()) -> {ok, kryptos@rsa:public_key()} | {error, nil}. public_key_from_x509(Der_bytes) -> _pipe = kryptos_ffi:rsa_import_public_key_der(Der_bytes, spki), gleam@result:map_error(_pipe, fun(_) -> nil end).