NAME
Mail::BIMI::VMC - Class to model a VMC
VERSION
version 3.20240205
DESCRIPTION
Class for representing, retrieving, validating, and processing a VMC Set
INPUTS
These values are used as inputs for lookups and verifications, they are typically set by the caller based on values found in the message being processed
check_domain
is=ro required
Domain to check the alt_name against
check_selector
is=ro required
Selector to check the alt_name against
data
is=rw
Raw data of the VMC contents; Fetched from authority URI if not given
uri
is=rw
URI of this VMC
ATTRIBUTES
These values are derived from lookups and verifications made based upon the input values, it is however possible to override these with other values should you wish to, for example, validate a record before it is published in DNS, or validate an Indicator which is only available locally
cache_backend
is=ro
cert_list
is=rw
ArrayRef of individual Certificates in the chain
chain_object
is=rw
Mail::BIMI::VMC::Chain object for this Chain
errors
is=rw
http_client
is=rw
HTTP::Tiny::Paranoid (or similar) object used for HTTP operations
indicator
is=rw
Mail::BIMI::Indicator object for the Indicator embedded in this VMC Set
indicator_uri
is=rw
The URI of the embedded Indicator
is_cert_valid
is=rw
Is this Certificate Set valid
is_valid
is=rw
Is this VMC valid
vmc_object
is=rw
Mail::BIMI::VMC::Cert object for this VMC Set
warnings
is=rw
CONSUMES
EXTENDS
METHODS
cache_valid_for()
How long should the cache for this class be valid
http_client_max_fetch_size()
Maximum permitted HTTP fetch
subject()
Return the subject of the VMC
mark_type()
Return the subject:markType if available
not_before()
Return not before of the vmc
not_after()
Return not after of the vmc
issuer()
Return the issuer string of the VMC
is_expired()
Return true if this VMC has expired
alt_name()
Return the alt name string for the VMC
is_valid_alt_name()
Return true if the VMC has a valid alt name for the domain of the current operation
is_self_signed()
Return true if this VMC is self signed
has_valid_usage()
Return true if this VMC has a valid usage extension for BIMI
is_experimental()
Return true if this (V)MC is experimental
is_allowed_mark_type()
finish()
Finish and clean up, write cache if enabled.
app_validate()
Output human readable validation status of this object
REQUIRES
AUTHOR
Marc Bradshaw <marc@marcbradshaw.net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020 by Marc Bradshaw.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.