mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-17 03:50:57 +01:00
updated pod
This commit is contained in:
@@ -105,7 +105,7 @@ To learn how to use B<pcp>, read the manpage:
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright (c) 2013 by T.Linden <tom AT cpan DOT org>
|
||||
Copyright (c) 2013-2014 by T.v.Dein <tom AT vondein DOT org>
|
||||
|
||||
=head1 ADDITIONAL COPYRIGHTS
|
||||
|
||||
@@ -144,7 +144,7 @@ under the B<GPL> as well.
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
I<T.Linden <tom AT cpan DOT org>>
|
||||
I<T.v.Dein <tom AT vondein DOT org>>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ DOCUMENTATION
|
||||
man pcp1
|
||||
|
||||
COPYRIGHT
|
||||
Copyright (c) 2013 by T.Linden <tom AT cpan DOT org>
|
||||
Copyright (c) 2013-2014 by T.v.Dein <tom AT vondein DOT org>
|
||||
|
||||
ADDITIONAL COPYRIGHTS
|
||||
ZeroMQ Z85 encoding routine
|
||||
@@ -125,7 +125,7 @@ ADDITIONAL COPYRIGHTS
|
||||
as well.
|
||||
|
||||
AUTHORS
|
||||
*T.Linden <tom AT cpan DOT org*>
|
||||
*T.v.Dein <tom AT vondein DOT org*>
|
||||
|
||||
LICENSE
|
||||
Licensed under the GNU GENERAL PUBLIC LICENSE version 3.
|
||||
|
||||
@@ -6,6 +6,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#include "pcp/base85.h"
|
||||
#include "pcp/config.h"
|
||||
#include "pcp/crypto.h"
|
||||
#include "pcp/defines.h"
|
||||
#include "pcp/digital_crc32.h"
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
# -*-perl-*-
|
||||
|
||||
=head1 PCP1 KEYS
|
||||
|
||||
@@ -153,11 +152,84 @@ encrypted file without a signature, decryption will fail as well.>
|
||||
|
||||
Note: this behavior might change in the future.
|
||||
|
||||
=head1 VULNERABILITIES
|
||||
=head1 ALTERNATIVE COMMANDLINES
|
||||
|
||||
Currently there are a couple of problems which are not
|
||||
addressed. These are usually protocol problems, which are
|
||||
not caused by pcp1.
|
||||
You can save typing if you supply additional arguments to
|
||||
pcp after commandline options. Such arguments are treated
|
||||
as filenames or recipients, depending what options you already
|
||||
specified.
|
||||
|
||||
Here is a list of commandlines and their possible alternatives:
|
||||
|
||||
ORIGINAL ALTERNATIVE DESCRIPTION
|
||||
|
||||
pcp -e -I message -r Bob pcp -e -r Bob message use 'message' as inputfile.
|
||||
pcp -e -I message Bob use 'Bob' as recipient,
|
||||
multiple recipients supported.
|
||||
|
||||
pcp -d -I crypted pcp -d crypted use 'crypted' as inputfile.
|
||||
|
||||
pcp -g -I message pcp -g message use 'message' as inputfile.
|
||||
|
||||
pcp -g -I msg -O sig pcp -g -I msg sig use 'sig' as outputfile.
|
||||
|
||||
pcp -p -O key.pcp pcp -p key.pcp use 'key.pcp' as outputfile.
|
||||
|
||||
pcp -p -O key.pcp -r Bob pcp -p -O key.pcp Bob use 'Bob' as recipient.
|
||||
|
||||
pcp -s -O key.pcp pcp -s key.pcp use 'key.pcp' as outputfile.
|
||||
|
||||
pcp -s -O key.pcp -r Bob pcp -s -O key.pcp Bob use 'Bob' as recipient.
|
||||
|
||||
pcp -P -I alice.pcp pcp -P alice.pcp use 'alice.pcp' as inputfile.
|
||||
|
||||
pcp -S -I alice.pcp pcp -S alice.pcp use 'alice.pcp' as inputfile.
|
||||
|
||||
|
||||
=head1 ENVIRONMENT VARIABLES
|
||||
|
||||
pcp respects the following environment variables:
|
||||
|
||||
=over
|
||||
|
||||
=item B<PCP_VAULT>
|
||||
|
||||
Use an alternative vaultfile. The default is B<~/.pcpvault> and
|
||||
can be overridden with the B<-V> commandline option. If PCP_VAULT
|
||||
is set, this one will be used instead.
|
||||
|
||||
=item B<PCP_DEBUG>
|
||||
|
||||
Enable debugging output, where supported. Same as B<-D>.
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXIT STATUS
|
||||
|
||||
Pcp may return one of several error codes if it encounters problems.
|
||||
|
||||
=over
|
||||
|
||||
=item 0 No problems occurred.
|
||||
|
||||
=item 1 Generic error code.
|
||||
|
||||
=back
|
||||
|
||||
=head1 FILES
|
||||
|
||||
=over
|
||||
|
||||
=item B<~/.pcpvault>
|
||||
|
||||
Default vault file where all keys are stored.
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXPERIMENTAL STATUS
|
||||
|
||||
Currently there are a couple of problems which are currently
|
||||
unsolved or in the process to be solved.
|
||||
|
||||
=over
|
||||
|
||||
@@ -523,4 +595,5 @@ outlined above into account>.
|
||||
PCP tries to be fully compatible with PBP (https://github.com/stef/pbp). Encrypted
|
||||
files and signatures - at least their binary versions - should be exchangable. However,
|
||||
this is a work in progress and might not work under all circumstances. Also there's currently
|
||||
no shared key format between pbp and pcp.
|
||||
no shared key format between pbp and pcp. However, it is possible to export and
|
||||
import pbp keys from/to pcp.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright (c) 2013 by T.Linden <tom AT cpan DOT org>
|
||||
Copyright (c) 2013-2014 by T.v.Dein <tom AT vondein DOT org>
|
||||
|
||||
=head1 ADDITIONAL COPYRIGHTS
|
||||
|
||||
@@ -40,7 +40,7 @@ under the B<GPL> as well.
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
I<T.Linden <tom AT cpan DOT org>>
|
||||
I<T.v.Dein <tom AT vondein DOT org>>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
|
||||
95
man/pcp1.pod
95
man/pcp1.pod
@@ -11,6 +11,7 @@ Pretty Curved Privacy - File encryption using eliptic curve cryptography.
|
||||
[ --export-public | --export-secret | --import-public | --import-secret ]
|
||||
[ --encrypt | --decrypt ]
|
||||
[ --sign | --check-signature ]
|
||||
[ arguments ]
|
||||
|
||||
General Options:
|
||||
-h --help Print this help message.
|
||||
@@ -47,6 +48,11 @@ Pretty Curved Privacy - File encryption using eliptic curve cryptography.
|
||||
|
||||
Encoding Options:
|
||||
-z --z85-encode Armor with Z85 encoding.
|
||||
|
||||
Arguments:
|
||||
Extra arguments after options are treated as filenames or
|
||||
recipients, depending on operation mode.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
Usage: pcp1 [options]
|
||||
@@ -235,7 +241,6 @@ Oh - and if you're wondering why I named them Alicia and Bobby:
|
||||
I was just sick of Alice and Bob. We're running NSA-free, so we're
|
||||
using other sample names as well.
|
||||
|
||||
# -*-perl-*-
|
||||
|
||||
=head1 PCP1 KEYS
|
||||
|
||||
@@ -390,11 +395,84 @@ encrypted file without a signature, decryption will fail as well.>
|
||||
|
||||
Note: this behavior might change in the future.
|
||||
|
||||
=head1 VULNERABILITIES
|
||||
=head1 ALTERNATIVE COMMANDLINES
|
||||
|
||||
Currently there are a couple of problems which are not
|
||||
addressed. These are usually protocol problems, which are
|
||||
not caused by pcp1.
|
||||
You can save typing if you supply additional arguments to
|
||||
pcp after commandline options. Such arguments are treated
|
||||
as filenames or recipients, depending what options you already
|
||||
specified.
|
||||
|
||||
Here is a list of commandlines and their possible alternatives:
|
||||
|
||||
ORIGINAL ALTERNATIVE DESCRIPTION
|
||||
|
||||
pcp -e -I message -r Bob pcp -e -r Bob message use 'message' as inputfile.
|
||||
pcp -e -I message Bob use 'Bob' as recipient,
|
||||
multiple recipients supported.
|
||||
|
||||
pcp -d -I crypted pcp -d crypted use 'crypted' as inputfile.
|
||||
|
||||
pcp -g -I message pcp -g message use 'message' as inputfile.
|
||||
|
||||
pcp -g -I msg -O sig pcp -g -I msg sig use 'sig' as outputfile.
|
||||
|
||||
pcp -p -O key.pcp pcp -p key.pcp use 'key.pcp' as outputfile.
|
||||
|
||||
pcp -p -O key.pcp -r Bob pcp -p -O key.pcp Bob use 'Bob' as recipient.
|
||||
|
||||
pcp -s -O key.pcp pcp -s key.pcp use 'key.pcp' as outputfile.
|
||||
|
||||
pcp -s -O key.pcp -r Bob pcp -s -O key.pcp Bob use 'Bob' as recipient.
|
||||
|
||||
pcp -P -I alice.pcp pcp -P alice.pcp use 'alice.pcp' as inputfile.
|
||||
|
||||
pcp -S -I alice.pcp pcp -S alice.pcp use 'alice.pcp' as inputfile.
|
||||
|
||||
|
||||
=head1 ENVIRONMENT VARIABLES
|
||||
|
||||
pcp respects the following environment variables:
|
||||
|
||||
=over
|
||||
|
||||
=item B<PCP_VAULT>
|
||||
|
||||
Use an alternative vaultfile. The default is B<~/.pcpvault> and
|
||||
can be overridden with the B<-V> commandline option. If PCP_VAULT
|
||||
is set, this one will be used instead.
|
||||
|
||||
=item B<PCP_DEBUG>
|
||||
|
||||
Enable debugging output, where supported. Same as B<-D>.
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXIT STATUS
|
||||
|
||||
Pcp may return one of several error codes if it encounters problems.
|
||||
|
||||
=over
|
||||
|
||||
=item 0 No problems occurred.
|
||||
|
||||
=item 1 Generic error code.
|
||||
|
||||
=back
|
||||
|
||||
=head1 FILES
|
||||
|
||||
=over
|
||||
|
||||
=item B<~/.pcpvault>
|
||||
|
||||
Default vault file where all keys are stored.
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXPERIMENTAL STATUS
|
||||
|
||||
Currently there are a couple of problems which are currently
|
||||
unsolved or in the process to be solved.
|
||||
|
||||
=over
|
||||
|
||||
@@ -760,11 +838,12 @@ outlined above into account>.
|
||||
PCP tries to be fully compatible with PBP (https://github.com/stef/pbp). Encrypted
|
||||
files and signatures - at least their binary versions - should be exchangable. However,
|
||||
this is a work in progress and might not work under all circumstances. Also there's currently
|
||||
no shared key format between pbp and pcp.
|
||||
no shared key format between pbp and pcp. However, it is possible to export and
|
||||
import pbp keys from/to pcp.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright (c) 2013 by T.Linden <tom AT cpan DOT org>
|
||||
Copyright (c) 2013-2014 by T.v.Dein <tom AT vondein DOT org>
|
||||
|
||||
=head1 ADDITIONAL COPYRIGHTS
|
||||
|
||||
@@ -803,7 +882,7 @@ under the B<GPL> as well.
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
I<T.Linden <tom AT cpan DOT org>>
|
||||
I<T.v.Dein <tom AT vondein DOT org>>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
|
||||
80
src/pcp.c
80
src/pcp.c
@@ -54,6 +54,7 @@ int main (int argc, char **argv) {
|
||||
char *keyid = NULL;
|
||||
char *id = NULL;
|
||||
char *xpass = NULL;
|
||||
char *extra = NULL;
|
||||
plist_t *recipient = NULL;
|
||||
FILE *in;
|
||||
|
||||
@@ -263,6 +264,85 @@ int main (int argc, char **argv) {
|
||||
mode = PCP_MODE_ENCRYPT_ME;
|
||||
}
|
||||
|
||||
|
||||
if(argc >= 1) {
|
||||
/* ok, there are arguments left on the commandline.
|
||||
treat it as filename or recipient, depending on
|
||||
current mode and other given parameters */
|
||||
extra = ucmalloc(strlen(argv[0])+1);
|
||||
strncpy(extra, argv[0], strlen(argv[0])+1);
|
||||
|
||||
switch (mode) {
|
||||
case PCP_MODE_DECRYPT:
|
||||
if(infile == NULL)
|
||||
infile = extra;
|
||||
break;
|
||||
|
||||
case PCP_MODE_ENCRYPT:
|
||||
if(infile == NULL)
|
||||
infile = extra;
|
||||
else if(userec == 0 && useid == 0) {
|
||||
userec = 1;
|
||||
int i;
|
||||
for (i=0; i<argc; i++) {
|
||||
p_add(&recipient, argv[i]);
|
||||
}
|
||||
free(extra);
|
||||
}
|
||||
break;
|
||||
|
||||
case PCP_MODE_IMPORT_PUBLIC:
|
||||
case PCP_MODE_IMPORT_SECRET:
|
||||
if(infile == NULL)
|
||||
infile = extra;
|
||||
break;
|
||||
|
||||
case PCP_MODE_EXPORT_SECRET:
|
||||
case PCP_MODE_EXPORT_PUBLIC:
|
||||
if(outfile == NULL)
|
||||
outfile = extra;
|
||||
else if(useid == 0 && userec == 0) {
|
||||
p_add(&recipient, extra);
|
||||
userec = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case PCP_MODE_VERIFY:
|
||||
if(infile == NULL)
|
||||
infile = extra;
|
||||
else if (useid == 0) {
|
||||
id = extra;
|
||||
useid = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case PCP_MODE_SIGN:
|
||||
if(infile == NULL)
|
||||
infile = extra;
|
||||
else if(outfile == NULL && detach == 0)
|
||||
outfile = extra;
|
||||
break;
|
||||
|
||||
default:
|
||||
free(extra); /* not used */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* check if there's some enviroment we could use */
|
||||
if(usevault == 1) {
|
||||
char *_vaultfile = getenv("PCP_VAULT");
|
||||
if(_vaultfile != NULL) {
|
||||
strncpy(vaultfile, _vaultfile, strlen(_vaultfile)+1);
|
||||
}
|
||||
}
|
||||
if(debug == 0) {
|
||||
char *_debug = getenv("PCP_DEBUG");
|
||||
if(_debug != NULL) {
|
||||
debug = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(usevault == 1) {
|
||||
pcphash_init();
|
||||
vault = pcpvault_init(vaultfile);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
" [ --export-public | --export-secret | --import-public | --import-secret ]\n" \
|
||||
" [ --encrypt | --decrypt ]\n" \
|
||||
" [ --sign | --check-signature ]\n" \
|
||||
" [ arguments ]\n" \
|
||||
"\n" \
|
||||
"General Options:\n" \
|
||||
"-h --help Print this help message.\n" \
|
||||
@@ -42,5 +43,10 @@
|
||||
"\n" \
|
||||
"Encoding Options:\n" \
|
||||
"-z --z85-encode Armor with Z85 encoding.\n" \
|
||||
"\n" \
|
||||
"Arguments:\n" \
|
||||
"Extra arguments after options are treated as filenames or\n" \
|
||||
"recipients, depending on operation mode.\n" \
|
||||
"\n" \
|
||||
"\n"
|
||||
#endif
|
||||
|
||||
@@ -4,6 +4,7 @@ Usage: pcp1 [ --help | --version ]
|
||||
[ --export-public | --export-secret | --import-public | --import-secret ]
|
||||
[ --encrypt | --decrypt ]
|
||||
[ --sign | --check-signature ]
|
||||
[ arguments ]
|
||||
|
||||
General Options:
|
||||
-h --help Print this help message.
|
||||
@@ -40,3 +41,8 @@ Signature Options:
|
||||
|
||||
Encoding Options:
|
||||
-z --z85-encode Armor with Z85 encoding.
|
||||
|
||||
Arguments:
|
||||
Extra arguments after options are treated as filenames or
|
||||
recipients, depending on operation mode.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user