Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 31.344.196 Times

PGP::Sign 0.20

Company: Russ Allbery
Date Added: August 03, 2013  |  Visits: 254


Report Broken Link
Printer Friendly Version

Product Homepage
Download (16 downloads)

This module is designed to do one and only one thing securely and well; namely, generate and check detached PGP signatures for some arbitrary data. It doesn't do encryption, it doesn't manage keyrings, it doesn't verify signatures, it just signs things. This is ideal for applications like PGPMoose or control message generation that just need a fast signing mechanism. It supports versions 2.6, 5.0, and 6.5.2 of PGP, as well as GnuPG, and therefore supports any of the signature types understood by those programs provided they are installed.<br /><br />The interface is very simple; just call pgp_sign() with a key ID, a pass phrase, and some data, or call pgp_verify() with a signature (in the form generated by pgp_sign()), a version number (which can be undef if you don't want to give a version), and some data. The data can be specified in pretty much any form you can possibly consider data and a few you might not. Scalars and arrays are passed along to PGP; references to arrays are walked and passed one element at a time (to avoid making a copy of the array); file handles, globs, or references to globs are read a line at a time and passed to PGP; and references to code are even supported (see below). About the only thing that we don't handle are references to references (which are just printed to PGP, which probably isn't what you wanted) and hashes (which are treated like arrays, which doesn't make a lot of sense).<br /><br />If you give either function a reference to a sub, it will repeatedly call that sub, sending the results to PGP to be signed, until the sub returns undef. What this lets you do is pass the function an anonymous sub that walks your internal data and performs some manipulations on it a line at a time, thus allowing you to sign a slightly modified form of your data (with initial dashes escaped, for example) without having to use up memory to make an internal copy of it.<br /><br />In a scalar context, pgp_sign() returns the signature as an ASCII-armored block with embedded newlines (but no trailing newline). In a list context, it returns a two-element list consisting of the signature as above and the PGP version that signed it (if that information was present in the signature). Warning: It's expected that in the future this interface will change, and pgp_sign() will instead return a list consisting of the ASCII-armored block and all headers found in the armor.<br /><br />If you're using GnuPG, pgp_sign() will pass it the option --force-v3-sigs so that it will generate PGP 5.0-compatible signatures.<br /><br />pgp_sign() will return undef in the event of any sort of error.<br /><br />pgp_verify() returns the signer of the message in the case of a good signature, the empty string in the case of a bad signature, and undef in the event of some error. It takes the same sort of data sources as pgp_sign().<br /><br />pgp_error() (which isn't exported by default) returns the error encountered by the last pgp_sign() or pgp_verify(), or undef if there was no error. In a list context, a list of lines is returned; in a scalar context, a long string with embedded newlines is returned.<br /><br />Six global variables can be modified (note that these may eventually be partially or completely replaced with an interface via a PGP::Sign::config() call):<br /><br />$PGP::Sign::PGPS<br /><br /> The path to the program to use to generate signatures. This is set at the time of installation, but can be overridden.<br />$PGP::Sign::PGPV<br /><br /> The path to the program to use to verify signatures. This is set at the time of installation, but can be overridden. There are two separate variables since PGP 5.0 uses two separate program names for signing and verifying; for PGP 2.6, 6.5.2, or GnuPG, just set both this and $PGP::Sign::PGPS to the same value.<br />$PGP::Sign::PGPPATH<br /><br /> The path to a directory containing the PGP key rings that should be used. If this isn't set, all versions of PGP will use the value of the environment variable PGPPATH or $HOME/.pgp (the default). GnuPG will use the value of the environment variable GNUPGHOME or $HOME/.gnupg. Note that PGP when signing may want to write randseed.bin (or randseed.rnd) in this directory if there isn't already a random seed there, so if you're encountering problems with signing, make sure the directory PGP is using is writeable by the user doing the signing. Note also that if you're using GnuPG and the Entropy Gathering Daemon (egd), the entropy socket or a link to it must be located in this directory.<br />$PGP::Sign::PGPSTYLE<br /><br /> What style of command line arguments and responses to expect from PGP. The only three valid values for this variable are "PGP2" for PGP 2.6 behavior, "PGP5" for PGP 5.0 behavior, "PGP6" for PGP 6.5 behavior, and "GPG" for GnuPG behavior. What command line arguments PGP::Sign uses when running PGP are entirely determined by this variable. It is set at the time of installation, but can be overridden.<br />$PGP::Sign::TMPDIR<br /><br /> The directory in which temporary files are created. Defaults to TMPDIR if set, and /tmp if not.<br />$PGP::Sign::MUNGE<br /><br /> If this variable is set to a true value, PGP::Sign will automatically strip trailing spaces when signing or verifying signatures. This will make the resulting signatures and verification compatible with programs that generate attached signatures (since PGP ignores trailing spaces when generating or checking attached signatures). See the more extensive discussion of whitespace below.<br />

Requirements: No special requirements
Platforms: *nix, Linux
Keyword: Behavior Context Directory Doesn Generate Gnupg Interface Isn Pgp Pgp Sign Program References Returns Signature Signatures Signing Trailing Undef Variable
Users rating: 0/10

License: Freeware Size: 30.72 KB
Libraries  -  GnuPG::Interface 0.33
GnuPG::Interface is a Perl interface to GnuPG. SYNOPSIS # A simple example use IO::Handle; use GnuPG::Interface; # settting up the situation my $gnupg = GnuPG::Interface->new(); $gnupg->options->hash_init( armor => 1, homedir =>...
37.89 KB  
File Synchronizers  -  ferrisfuse 0.1.0
ferrisfuse is a FUSE module for mounting libferris filesystems through the Linux kernel. About libferris In non technical terms libferris makes the file system and other hierarchical storage systems easier to use. For the geeks out there,...
276.48 KB  
Security Tools  -  EasyPG 0.0.2
EasyPG is yet another GnuPG interface for Emacs. EasyPG package consists of two parts: - The EasyPG Assistant - A GUI frontend of GnuPG - The EasyPG Library - A library to interact with GnuPG.
81.92 KB  
Development Editors  -  najitool GUI
naji_gui is a "User Friendly" GUI (Graphical User Interface) implementation of najitool, a program full of functions which generate, convert, filter, and encrypt files. It also has a lot of other miscellaneous functions, such as an Arabic to...
377 KB  
Libraries  -  pygccxml 0.9.0
pygccxmls purpose is to generate an XML description of a C++ program from GCCs internal representation. Since XML is easy to parse, other development tools will be able to work with C++ programs without the burden of a complicated C++ parser....
604.16 KB  
Libraries  -  .Net MAPI 2.0.4035
MAPI (Messaging Application Program Interface) is a Microsoft Windows program interface that enables your applications to add messaging functionality. Softgroup .Net MAPI is a low level component for .Net that enable applications to take...
Utilities  -  OutguessWrapper 2.7
Acts as a GUI interface to the command-line program called outguess. OutguessWrapper is a small Cocoa application written in Objective-C. OutguessWrapper acts as a GUI interface to the command-line program called outguess.
399.36 KB  
Graphic Conversion Tools  -  Edit Digi Pictures 1.0
Rename, Rescale, Convert and Rotate multiple images via the context-menu, from the "fileExplorer", "openDialog", "Desktop", or any other program which allows access to the context-menu of image files. Don't leave your mail client for resizing or...
1.45 MB  
Windows Software  -  Free Movie Organizer 2.2
Free Movie Organizer is an advanced program that allows you to bring order to your collection of movies. Its explorer-like interface is very intuitive. The program keeps all information about your movies in one place. As you add a movie to your...
6.33 MB  
Graphics Viewers  - 1.8
A Python interface to the gnuplot plotting program.
116.04 KB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Linux Software  -  SLAX 6.0+
Slax is a modern, portable, small and fast Linux operating system with a modular approach and outstanding design. Despite its small size, Slax provides a wide collection of pre-installed software for daily use, including a well organized graphical...
190 KB  
Linux Software  -  GTK+ 2.5
GTK+, which stands for the GIMP Toolkit, is a library for creating graphical user interfaces for the X Window System. It is designed to be small, efficient, and flexible. GTK+ is written in C with a very object-oriented approach. Language bindings...
60 MB  
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB