mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-17 20:00:58 +01:00
bugfix in encryption key computing, added new feature: derived public keys
This commit is contained in:
@@ -1,17 +1,23 @@
|
||||
|
||||
AM_CFLAGS = -I../libpcp -Wall -g
|
||||
check_PROGRAMS = col invalidkeys
|
||||
check_PROGRAMS = col invalidkeys pwhashes
|
||||
|
||||
col_LDADD = ../libpcp/.libs/libpcp1.a
|
||||
col_SOURCES = collisions.c
|
||||
|
||||
invalidkeys_LDADD = ../libpcp/.libs/libpcp1.a ../src/keyprint.o
|
||||
invalidkeys_SOURCES = invalidkeys.c
|
||||
|
||||
pwhashes_LDADD = ../libpcp/.libs/libpcp1.a
|
||||
pwhashes_SOURCES = pwhashes.c
|
||||
|
||||
AM_CPPFLAGS = -I$(top_builddir)/src
|
||||
|
||||
|
||||
test: check
|
||||
./unittests.pl unittests.cfg
|
||||
rm -f test* v* stresstest/*
|
||||
./unittests.pl unittests.cfg $(CHECK)
|
||||
@echo "To run a single test only, type: 'make test CHECK=testname'"
|
||||
|
||||
stresstest: check
|
||||
./unittests.pl stresstests.cfg
|
||||
|
||||
@@ -49,7 +49,7 @@ PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
check_PROGRAMS = col$(EXEEXT) invalidkeys$(EXEEXT)
|
||||
check_PROGRAMS = col$(EXEEXT) invalidkeys$(EXEEXT) pwhashes$(EXEEXT)
|
||||
subdir = tests
|
||||
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(top_srcdir)/config/depcomp
|
||||
@@ -71,6 +71,9 @@ col_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
||||
am_invalidkeys_OBJECTS = invalidkeys.$(OBJEXT)
|
||||
invalidkeys_OBJECTS = $(am_invalidkeys_OBJECTS)
|
||||
invalidkeys_DEPENDENCIES = ../libpcp/.libs/libpcp1.a ../src/keyprint.o
|
||||
am_pwhashes_OBJECTS = pwhashes.$(OBJEXT)
|
||||
pwhashes_OBJECTS = $(am_pwhashes_OBJECTS)
|
||||
pwhashes_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/libpcp
|
||||
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
@@ -84,8 +87,9 @@ CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES)
|
||||
DIST_SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES)
|
||||
SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES) $(pwhashes_SOURCES)
|
||||
DIST_SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES) \
|
||||
$(pwhashes_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
@@ -212,6 +216,8 @@ col_LDADD = ../libpcp/.libs/libpcp1.a
|
||||
col_SOURCES = collisions.c
|
||||
invalidkeys_LDADD = ../libpcp/.libs/libpcp1.a ../src/keyprint.o
|
||||
invalidkeys_SOURCES = invalidkeys.c
|
||||
pwhashes_LDADD = ../libpcp/.libs/libpcp1.a
|
||||
pwhashes_SOURCES = pwhashes.c
|
||||
AM_CPPFLAGS = -I$(top_builddir)/src
|
||||
all: all-am
|
||||
|
||||
@@ -262,6 +268,9 @@ col$(EXEEXT): $(col_OBJECTS) $(col_DEPENDENCIES) $(EXTRA_col_DEPENDENCIES)
|
||||
invalidkeys$(EXEEXT): $(invalidkeys_OBJECTS) $(invalidkeys_DEPENDENCIES) $(EXTRA_invalidkeys_DEPENDENCIES)
|
||||
@rm -f invalidkeys$(EXEEXT)
|
||||
$(LINK) $(invalidkeys_OBJECTS) $(invalidkeys_LDADD) $(LIBS)
|
||||
pwhashes$(EXEEXT): $(pwhashes_OBJECTS) $(pwhashes_DEPENDENCIES) $(EXTRA_pwhashes_DEPENDENCIES)
|
||||
@rm -f pwhashes$(EXEEXT)
|
||||
$(LINK) $(pwhashes_OBJECTS) $(pwhashes_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
@@ -271,6 +280,7 @@ distclean-compile:
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collisions.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/invalidkeys.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pwhashes.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@@ -519,7 +529,9 @@ uninstall-am:
|
||||
|
||||
|
||||
test: check
|
||||
./unittests.pl unittests.cfg
|
||||
rm -f test* v* stresstest/*
|
||||
./unittests.pl unittests.cfg $(CHECK)
|
||||
@echo "To run a single test only, type: 'make test CHECK=testname'"
|
||||
|
||||
stresstest: check
|
||||
./unittests.pl stresstests.cfg
|
||||
|
||||
@@ -3,34 +3,34 @@
|
||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||
Owner: Alicia
|
||||
Mail: alicia@local
|
||||
Key-ID: 0xE2942C2B6C96F6CC
|
||||
Public-Key: 1mZ?-e4^0JA&[}#=t1$/&aI<i:eM^bA/uIJ0O.iRBn#pv
|
||||
Creation Time: 2013-10-28T18:43:53
|
||||
Checksum: 1D:33:59:F1:B2:2F:21:73:3A:F6:5E:0D:63:47:76:42
|
||||
93:3B:EF:36:D3:20:8E:43:F5:4D:A9:39:9F:09:43:69
|
||||
Serial Number: 0x90C7B055
|
||||
Key-ID: 0x44713DD4E010C582
|
||||
Public-Key: 0#17WjFuf7fj](Ij)l%NCBRo:TwopP(6qSXlEzxb0rr91
|
||||
Creation Time: 2013-11-01T15:52:56
|
||||
Checksum: A0:AF:A6:F1:07:9F:90:EE:95:AF:D7:EE:44:7E:E8:A7
|
||||
ED:C0:71:A4:B3:BF:CD:2B:9C:0E:EC:1D:63:0B:14:A5
|
||||
Serial Number: 0x2E2A200A
|
||||
Key Version: 0x00000001
|
||||
Random Art ID: +----------------+
|
||||
|+. . .o |
|
||||
|oo o o o |
|
||||
| o + . . |
|
||||
| . . . . |
|
||||
| . o |
|
||||
| . |
|
||||
| |
|
||||
| |
|
||||
| . |
|
||||
| o |
|
||||
| . . |
|
||||
| .... |
|
||||
| ..o...= . |
|
||||
| .+ o.+..|
|
||||
+----------------+
|
||||
|
||||
1mZ?-e4^0JA&[}#=t1$/&aI<i:eM^bA/uIJ0O.iRBu%.Sv}/uK[e:!VVu[(jqvxj3QIzoG<
|
||||
/@!Wi0UUCA}6NMwWT$%=Om%gAzYhPvNTZ$mm%*l5YCA>s8fWoUI)[[l?@](l[bY3wzfJg8$
|
||||
+RsBj5+]c/(!ZwWu-lDPCkCGb.GJM$HLPU@np=ZQTh-1[#RaNGdOWb(]ZY=K]fSdMfU4q)Z
|
||||
T7dmxE:Cmst2o73w4RJ*A%?1idZ2&a^:kXsxnrxCXc5zt>n{QOQY{99oj&^!WH%6b&8@r]o
|
||||
OLEzsx9t]B1/vjj:SUBt3*enaKb?.>2eZdMKvFLQ?7DeedmCz-0FGzc!t#o)&Tg%:jV$8iH
|
||||
Iq.#9vqGT/x<<nyz!0i(0i&$kp^ylwen6]g:ytRVULL%s>UF39qu9sT6xka@S9F&fyO%Vgo
|
||||
AtD^cLtsGtT.DiNQ5&dSeOe2Oa:ETxg&Z[fB+I7uU-Z9OstL?nWLq@O&)a+:vtW1NUrt>4(
|
||||
ZaW2D^?xt:CzJ=ARPhD2P6AW5t(E@MD?rpY5MlYFhYv*VU7%6bZ>#hU:<Gv5FX0OCR#PiK}
|
||||
UMFAiwkJ)laaDw53N>kW2r9nA8y5>OCb!u.i3dQ8NK3.<>A62Jy[^p}rzi:f*R-]cll:p!D
|
||||
hB:kv7pVUjpj*-.5Bg8NBT:HpC:nA*X3)]<eSQP)Qgc4fDlOZ$^lPE4]hBx?i9:bjPqucW%
|
||||
0096109cnzKomKzJcU^k?C=*@OGUI&18tAgfFq^Wi8!R6ac}Deld[lkk0OYPaf}2{5Arw$e
|
||||
Kg$$@/G+8v$i*m)d@U?H5.hN
|
||||
0#17WjFuf7fj](Ij)l%NCBRo:TwopP(6qSXlEzxb0ypKov}/uK2Q6/xr-Mq6bH=dy8-biEa
|
||||
o$IOLG(OLj{dO?B}Vh)-e0X:73@MH9Z=i&FhqqkV{j>wxmJcC0*vL4O<Q+.q)ty:VOAGbyR
|
||||
/3CTX4w{:GavB1[71)Y+O]jo*Fl[k0wyG=rBrVbmSRO3cS/7ZgaC@I8z:iqmr!JQPm3!i#0
|
||||
46m2#Gp9537DU[]VwU2cj0FBbXSnsG(v0R>Mj3sOZNR^3k}OXM!N<]}+!SFY>qoT%H6{tZb
|
||||
WCdrzhvQK7Cc]Prn5yvZvyo*@3:xd-plZ92qy@XnqMuc#N7EdRWP30RnxhloN6ZMTNGKOaR
|
||||
ETo@7vqGT/x<<nyz!0i(05F-mcd)9K><iy/NSYGQ?-sv*4zeW%*<hX}ErwDIo+=6DyWlED0
|
||||
5<F%P*cZ0d^3{dA*&DBPG&/(:I3P!t{DA?5jZMIHUs9$+g$yx>]?.C}AEPsc+IVii?J?Tl3
|
||||
dZ/BB=?og/UGl-AaP(aSG0VxQ9SQMbbnWW1IMzrX<D9YMxa$@J!V)BS#DQU6PgEP!<<baUG
|
||||
7S+q0l2]Zq5t96oB2Gp3/Oli/&<+lBrd4K>{}<bJYekq/as^20FMPcYdrY0BgrvTaThiB$c
|
||||
HvxporF*#>>aRm^KrTa#B5oo2uW)@BgRl6kE<bjZgg=EcBl{@>2fFLmGh8)t>BX6q?qucW%
|
||||
00961016?#e^3NT/77sIVp)H[P%U=36VHc+)7i+Klv>OpXx.Cyv*-/qUB>>TOr/21J^s(4B
|
||||
H<GklM1BcPYtTx*%-jvuJp6a
|
||||
------ END PCP PUBLICKEY ------
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
----- BEGIN PCP SECRET KEY -----
|
||||
Generated by: Pretty Curved Privacy Version 0.0.1
|
||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||
Key-ID: 0xE2942C2B6C96F6CC
|
||||
Creation Time: 2013-10-28T18:43:53
|
||||
Serial Number: 0x3271452A
|
||||
Key-ID: 0x44713DD4E010C582
|
||||
Creation Time: 2013-11-01T15:52:56
|
||||
Serial Number: 0xD56BD45A
|
||||
Key Version: 0x00000001
|
||||
|
||||
1mZ?-e4^0JA&[}#=t1$/&aI<i:eM^bA/uIJ0O.iRBo2&m=rz<?V@H>0Z2d1[B(z6I[xE%-a
|
||||
+sp@mrOlA&rK9gRP1pk=Hnr=sCxjb?Sj51ISMR.YA&:ZT23?J.Nx!{ZHobd9(QUR)FPmjti
|
||||
gT//!hkQNum.a9NC[LW>UetZSh%D>rS]#v}/uK[e:!VVu[(jqvxj3QIzoG</@!Wi0UUCA}6
|
||||
NMwWT$%=Om%gAzYhPvNTZ$mm%*l5YCA>s8fWoUI)[[l?@](l[bY3wzfJg8$+RsBj5+]c/(!
|
||||
ZwWu-lDPCkCGb.GJM$HLPU@np=ZQTh-1[#RaNGdOWb(]ZY=K]fSdMfU4q)ZT7dmxE:Cmst2
|
||||
o73w4RJ*A%?1idZ2&a^:kXsxnrxCXc5zt>n{QOQY{99oj&^!WH%6b&8@r]oOLEzsx9t]B1/
|
||||
vjj:SUBt3*enaKb?.>2eZdMKvFLQ?7DeedmCz-0FGzc!t#o)&Tg%:jV$8iHIq.#9vqGT/x<
|
||||
<nyz!0i(0i&$kp^ylwen6]g:ytRVULL%s>UF39qu9sT6xka@S9F&fyO%VgoAtD^cLtsGtT.
|
||||
DiNQ5&dSeOe2Oa:ETxg&Z[fB+I7uU-Z9OstL?nWLq@O&)a+:vtW1NUrt>4(ZaW2D^?xt:Cz
|
||||
J=ARPhD2P6AW5t(E@MD?rpY5MlYFhYv*VU7%6bZ>#hU:<Gv5FX0OCR#PiK}UMFAiwkJ)laa
|
||||
Dw53N>kW2r9nA8y5>OCb!u.i3dQ8NK3.<>A62Jy[^p}rzi:f*R-]cll:p!DhB:kv7pVUjpj
|
||||
*-.5Bg8NBT:HpC:nA*X3)]<eSQP)Qgc4fDlOZ$^lPE4]hBx?i.=-ZKqucW%0096104HASg6
|
||||
4S/xxvy{tr<r40seV900000000000000000000000000000000000000000eu+e0seV901Y
|
||||
bg0kqxS9@(ov
|
||||
0#17WjFuf7fj](Ij)l%NCBRo:TwopP(6qSXlEzxb0rrpXZ*@1[iueS8)-7+Yi7*B2x#R0Bl
|
||||
i[Bb3{IdSVjF+hRw=E7*+R-99mFl}W7zX!]Vy1dY4:E8(Xh/f+^0QRI8jw*cVGk-?W%l8GP
|
||||
-jBX39B%PNsBu8#$@X]Yw+)Mr=G=L%Gk2v}/uK2Q6/xr-Mq6bH=dy8-biEao$IOLG(OLj{d
|
||||
O?B}Vh)-e0X:73@MH9Z=i&FhqqkV{j>wxmJcC0*vL4O<Q+.q)ty:VOAGbyR/3CTX4w{:Gav
|
||||
B1[71)Y+O]jo*Fl[k0wyG=rBrVbmSRO3cS/7ZgaC@I8z:iqmr!JQPm3!i#046m2#Gp9537D
|
||||
U[]VwU2cj0FBbXSnsG(v0R>Mj3sOZNR^3k}OXM!N<]}+!SFY>qoT%H6{tZbWCdrzhvQK7Cc
|
||||
]Prn5yvZvyo*@3:xd-plZ92qy@XnqMuc#N7EdRWP30RnxhloN6ZMTNGKOaRETo@7vqGT/x<
|
||||
<nyz!0i(05F-mcd)9K><iy/NSYGQ?-sv*4zeW%*<hX}ErwDIo+=6DyWlED05<F%P*cZ0d^3
|
||||
{dA*&DBPG&/(:I3P!t{DA?5jZMIHUs9$+g$yx>]?.C}AEPsc+IVii?J?Tl3dZ/BB=?og/UG
|
||||
l-AaP(aSG0VxQ9SQMbbnWW1IMzrX<D9YMxa$@J!V)BS#DQU6PgEP!<<baUG7S+q0l2]Zq5t
|
||||
96oB2Gp3/Oli/&<+lBrd4K>{}<bJYekq/as^20FMPcYdrY0BgrvTaThiB$cHvxporF*#>>a
|
||||
Rm^KrTa#B5oo2uW)@BgRl6kE<bjZgg=EcBl{@>2fFLmGh8)t>/*@]1qucW%0096109W(/!D
|
||||
7d$0ht*YE)tbE0seV900000000000000000000000000000000000000000eu+e0seV901Y
|
||||
bg0f]#U:]zzw
|
||||
------ END PCP SECRET KEY ------
|
||||
|
||||
@@ -2,35 +2,35 @@
|
||||
Generated by: Pretty Curved Privacy Version 0.0.1
|
||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||
Owner: Bobby
|
||||
Mail: bobby@<EFBFBD>local
|
||||
Key-ID: 0x68832D215AFB2440
|
||||
Public-Key: 1m9SHw3}sw<Ro82?hQ&J[byDA]z(g1.6X$MweEJ95Dz!h
|
||||
Creation Time: 2013-10-28T18:48:11
|
||||
Checksum: A8:32:16:EF:9D:38:9A:3C:7D:99:F2:81:D4:42:B3:2D
|
||||
28:13:A9:43:1B:22:C3:71:A8:38:38:10:E3:A3:B9:82
|
||||
Serial Number: 0x61FDA3CE
|
||||
Mail: bobby@local
|
||||
Key-ID: 0xCE20289DFB268A3D
|
||||
Public-Key: 18a+&]*cfaPvpGAs*rp=oWkCXnLGe^aUx%^:BtLfv/MGe
|
||||
Creation Time: 2013-11-01T15:53:45
|
||||
Checksum: D6:79:EB:3B:22:CE:77:99:62:58:9A:7D:C5:B7:62:1B
|
||||
F1:2D:2D:FB:C3:D5:B1:9B:D3:B6:DA:9D:89:5B:14:07
|
||||
Serial Number: 0x6F6477D5
|
||||
Key Version: 0x00000001
|
||||
Random Art ID: +----------------+
|
||||
| . |
|
||||
| o |
|
||||
| o . |
|
||||
| . = o |
|
||||
| o . B . |
|
||||
| o + . . |
|
||||
| . o |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| |
|
||||
| o . |
|
||||
| o o . |
|
||||
| . Bo.. |
|
||||
| +o==. |
|
||||
+----------------+
|
||||
|
||||
1m9SHw3}sw<Ro82?hQ&J[byDA]z(g1.6X$MweEJ95KHzBvTd%QWcl:NlJtTyRdZ>sTc3J1e
|
||||
nQ<!<c@^1<(%aF6ks+&}eE%8}zc<Ny@#5&O%GN6ep49slxWhkSe*jox/(JrkVP[zWJ0.wQ8
|
||||
RqvuRolF*/(wJ&{+Qpd1dyx&=ERL1c$%bg($]4Fe23!410z/HctdobTD=bs#@]sT[[%d7Z&
|
||||
/k:d4>jeJey}hI*S7Pl^8O:i#]wd4}WNR7UYw(=}pBKsHbm^XeFqg^(CtjZG!K4oMPT=bJU
|
||||
df/X2F]5iq-bYp:EC82YBJ<[NP*BDW?r-L..!As*CWddicuvsp^AQ20O-$+a@K<}6OPd*Hb
|
||||
jex#UvSbZ+C%Gt+z!0i(0j#I6?xftr.eqpicnf]DWfiqE:*?/%(slD9QQU[7t4{J>hyLRkC
|
||||
s=uT0HwrFIz6f9C!&=Nf$(jE*(3RFhA>SM5MiFq&8TqUn:^2xzxa70=]T*J[g}vVl8:-Zqq
|
||||
N%{=qe7rScb.M4{Ld4j[HDIV(YZZWZ4}At*x.NT5E[/5p/3{SbNK7wjj[1yA2d]ZlE[I4-Z
|
||||
11m*e^vcdRz+(xlU=:cXwV2<E1jGb5N/rmsW}O*DM/lG^lEi*+ahIvln>A+463^RQHyN77/
|
||||
>fdtrPLE^lGYGTc(=FosgPggLZmqU)FTG6g.][KFAi5&YHl]3FOk$jf@g=c(^t3E+tqucW%
|
||||
009610m4wrvfsIuoY5m{QWy!7fuih0^e@NMCINT@TYUeV/h:L8WNE3YBh]kQ{UG3qf*4Ql9
|
||||
}&1i2de}$URN7GD6yTb/8L^J
|
||||
18a+&]*cfaPvpGAs*rp=oWkCXnLGe^aUx%^:BtLfv)U9yvTd$l]THd!tuMEjzY(YpATNQ[=
|
||||
+9O9^D(VP+S/a@hLz<>u{Y]esh$8duOcR0iu]e*D%*)/F/JBwGFEOY/Sy.dtBJ:a1C7003$
|
||||
APnZE=KcH[2z+=R]?R?[}M!t@g+p2.UI!HL$?7.5v.w>3}B>dB[l#p7e<7{<I=x8vBCX-+Z
|
||||
+^4{FLkgm=2C2XtC{&RQ$vTD*[GO5edJOJz==3oO+dHiI^tFHJF9th-!zV:rRoe7a]Bf2c4
|
||||
6?KlfIOU$[tib4@ae2gxwErN!nlyFyCjK#fq(nhLdXZnaBZPJH?2<3i.AGbhcn2^REv^wgp
|
||||
nf^T<vSbZ+C%Dg:v{%fN5jnkID*#%SsF3#*<Gl53B[s3T/u&/u1X+^Xf2H5x@j+Vr!1eAkO
|
||||
]*qlLlFNsx+ha/b9Nbn2T.A[{n!PClH%bE{Ou>i)Jl<){nb:RRPgWu/uw8l<tSqoh^L4s-D
|
||||
.s+A?7V*0%}2J[XV/XX[L5A8ydsrlSvei+eLs@Eo.#@wENxEYwb+FAAYJ7=ax}ZiXgn(Yy7
|
||||
VF7osPjBku4f+P[M^<9V5>a@FBi{i@3y8]O6/l:NF0P7nsx4xKueAjuVY1h5e*K+3RwcZdD
|
||||
Gviumba.%%uk*Ve3k39UMAPWa70-7xS7[SeaoyYtQmkuLLi5%w@lnyCUk@g[elv3v/qucW%
|
||||
009610m=p7zV.nxQrk[Mw!!mbV1F[Nd(efiPTr+pd=QNgCQ>-k?#=T)<X%@VePW62>XM7A[
|
||||
jSQW]2+-gx<+-p(4+#H8#]%s
|
||||
------ END PCP PUBLICKEY ------
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
----- BEGIN PCP SECRET KEY -----
|
||||
Generated by: Pretty Curved Privacy Version 0.0.1
|
||||
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
|
||||
Key-ID: 0x68832D215AFB2440
|
||||
Creation Time: 2013-10-28T18:48:11
|
||||
Serial Number: 0xECD29916
|
||||
Key-ID: 0xCE20289DFB268A3D
|
||||
Creation Time: 2013-11-01T15:53:45
|
||||
Serial Number: 0x2467E86B
|
||||
Key Version: 0x00000001
|
||||
|
||||
1m9SHw3}sw<Ro82?hQ&J[byDA]z(g1.6X$MweEJ95DAzC&hpY67^g3^L>d4K/JF>>JbqkC-
|
||||
ENik9(Oa&k6L^6(cq5O?r}Yx2C5&kgv$qs(-bttGrEtiKwvSQhD6&VdwYg)Fg%dqgVLX#FK
|
||||
+DcAIb@!A-ql$kqlYXd71ciD-Gs+p^P8fvTd%QWcl:NlJtTyRdZ>sTc3J1enQ<!<c@^1<(%
|
||||
aF6ks+&}eE%8}zc<Ny@#5&O%GN6ep49slxWhkSe*jox/(JrkVP[zWJ0.wQ8RqvuRolF*/(w
|
||||
J&{+Qpd1dyx&=ERL1c$%bg($]4Fe23!410z/HctdobTD=bs#@]sT[[%d7Z&/k:d4>jeJey}
|
||||
hI*S7Pl^8O:i#]wd4}WNR7UYw(=}pBKsHbm^XeFqg^(CtjZG!K4oMPT=bJUdf/X2F]5iq-b
|
||||
Yp:EC82YBJ<[NP*BDW?r-L..!As*CWddicuvsp^AQ20O-$+a@K<}6OPd*Hbjex#UvSbZ+C%
|
||||
Gt+z!0i(0j#I6?xftr.eqpicnf]DWfiqE:*?/%(slD9QQU[7t4{J>hyLRkCs=uT0HwrFIz6
|
||||
f9C!&=Nf$(jE*(3RFhA>SM5MiFq&8TqUn:^2xzxa70=]T*J[g}vVl8:-ZqqN%{=qe7rScb.
|
||||
M4{Ld4j[HDIV(YZZWZ4}At*x.NT5E[/5p/3{SbNK7wjj[1yA2d]ZlE[I4-Z11m*e^vcdRz+
|
||||
(xlU=:cXwV2<E1jGb5N/rmsW}O*DM/lG^lEi*+ahIvln>A+463^RQHyN77/>fdtrPLE^lGY
|
||||
GTc(=FosgPggLZmqU)FTG6g.][KFAi5&YHl]3FOk$jf@g=c(^-9o0OqucW%0096102z0J(&
|
||||
Aly(LQ/JMoWb{0seV900000000000000000000000000000000000000000evsu0seV901Y
|
||||
bg08Qd7i@/lX
|
||||
18a+&]*cfaPvpGAs*rp=oWkCXnLGe^aUx%^:BtLfv/OYAu{EkGzV6b}YAR}P{d}y@LR)QXx
|
||||
Mrlpmmyv5L2*caym<akR-r$9Q$lU2}%>k:0@x*u8U=rjS(uW.b0D5R-Esfd23JQIuCz6)v<
|
||||
]f{eDwrpMNMVSH-4zE57W$!jZ(odJy4L)vTd$l]THd!tuMEjzY(YpATNQ[=+9O9^D(VP+S/
|
||||
a@hLz<>u{Y]esh$8duOcR0iu]e*D%*)/F/JBwGFEOY/Sy.dtBJ:a1C7003$APnZE=KcH[2z
|
||||
+=R]?R?[}M!t@g+p2.UI!HL$?7.5v.w>3}B>dB[l#p7e<7{<I=x8vBCX-+Z+^4{FLkgm=2C
|
||||
2XtC{&RQ$vTD*[GO5edJOJz==3oO+dHiI^tFHJF9th-!zV:rRoe7a]Bf2c46?KlfIOU$[ti
|
||||
b4@ae2gxwErN!nlyFyCjK#fq(nhLdXZnaBZPJH?2<3i.AGbhcn2^REv^wgpnf^T<vSbZ+C%
|
||||
Dg:v{%fN5jnkID*#%SsF3#*<Gl53B[s3T/u&/u1X+^Xf2H5x@j+Vr!1eAkO]*qlLlFNsx+h
|
||||
a/b9Nbn2T.A[{n!PClH%bE{Ou>i)Jl<){nb:RRPgWu/uw8l<tSqoh^L4s-D.s+A?7V*0%}2
|
||||
J[XV/XX[L5A8ydsrlSvei+eLs@Eo.#@wENxEYwb+FAAYJ7=ax}ZiXgn(Yy7VF7osPjBku4f
|
||||
+P[M^<9V5>a@FBi{i@3y8]O6/l:NF0P7nsx4xKueAjuVY1h5e*K+3RwcZdDGviumba.%%uk
|
||||
*Ve3k39UMAPWa70-7xS7[SeaoyYtQmkuLLi5%w@lnyCUk@g[e?*91UqucW%009610bH!hbM
|
||||
Q0z>Pa*6vN85b0seV900000000000000000000000000000000000000000eu+e0seV901Y
|
||||
bg0a8w*x-Fbk
|
||||
------ END PCP SECRET KEY ------
|
||||
|
||||
@@ -77,10 +77,13 @@ dxmorg@florida.cops.gov
|
||||
|
||||
#
|
||||
# encryption tests
|
||||
idbobby = 0x68832D215AFB2440
|
||||
idalicia = 0xE2942C2B6C96F6CC
|
||||
idbobby = 0xCE20289DFB268A3D
|
||||
idalicia = 0x44713DD4E010C582
|
||||
mailbobby = bobby@local
|
||||
mailalicia = alicia@local
|
||||
md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
<test check-crypto-alicia-init>
|
||||
# alicias part
|
||||
prepare = echo ${md5msg} > testmessage
|
||||
<test check-crypto-alicia-import-secret>
|
||||
cmd = $pcp -V va -S -I key-alicia-sec -x a
|
||||
@@ -104,6 +107,7 @@ md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
</test>
|
||||
|
||||
<test check-crypto-bobby-init>
|
||||
# bobbys part
|
||||
<test check-crypto-bobby-import-secret>
|
||||
cmd = $pcp -V vb -S -I key-bobby-sec -x b
|
||||
expect = /${idbobby}/
|
||||
@@ -125,6 +129,52 @@ md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
</test>
|
||||
</test>
|
||||
|
||||
#
|
||||
# same, now with derived keys, keypairs:
|
||||
# alicia bobby
|
||||
# secret: derived for bobby secret:primary
|
||||
# bobby's public: primary alicia's public: derived for him
|
||||
#
|
||||
# derived by name
|
||||
<test check-dcrypto-init>
|
||||
<test check-dcrypto-alicia-export-derived-byname>
|
||||
cmd = $pcp -V va -p -R Bobby -x a -O testpub-forbobby-name
|
||||
expect-file = testpub-forbobby-name
|
||||
</test>
|
||||
<test check-dcrypto-bobby-import-byname>
|
||||
cmd = $pcp -V vb -P -I testpub-forbobby-name
|
||||
expect = /added/
|
||||
</test>
|
||||
<test check-dcrypto-bobby-encrypt-byname>
|
||||
id = grep Key-ID testpub-forbobby-name | sed 's/^ //g' | cut -d' ' -f2
|
||||
cmd = $pcp -V vb -e -i %{id} -I testmessage -O testencrypted-name -x b
|
||||
expect = /success/
|
||||
</test>
|
||||
<test check-dcrypto-alicia-decrypt-byname>
|
||||
cmd = $pcp -V va -d -I testencrypted-name -x a
|
||||
expect = /success/
|
||||
</test>
|
||||
|
||||
# repeat, but now use derived keys in both directions
|
||||
<test check-dcrypto-bobby-export-derived-byname>
|
||||
cmd = $pcp -V vb -p -R Alicia -x b -O testpub-foralicia-name
|
||||
expect-file = testpub-foralicia-name
|
||||
</test>
|
||||
<test check-dcrypto-alicia-import-byname>
|
||||
cmd = $pcp -V va -P -I testpub-foralicia-name
|
||||
expect = /added/
|
||||
</test>
|
||||
<test check-dcrypto-bobby-encrypt-byname-both>
|
||||
id = grep Key-ID testpub-forbobby-name | sed 's/^ //g' | cut -d' ' -f2
|
||||
cmd = $pcp -V vb -e -i %{id} -I testmessage -O testencrypted-name -x b -R Alicia
|
||||
expect = /success/
|
||||
</test>
|
||||
<test check-dcrypto-alicia-decrypt-byname-both>
|
||||
cmd = $pcp -V va -d -I testencrypted-name -x a
|
||||
expect = /success/
|
||||
</test>
|
||||
</test>
|
||||
|
||||
|
||||
#
|
||||
# negative tests, check for error handling
|
||||
@@ -206,7 +256,7 @@ md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
</test>
|
||||
|
||||
<test check-if-catch-missing-newlines>
|
||||
prepare = jot 5000 | while read ignore; do echo -n X; done > testfile-toolong
|
||||
prepare = ./jot 5000 | while read ignore; do echo -n X; done > testfile-toolong
|
||||
cmd = $pcp -V $vault -P -I testfile-toolong
|
||||
expect = /line is too long/
|
||||
</test>
|
||||
@@ -216,7 +266,7 @@ md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
* catch invalid z85, it only checks the input length and not the actual
|
||||
* encoding. Re-enable, once that bug is fixed.
|
||||
<test check-if-catch-invalid-z85>
|
||||
prepare = jot 30 | while read ignore; do \
|
||||
prepare = ./jot 30 | while read ignore; do \
|
||||
echo XXXXXXXXXXXXXXXXXX; done > testfile-noz85
|
||||
cmd = $pcp -V $vault -P -I testfile-noz85
|
||||
expect = /could not decode input/
|
||||
@@ -224,7 +274,7 @@ md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
*/
|
||||
|
||||
<test check-if-catch-nokey-behind-z85>
|
||||
prepare = jot 30 | while read ignore; do echo XXXXX; done \
|
||||
prepare = ./jot 30 | while read ignore; do echo XXXXX; done \
|
||||
| $pcp -z > testfile-nokey
|
||||
cmd = $pcp -V $vault -P -I testfile-nokey
|
||||
expect = /result to a proper sized key/
|
||||
@@ -306,12 +356,7 @@ md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
cmd = $pcp -V testvault-invalidversion -l
|
||||
expect = /Unexpected vault file format/
|
||||
</test>
|
||||
/*
|
||||
<test check-vault-invalid-itemsize>
|
||||
cmd = $pcp -V testvault-invaliditemsize -l
|
||||
expect = /invalid key item header size/
|
||||
</test>
|
||||
*/
|
||||
|
||||
<test check-vault-invalid-itemtype>
|
||||
cmd = $pcp -V testvault-invaliditemtype -l
|
||||
expect = /invalid key type/
|
||||
@@ -321,3 +366,16 @@ md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50
|
||||
cmd = $pcp -V testvault-invalidkeytype -l
|
||||
expect = /contain any keys so far./
|
||||
</test>
|
||||
|
||||
<test check-encryptionkeys-dont-collide>
|
||||
cmd = ./pwhashes
|
||||
expect = /ok/
|
||||
</test>
|
||||
|
||||
#
|
||||
# input handling tests
|
||||
<test check-large-meta>
|
||||
cmd = (./jot 300 | while read m; do echo -n m; done; echo xxx) \
|
||||
| $pcp -V $vault -k -x $passwd
|
||||
expect = /Generated new secret key/
|
||||
</test>
|
||||
|
||||
@@ -10,7 +10,10 @@ use Data::Dumper;
|
||||
sub run;
|
||||
sub execute;
|
||||
|
||||
my $config = shift @ARGV || die "usage: $0 <config>\n";
|
||||
my ($config, $check) = @ARGV;
|
||||
if (! $config) {
|
||||
die "usage: $0 <config>\n";
|
||||
}
|
||||
|
||||
my %cfg = ParseConfig(-ConfigFile => $config,
|
||||
-InterPolateVars => 1,
|
||||
@@ -22,11 +25,22 @@ if (exists $cfg{confirm}) {
|
||||
my $cont = <STDIN>;
|
||||
}
|
||||
|
||||
foreach my $test (keys %{$cfg{test}}) {
|
||||
my $name = "$test ($cfg{test}->{$test}->{cmd})";
|
||||
&runtest($cfg{test}->{$test}, $name);
|
||||
if ($check) {
|
||||
if (exists $cfg{test}->{$check}) {
|
||||
&runtest($cfg{test}->{$check}, $check);
|
||||
}
|
||||
}
|
||||
else {
|
||||
my $continue = 1;
|
||||
foreach my $test (keys %{$cfg{test}}) {
|
||||
if ($continue) {
|
||||
$continue = &runtest($cfg{test}->{$test}, $test);
|
||||
if (!$continue) {
|
||||
print "Last failed check: $test\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
sub runtest {
|
||||
@@ -46,11 +60,24 @@ sub runtest {
|
||||
if (exists $cfg->{test}) {
|
||||
foreach my $test (keys %{$cfg->{test}}) {
|
||||
my $name = "$test ($cfg->{test}->{$test}->{cmd})";
|
||||
&runtest($cfg->{test}->{$test}, $name);
|
||||
if (&runtest($cfg->{test}->{$test}, $name) == 0) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return;
|
||||
return 1;
|
||||
}
|
||||
|
||||
$cfg->{cmd} =~ s/%\{([^\}]*)\}/
|
||||
my $N = $1; my $o;
|
||||
if (exists $cfg->{$N}) {
|
||||
$o = `$cfg->{$N}`;
|
||||
chomp $o;
|
||||
}
|
||||
$o;
|
||||
/gex;
|
||||
|
||||
print STDERR "\n$cfg->{cmd}\n ";
|
||||
|
||||
my $ret = run($cfg->{cmd},
|
||||
$cfg->{input},
|
||||
\$out, \$error, 5, 0, undef);
|
||||
@@ -63,10 +90,10 @@ sub runtest {
|
||||
|
||||
if (exists $cfg->{expect}) {
|
||||
if ($cfg->{expect} =~ /^\//) {
|
||||
like($output, $cfg->{expect}, "$name") or last;
|
||||
like($output, $cfg->{expect}, "$name") or return 0;
|
||||
}
|
||||
else {
|
||||
is($output, $cfg->{expect}, "$name") or last;
|
||||
is($output, $cfg->{expect}, "$name") or return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +102,7 @@ sub runtest {
|
||||
if (-s $cfg->{"expect-file"}) {
|
||||
$e = 1;
|
||||
}
|
||||
is($e, 1, "$name") or last;
|
||||
is($e, 1, "$name") or return 0;
|
||||
}
|
||||
|
||||
elsif (exists $cfg->{"expect-file-contains"}) {
|
||||
@@ -84,28 +111,30 @@ sub runtest {
|
||||
if (-s $file) {
|
||||
$e = 1;
|
||||
}
|
||||
is($e, 1, "$name") or last;
|
||||
is($e, 1, "$name") or return 0;
|
||||
if (open F, "<$file") {
|
||||
my $content = join '', <F>;
|
||||
close F;
|
||||
like($content, qr/$expect/s, "$name") or last;
|
||||
like($content, qr/$expect/s, "$name") or return 0;
|
||||
}
|
||||
else {
|
||||
fail($test);
|
||||
last;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
elsif (exists $cfg->{exit}) {
|
||||
is($ret, $cfg->{exit}, "$name") or last;
|
||||
is($ret, $cfg->{exit}, "$name") or return 0;
|
||||
}
|
||||
|
||||
else {
|
||||
diag("invalid test spec for $test") or last;
|
||||
diag("invalid test spec for $test");
|
||||
fail($test);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
done_testing;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user