NAME

Crypt::OpenSSL3::PKey - An assymetrical key

VERSION

version 0.001

SYNOPSIS

my $file = Crypt::OpenSSL3::BIO->new_file('priv.key', 'r');
my $key = Crypt::OpenSSL3::Pkey->read_pem_private_key($file);

my $ctx = Crypt::OpenSSL3::PKey::Context->new($key);
$ctx->sign_init;
my $signature = $ctx->sign($data);

DESCRIPTION

A PKey can be any kind of assymetrical key. This is a fat interface: no single key type supports all possible operations, and most operations aren't supported by all key types. At its core the operations are:

  • encrypt/decrypt

  • sign/verify

  • encapsulate/decapsulate

  • derivation

  • key generation

  • parameter generation

METHODS

new

new_raw_private_key

new_raw_public_key

read_pem_private_key

read_pem_public_key

write_pem_private_key

write_pem_public_key

can_sign

digestsign_supports_digest

dup

eq

get_base_id

get_bits

get_bn_param

get_default_digest_name

get_default_digest_nid

get_description

get_ec_point_conv_form

get_encoded_public_key

get_field_type

get_group_name

get_id

get_int_param

get_octet_string_param

get_param

get_raw_private_key

get_raw_public_key

get_security_bits

get_size

get_size_t_param

get_type_name

get_utf8_string_param

is_a

parameters_eq

set_bn_param

set_encoded_public_key

set_int_param

set_octet_string_param

set_params

set_size_t_param

set_type

set_type_str

set_utf8_string_param

type

type_names_list_all

AUTHOR

Leon Timmermans <fawaka@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2025 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.