summaryrefslogtreecommitdiff
path: root/lib/GnuPG/Fingerprint.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/GnuPG/Fingerprint.pm')
-rw-r--r--lib/GnuPG/Fingerprint.pm93
1 files changed, 93 insertions, 0 deletions
diff --git a/lib/GnuPG/Fingerprint.pm b/lib/GnuPG/Fingerprint.pm
new file mode 100644
index 0000000..81c38a7
--- /dev/null
+++ b/lib/GnuPG/Fingerprint.pm
@@ -0,0 +1,93 @@
+# Fingerprint.pm
+# - providing an object-oriented approach to GnuPG key fingerprints
+#
+# Copyright (C) 2000 Frank J. Tobin <ftobin@cpan.org>
+#
+# This module is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# $Id: Fingerprint.pm,v 1.8 2001/08/21 13:31:50 ftobin Exp $
+#
+
+package GnuPG::Fingerprint;
+use Moo;
+use MooX::late;
+with qw(GnuPG::HashInit);
+
+has as_hex_string => (
+ isa => 'Any',
+ is => 'rw',
+);
+
+sub compare {
+ my ($self, $other) = @_;
+ return 0 unless $other->isa('GnuPG::Fingerprint');
+ return $self->as_hex_string() eq $other->as_hex_string();
+}
+
+# DEPRECATED
+sub hex_data
+{
+ my ( $self, $v ) = @_;
+ $self->as_hex_string( $v ) if defined $v;
+ return $self->as_hex_string();
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+GnuPG::Fingerprint - GnuPG Fingerprint Objects
+
+=head1 SYNOPSIS
+
+ # assumes a GnuPG::Key in $key
+ my $fingerprint = $key->fingerprint->as_hex_string();
+
+=head1 DESCRIPTION
+
+GnuPG::Fingerprint objects are generally part of GnuPG::Key
+objects, and are not created on their own.
+
+=head1 OBJECT METHODS
+
+=head2 Initialization Methods
+
+=over 4
+
+=item new( I<%initialization_args> )
+
+This methods creates a new object. The optional arguments are
+initialization of data members.
+
+=item hash_init( I<%args> ).
+
+=item compare( I<$other> )
+
+Returns non-zero only when this fingerprint is identical to the other
+GnuPG::Fingerprint.
+
+=back
+
+=head1 OBJECT DATA MEMBERS
+
+=over 4
+
+=item as_hex_string
+
+This is the hex value of the fingerprint that the object embodies,
+in string format.
+
+=back
+
+=head1 SEE ALSO
+
+L<GnuPG::Key>,
+
+=cut