diff --git a/libpcp/crypto.c b/libpcp/crypto.c
index 29fedbd..6d1661e 100644
--- a/libpcp/crypto.c
+++ b/libpcp/crypto.c
@@ -85,10 +85,7 @@ unsigned char *pcp_box_encrypt(pcp_key_t *secret, pcp_pubkey_t *public,
unsigned char *message, size_t messagesize,
size_t *csize) {
- //unsigned char *nonce = pcp_gennonce();
-
- unsigned char *nonce = ucmalloc(crypto_secretbox_NONCEBYTES);
- memset(nonce, 1, crypto_secretbox_NONCEBYTES);
+ unsigned char *nonce = pcp_gennonce();
unsigned char *cipher;
diff --git a/man/pcp1.1 b/man/pcp1.1
index 826ee0f..475492a 100644
--- a/man/pcp1.1
+++ b/man/pcp1.1
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "PCP1 1"
-.TH PCP1 1 "2013-11-19" "PCP 0.1.5" "USER CONTRIBUTED DOCUMENTATION"
+.TH PCP1 1 "2013-11-24" "PCP 0.1.5" "USER CONTRIBUTED DOCUMENTATION"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 053d3ac..11d7a0d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -20,7 +20,15 @@
#
AM_CFLAGS = -I../include/pcp -Wall -g
-check_PROGRAMS = col invalidkeys pwhashes
+check_PROGRAMS = col invalidkeys pwhashes gencheader statictest
+
+gencheader_LDADD = ../libpcp/.libs/libpcp1.a
+gencheader_SOURCES = gencheader.c
+
+statictest_LDADD = ../libpcp/.libs/libpcp1.a
+statictest_SOURCES = statictest.c
+
+
col_LDADD = ../libpcp/.libs/libpcp1.a
col_SOURCES = collisions.c ../src/compat_getopt.c
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 71adbfc..0ce8410 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -70,7 +70,8 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
-check_PROGRAMS = col$(EXEEXT) invalidkeys$(EXEEXT) pwhashes$(EXEEXT)
+check_PROGRAMS = col$(EXEEXT) invalidkeys$(EXEEXT) pwhashes$(EXEEXT) \
+ gencheader$(EXEEXT) statictest$(EXEEXT)
subdir = tests
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/config/depcomp
@@ -89,6 +90,9 @@ CONFIG_CLEAN_VPATH_FILES =
am_col_OBJECTS = collisions.$(OBJEXT) compat_getopt.$(OBJEXT)
col_OBJECTS = $(am_col_OBJECTS)
col_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
+am_gencheader_OBJECTS = gencheader.$(OBJEXT)
+gencheader_OBJECTS = $(am_gencheader_OBJECTS)
+gencheader_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
am_invalidkeys_OBJECTS = invalidkeys.$(OBJEXT)
invalidkeys_OBJECTS = $(am_invalidkeys_OBJECTS)
invalidkeys_DEPENDENCIES = ../libpcp/.libs/libpcp1.a ../src/keyprint.o \
@@ -96,6 +100,9 @@ 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
+am_statictest_OBJECTS = statictest.$(OBJEXT)
+statictest_OBJECTS = $(am_statictest_OBJECTS)
+statictest_DEPENDENCIES = ../libpcp/.libs/libpcp1.a
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/pcp
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
@@ -109,9 +116,11 @@ CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
-SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES) $(pwhashes_SOURCES)
-DIST_SOURCES = $(col_SOURCES) $(invalidkeys_SOURCES) \
- $(pwhashes_SOURCES)
+SOURCES = $(col_SOURCES) $(gencheader_SOURCES) $(invalidkeys_SOURCES) \
+ $(pwhashes_SOURCES) $(statictest_SOURCES)
+DIST_SOURCES = $(col_SOURCES) $(gencheader_SOURCES) \
+ $(invalidkeys_SOURCES) $(pwhashes_SOURCES) \
+ $(statictest_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -234,6 +243,10 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AM_CFLAGS = -I../include/pcp -Wall -g
+gencheader_LDADD = ../libpcp/.libs/libpcp1.a
+gencheader_SOURCES = gencheader.c
+statictest_LDADD = ../libpcp/.libs/libpcp1.a
+statictest_SOURCES = statictest.c
col_LDADD = ../libpcp/.libs/libpcp1.a
col_SOURCES = collisions.c ../src/compat_getopt.c
invalidkeys_LDADD = ../libpcp/.libs/libpcp1.a \
@@ -289,12 +302,18 @@ clean-checkPROGRAMS:
col$(EXEEXT): $(col_OBJECTS) $(col_DEPENDENCIES) $(EXTRA_col_DEPENDENCIES)
@rm -f col$(EXEEXT)
$(LINK) $(col_OBJECTS) $(col_LDADD) $(LIBS)
+gencheader$(EXEEXT): $(gencheader_OBJECTS) $(gencheader_DEPENDENCIES) $(EXTRA_gencheader_DEPENDENCIES)
+ @rm -f gencheader$(EXEEXT)
+ $(LINK) $(gencheader_OBJECTS) $(gencheader_LDADD) $(LIBS)
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)
+statictest$(EXEEXT): $(statictest_OBJECTS) $(statictest_DEPENDENCIES) $(EXTRA_statictest_DEPENDENCIES)
+ @rm -f statictest$(EXEEXT)
+ $(LINK) $(statictest_OBJECTS) $(statictest_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -304,8 +323,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collisions.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compat_getopt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gencheader.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@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statictest.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/tests/bart.pub b/tests/bart.pub
index 7bc6f71..ff2b1c2 100644
--- a/tests/bart.pub
+++ b/tests/bart.pub
@@ -3,33 +3,33 @@
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
Owner: Bart
Mail: bart@local
- Key-ID: 0x9AD180B48F2746E7
- Public-Key: 0$U$)i[>V06d$n&N6ehq2.#]UW$MQy8-MrNt!j/uu&Qfb
- Creation Time: 2013-11-19T14:56:12
- Checksum: 06:95:B5:78:15:E4:F7:DB:34:B2:02:ED:B5:3F:C9:6D
- 4F:20:1F:94:19:27:32:31:7C:E2:8F:A4:C4:30:29:12
- Serial Number: 0xEBBF8898
+ Key-ID: 0x8C26BF8A5F2C72E8
+ Public-Key: 1gxyGI2IKAa=A*)lJG78tgkw350bPzBaCtxH%G6ZbldYz
+ Creation Time: 2013-11-24T19:39:00
+ Checksum: FE:EC:88:38:A1:4F:7E:1B:BB:05:95:5E:81:58:DF:24
+ 2F:CA:8A:61:EE:6B:F4:13:AE:53:5C:BC:68:AC:AC:E5
+ Serial Number: 0xB0E778FA
Key Version: 0x00000004
Random Art ID: +----------------+
- | o |
- | . + |
- |. . . . . |
- | o . . |
- |= . . . |
- | * o . |
- |. . . |
| |
+ | |
+ | |
+ | . . |
+ | . . . + . |
+ |. . .. + o |
+ |. .o o o |
+ | ..o.. . |
+----------------+
-0$U$)i[>V06d$n&N6ehq2.#]UW$MQy8-MrNt!j/uu]Y@S75-O9Mv]$?.q^!NtEu4[3ULQ*3
-Vo-nB)uSVbsk*VBo0GfGcp5NMsb^MqUj3:(i
8nz(cq3H6.w60rb[8w#)?kG=ixxk.XFGa/pI9%^px=>Gl+ou22k)0+pTT*S6#IoIK3Ix#)L
-Pr3<4W!(KgAU5yvR/Ep]g.t):??2QC*!fRka&uG!ojG2zvQTq0kX$vGvqC}NxLDX7cR3T@/
-ldGZoc+WNkcGX0k}d2Kh?H.ra6J=^vMW(p>Fy}FnM)ce@b>E*/EsTFQ}C4J&mpjX.KU7#?j
-OZKaHWA76Y>1VHsv0H9BV?cKr9J.r3*r9ps$j-9>p1t6I=F3*xOLyH*K2Y7sL-vBz
-It/w[aU0$Q]IkMbwwfEPN-vrd/sM/HXLSfDlHAMJyes5iOvQTq0kX$vGvqC}CVj3!OnvaP.Rui86&vy^lU9sE^G$1&-]iQ@Q^T$TB{h}79MD!oL}&9:5wc/]4ZwHW}r0g>/t&v
+^2Ic+6Cpm-0QxL*QeL[q#CLn!g9{mLWs&gdse50@@r308!$I.#G=q1Hd6l}tZG}
------ END PCP PUBLICKEY ------
diff --git a/tests/gcc-compilefarm/Makefile b/tests/gcc-compilefarm/Makefile
deleted file mode 100644
index 38201c0..0000000
--- a/tests/gcc-compilefarm/Makefile
+++ /dev/null
@@ -1,90 +0,0 @@
-PREFIX = $(HOME)/usr
-BUILD = $(HOME)/build
-
-GITSODIUM = https://github.com/jedisct1/libsodium.git
-GITPCP = https://github.com/TLINDEN/pcp.git
-
-DIRCFG = Config-General-2.52
-DIRTIE = Tie-IxHash-1.23
-DIRYAM = YAML-0.84
-
-GZCFG = $(DIRCFG).tar.gz
-GZTIE = $(DIRTIE).tar.gz
-GZYAM = $(DIRYAM).tar.gz
-
-CPANCFG = http://search.cpan.org/CPAN/authors/id/T/TL/TLINDEN/$(GZCFG)
-CPANTIE = http://search.cpan.org/CPAN/authors/id/C/CH/CHORNY/$(GZTIE)
-CPANYAM = http://search.cpan.org/CPAN/authors/id/M/MS/MSTROUT/$(GZYAM)
-
-HAVEPERL = $(PREFIX)/_haveperl
-HAVESODIUM = $(PREFIX)/_havesodium
-
-SRCSODIUM = $(BUILD)/libsodium
-SRCPCP = $(BUILD)/pcp
-
-all: prepare fetch config-sodium compile-sodium install-sodium config-pcp compile-pcp install-pcp test-pcp
- @echo done
-
-
-prepare:
- if test ! -d $(PREFIX); then mkdir -p $(PREFIX); fi
- if test ! -d $(BUILD); then mkdir -p $(BUILD); fi
-
-perl: prepare
- if test ! -f $(HAVEPERL); then \
- cd $(BUILD) && wget $(CPANCFG) && gunzip -c $(GZCFG) | tar -x -f -; \
- cd $(BUILD)/$(DIRCFG) && perl Makefile.PL PREFIX=$(PREFIX) && make && make install; \
- cd $(BUILD) && wget $(CPANTIE) && gunzip -c $(GZTIE) | tar -x -f -; \
- cd $(BUILD)/$(DIRTIE) && perl Makefile.PL PREFIX=$(PREFIX) && make && make install; \
- cd $(BUILD) && wget $(CPANYAM) && gunzip -c $(GZYAM) | tar -x -f -; \
- cd $(BUILD)/$(DIRYAM) && perl Makefile.PL PREFIX=$(PREFIX) && make && make install; \
- touch $(HAVEPERL); \
- fi
-
-
-fetch: prepare
- if test ! -d $(SRCSODIUM); then \
- cd $(BUILD) && git clone $(GITSODIUM); \
- else \
- cd $(SRCSODIUM) && git pull; \
- fi
- if test ! -d $(SRCPCP); then \
- cd $(BUILD) && git clone $(GITPCP); \
- else \
- cd $(SRCPCP) && git pull; \
- fi
-
-config-sodium:
- if test ! -f $(HAVESODIUM); then \
- cd $(SRCSODIUM) && ./autogen.sh; \
- cd $(SRCSODIUM) && ./configure --prefix=$(PREFIX); \
- touch $(HAVESODIUM); \
- fi
-
-config-pcp:
- cd $(SRCPCP) && ./configure --prefix=$(PREFIX) --with-libsodium=$(PREFIX)
-
-compile-sodium:
- if test ! -f $(HAVESODIUM); then \
- cd $(SRCSODIUM) && make; \
- fi
-
-compile-pcp:
- cd $(SRCPCP) && make
-
-install-sodium:
- if test ! -f $(HAVESODIUM); then \
- cd $(SRCSODIUM) && make install; \
- fi
-
-install-pcp:
- cd $(SRCPCP) && make install
-
-clean:
- cd $(SRCSODIUM) && make clean
- cd $(SRCPCP) && make clean
- rm -rf $(PREFIX)
-
-test-pcp: perl
- ln -sf $(PREFIX)/share/perl/5.10.1 $(SRCPCP)/tests/lib
- cd $(SRCPCP) && make test
diff --git a/tests/gencheader.c b/tests/gencheader.c
new file mode 100644
index 0000000..de2326e
--- /dev/null
+++ b/tests/gencheader.c
@@ -0,0 +1,36 @@
+#include
+
+void pr(char *var, unsigned char *d, size_t len) {
+ printf("size_t %s_len = %ld;\n", var, len);
+ printf("unsigned char %s[%ld] = {\n", var, len);
+ size_t i;
+ for(i=0; isecret, 32);
+ pr("public_a", a->public, 32);
+ pr("secret_b", b->secret, 32);
+ pr("public_b", b->public, 32);
+ pr("message", m, 12);
+ pr("nonce", n, 24);
+ pr("cipher", &c[24], clen - 24);
+
+ return 0;
+}
diff --git a/tests/gentestkeys.sh b/tests/gentestkeys.sh
index 5b1a183..6a29c19 100755
--- a/tests/gentestkeys.sh
+++ b/tests/gentestkeys.sh
@@ -54,4 +54,6 @@ idalicia = $ida
mailbobby = bobby@local
mailalicia = alicia@local" > keys.cfg
+./gencheader > static.h
+
rm -f vxxx
diff --git a/tests/key-alicia-pub b/tests/key-alicia-pub
index cad8948..942cd3e 100644
--- a/tests/key-alicia-pub
+++ b/tests/key-alicia-pub
@@ -3,33 +3,33 @@
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
Owner: Alicia
Mail: alicia@local
- Key-ID: 0x23E0082C8250DB56
- Public-Key: 1j-}eBc7.!-B{7%2E
-4kNwnRosYGf:r/v}/uKOROHY&elN9jI+.GcW2m(phVP#E04#Sxrhrbt!6F@cCNp.oGY.
-7]cf{>bclF.g>i=X8Ah&$g6H(O1dkN[GnOIYH)h^5y!@lb
-xCtFZPGSKsnAtyFqqBsTr/UE-ye+GgMDXq>VC63ao(=%BvqGT/x<VJ)W1*}v9oc&mf2HN++3.wU
-Z$.?f+O(WLGGusCX&PG>[rsKPN5&s=Awd:dsWX=DxCkcu?IeDj:5%BZ/j+fvAaCTTvJ1>l{
-dAjEsJ$[aj:Ot3Q?>-pgNxsmT7t)6r<-rpXf7vinEyO>QUXBeuwEwjzL&}yOrOw6Q>ezh?$
-VF&-]npg6giDMi/x}!uXsbctS&VaO]98RT+%Vn38q)mwOxClAjSeu@++t[1s9e7lTbQ{l(F
-P{N#?i6+XygES#Ki5i&XgbQ:NlnZU30@@r308!.(}V3P@1JR#>Y8R*h
+1eRhFt(S$Aj[MWvNqYUgL(Mfpe86usIa9bvMwFc/7^R<>]u#!:jIb>^+HObot$n)mmc+r:n
+}14[Zcddn*^b::?
+%SZKTmRJYshko/&>x<*o77i[XM3W^-(OEt>6IvJkr]D<&D4cN?z.&Gl//X/D[KsAOUwlMLz
+fCSdcJ@a>wDHDFwj@M!RyQo.OT5jB0C5^&1J[>}d5bBR}lYwK+rlZfP&yme.D}}vxg6SW^U
+U$(/JeTC(w6t.*v9LxYl>7kQ^W)!sN5pBP+P(eVO)5Wu7vqGT/x<4zpJbh{}Smh5R?}42cWM@YOy+P2$/+Z#d=11b)8u]L[rh]7!DJglxt=-
+E=o)OI1s)g(rbpa8I{AJKG[nkxhVzf(j}!tgtaLm7t]B-3=tBMsTL$Q27$%n+wm
+72F):2ctn)*?IOe64&^>h={:UX7fKdj{myaS[o
+l>o*<]dLqBf/R6Bgd1q!mLWv>lPmEm0@@r308!$I.VfVp1wc4--q/(r
------ END PCP PUBLICKEY ------
diff --git a/tests/key-alicia-sec b/tests/key-alicia-sec
index 0823cff..41858e1 100644
--- a/tests/key-alicia-sec
+++ b/tests/key-alicia-sec
@@ -1,24 +1,24 @@
----- BEGIN PCP SECRET KEY -----
Generated by: Pretty Curved Privacy Version 0.1.5
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
- Key-ID: 0x23E0082C8250DB56
- Creation Time: 2013-11-19T14:56:11
- Serial Number: 0xC82855BB
+ Key-ID: 0x518602BB8F2D8C7F
+ Creation Time: 2013-11-24T19:38:59
+ Serial Number: 0x49B690C5
Key Version: 0x00000004
-1j-}eBc7.!-B{7%2ErvJhcifZHSec%lWfh#MRFH
-zliU2nzAK^JsWOnPXn<7fm@^FT&}@4g)AWW$O$O>4kNwnRosYG8/:Nn.^v}oixcz?Ff*t{R
-Ff}J]4J)]a{l^ok)SLd0WSQS=TiBsSJQ3O{-fVlp
-rs{mfZIC>/3^l+T}))0mG(ui>0y
-bJXO?#7CN@H1G7giGKS5T69Qq!4M[p>xn4@u/q*3N>Ml8[CTldWv}/uKOROHY&elN9jI+.G
-cW2m(phVP#E04#Sxrhrbt!6F@cCNp.oGY.7]cf{>bclF.g>i=X8Ah&$g6H(O1dkN[GnOIYH)h^5y!@lbxCtFZPGSKsnAtyFqqBsTr/UE-ye+GgMDXq
->VC63ao(=%BvqGT/x<VJ)W1*}v9oc&mf2HN++3.wUZ$.?f+O(WLGGusCX&PG>[rsKPN5&s=Awd:
-dsWX=DxCkcu?IeDj:5%BZ/j+fvAaCTTvJ1>l{dAjEsJ$[aj:Ot3Q?>-pgNxsmT7t)6r<-rp
-Xf7vinEyO>QUXBeuwEwjzL&}yOrOw6Q>ezh?$VF&-]npg6giDMi/x}!uXsbctS&VaO]98RT
-+%Vn38q)mwOxClAjSeu@++t[1s9e7lTbQ{l(FP{N#?i6+XygES#Ki5i&XgbQ:NlnZU30rr9
-108!.(}V3P@1JR#>Y8R*h
+1eRhFt(S$Aj[MWvNqYUgL(Mfpe86usIa9bvMwFc/7YWNWenlDKe}(VQ/s$k>o^GU#w}zX3=
+rBetin9dCRA[]K]u#!:jIb>^+HObot$n)mmc+r:n}14[Zcddn*YeWrQP[h1^k(qBeTLOaPu
+s-O0DqovBY*z=5R^{3zjI{g[+3[fISYF!ob)X3lR[9AwygvJsm*!A=}gmEY>OUxP@Z?Fsx6fa{br>VG3A]P4X
+vT%6^J31QsR+hG*U2V%:ex7j}5wyWf{frah/+j:R}{]h3H@Y$vmv}/uKAjgTDFi}ApL/jtC
+[47Yg8Rx#$)%tEdZp-Utr0(jI[%%jWp)pt0u+ys-SF.j-oM(RKNiE:#[v*Bj+8&JH2rQ3EB
+CDs*J:?%SZKTmRJYshko/&>x<*o77i[XM3W^-(OEt
+>6IvJkr]D<&D4cN?z.&Gl//X/D[KsAOUwlMLzfCSdcJ@a>wDHDFwj@M!RyQo.OT5jB0C5^&
+1J[>}d5bBR}lYwK+rlZfP&yme.D}}vxg6SW^UU$(/JeTC(w6t.*v9LxYl>7kQ^W)!sN5pBP
++P(eVO)5Wu7vqGT/x<4zpJbh{}Smh5R?}42cW
+M@YOy+P2$/+Z#d=11b)8u]L[rh]7!DJglxt=-E=o)OI1s)g(rbpa8I{AJKG[nkxhVzf(j}!
+tgtaLm7t]B-3=tBMsTL$Q27$%n+wm72F):2ctn)*?IOe64&^>h={:UX7fKdj{myaS[ol>o*<]dLqBf/R6Bgd1q!mLWv>lPmEm0rr9
+108!$I.VfVp1wc4--q/(r
------ END PCP SECRET KEY ------
diff --git a/tests/key-bobby-pub b/tests/key-bobby-pub
index a56525a..1ec8c45 100644
--- a/tests/key-bobby-pub
+++ b/tests/key-bobby-pub
@@ -3,33 +3,33 @@
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
Owner: Bobby
Mail: bobby@local
- Key-ID: 0x1749A29D12CA3FC5
- Public-Key: 1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akff8$$L
- Creation Time: 2013-11-19T14:56:11
- Checksum: 29:26:30:F0:37:EF:EC:8D:4C:8E:0A:0D:CD:0D:A1:21
- 51:89:EA:56:F9:54:19:D0:EB:69:F4:7F:8F:2D:E7:E0
- Serial Number: 0x73C06B1E
+ Key-ID: 0x8F8C31402D541153
+ Public-Key: 18r!O41ZcJmA%Nft]C@63ItZ2s+14NZuf}DY+*wXf8$$L
+ Creation Time: 2013-11-24T19:38:59
+ Checksum: CE:2C:FF:3F:D0:D3:C3:46:7D:3A:32:10:9E:92:22:3F
+ 2B:D3:EE:FB:66:53:01:E8:07:9A:83:12:2D:D7:D0:7D
+ Serial Number: 0x53010B68
Key Version: 0x00000004
Random Art ID: +----------------+
- | . . |
- | * . |
- | = + |
- | o . . o |
- | . = o |
- | o o |
- | . |
| |
+ | |
+ | . |
+ | . |
+ |. . . |
+ |+ . o . |
+ |o+o . + |
+ | ==. . |
+----------------+
-1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akffmc5iOurCi1Ip/71wZ^})-qyTe}4KGy
-@QWuan[+6[qhs{@*4)9kryQwSUVp:95@hDe#84PLpx8[fUde?qqAvuXJm:nGTbv?r.7K5
-s{V=V&zf/G+6!$r6*]04NGll57E}UjBY}vd+R6{D(llxpmjV5)qAg2reBR$=4ZX)c2q3bG6
-PvKoilCEXzM&vx90sM!k{Smq2dsOiC%7+2.P0JX5c*w0GWn1CDR%aF@&
-[>]aU-+Qbax29{}H
-th(:gtcA7dRNYZv6ukJzX654kwI{jM4EWg0fcgQw}a?NqwU7NwP/RujCSvP&L5Im#=)nF5!
-8.ZCoaNYZ[h-9JXgc4-Sgdat-mNG3k0@@r308!.(}V3P@1ARv]9SMfu
+18r!O41ZcJmA%Nft]C@63ItZ2s+14NZuf}DY+*wXfrMI6SgVY^IjrNb3P[$qAOIRFH?c]*iOavTd%r/nn>4bO*92Ze8fnC(FSptK+Eu%4(or7sRgc7GvB[li3mawTB19uM
+%abae])GA#q@z}Zv^Ft[-SEJk9#79PZ4:g{G#6Z$}@iFL6%meRnU?{=US>6xM[xO4Tz.8KO&^h?h:M.=xc
+@70}#QM{lw[o?.[LCwyXmgQPNH@fZzm9Gz4b?%8*fQSNKvSbZ+C%Dg:v{%fNqBbn7tc.Ygi
+.:ushR:wNi:YYbij8Zti0Fr]/J=!/NHcQKm8@*m6#J4#-of+%Il@Doo2W1(+s$}uyqmd@?z
+*@*QBgKy3%YW!zHGIZT}}1XY6f({Aqmt0bUb0[8>9j
+v42PeNv76*v]Vf/gNtl]u!Qf/p-!0@@r308!$I.VfVp1xbsexAe2j
------ END PCP PUBLICKEY ------
diff --git a/tests/key-bobby-sec b/tests/key-bobby-sec
index 37ae37c..812c745 100644
--- a/tests/key-bobby-sec
+++ b/tests/key-bobby-sec
@@ -1,24 +1,24 @@
----- BEGIN PCP SECRET KEY -----
Generated by: Pretty Curved Privacy Version 0.1.5
Cipher: CURVE25519-ED25519-SALSA20-POLY1305
- Key-ID: 0x1749A29D12CA3FC5
- Creation Time: 2013-11-19T14:56:11
- Serial Number: 0x73C06B1E
+ Key-ID: 0x8F8C31402D541153
+ Creation Time: 2013-11-24T19:38:59
+ Serial Number: 0x53010B68
Key Version: 0x00000004
-1lmvl2*#Rtt@yvCP&qw$TgU0A083o(!w=8s0]Akff94vs*^&{c!M<:ygH9Oj@o+CQ-5YL44
-@(Ewr>Ch*8gaZ@OurCi1Ip/71wZ^})-qyTe}4KGy@QWuan[+6[=k:}K^kAe?9Gz:]b.9[G5
-50*1D/jm227vzE57QPjI<9!W=Y5aKW}-TBpPl3Vtuh:2-$Cm]qhs{@*4)9kryQwSUVp:95@
-hDe#84PLpx8[fUde?qqAvuXJm:nGTbv?r.7K5s{V=V&zf/G+6!$r6*]04NGll57E}UjBY}v
-d+R6{D(llxpmjV5)qAg2reBR$=4ZX)c2q3bG6PvKoilCEXzM&vx90sM!k{Smq2dsOiC%7+2
-.P0JX5c*w0GWn1CDR%aF@&[>]aU-+Qbax29{}Hth(:gtcA7dRNYZv6ukJzX654kwI{jM4EWg
-0fcgQw}a?NqwU7NwP/RujCSvP&L5Im#=)nF5!8.ZCoaNYZ[h-9JXgc4-Sgdat-mNG3k0SSi
-208!.(}V3P@1ARv]9SMfu
+18r!O41ZcJmA%Nft]C@63ItZ2s+14NZuf}DY+*wXf97h#Sy$NsTEg$:(a)2^3VrK/=:@2Vh
+ticy+]-7)jGY)jSgVY^IjrNb3P[$qAOIRFH?c]-e*@ZTW$!SSJ>(I@^&=3L
+afZ@8X]6RsA8WOr@L5&6Pyvz1!ofy{JqfM+RPtlHO>4(3rqj6/C.Bz5i&[4bO*92Ze8fn
+C(FSptK+Eu%4(or7sRgc7GvB[li3mawTB19uM%abae])GA#q@z}Zv^Ft[-SEJk9#79PZ4:g
+{G#6Z$}@iFL6%meRnU?{=US>6xM[xO4Tz.8KO&^h?h:M.=xc@70}#QM{lw[o?.[LCwyXmgQPNH@fZzm9Gz
+4b?%8*fQSNKvSbZ+C%Dg:v{%fNqBbn7tc.Ygi.:ushR:wNi:YYbij8Zti0Fr]/J=!/NHcQK
+m8@*m6#J4#-of+%Il@Doo2W1(+s$}uyqmd@?z*@*QBgKy3%YW!zHGIZT}}1XY6f({Aqmt0bUb0[8>9jv42PeNv76*v]Vf/gNtl]u!Qf/p-!0SSi
+208!$I.VfVp1xbsexAe2j
------ END PCP SECRET KEY ------
diff --git a/tests/keys.cfg b/tests/keys.cfg
index 6bc6e50..c7aceb5 100644
--- a/tests/keys.cfg
+++ b/tests/keys.cfg
@@ -1,6 +1,6 @@
-bartid = 0x9AD180B48F2746E7
-bartserial = 0xEBBF8898
-idbobby = 0x1749A29D12CA3FC5
-idalicia = 0x23E0082C8250DB56
+bartid = 0x8C26BF8A5F2C72E8
+bartserial = 0xB0E778FA
+idbobby = 0x8F8C31402D541153
+idalicia = 0x518602BB8F2D8C7F
mailbobby = bobby@local
mailalicia = alicia@local
diff --git a/tests/static.h b/tests/static.h
new file mode 100644
index 0000000..5c0d93a
--- /dev/null
+++ b/tests/static.h
@@ -0,0 +1,53 @@
+size_t secret_a_len = 32;
+unsigned char secret_a[32] = {
+0xe0, 0x75, 0x2c, 0xb7, 0xeb, 0x7d, 0x73, 0x7a,
+0x5b, 0x1c, 0x45, 0xf8, 0x9e, 0x8c, 0xc5, 0xfe,
+0xb7, 0x30, 0x9e, 0xac, 0x03, 0x7c, 0x57, 0x0f,
+0x0b, 0x76, 0x49, 0x2d, 0xa1, 0x33, 0x43, 0x53
+};
+
+size_t public_a_len = 32;
+unsigned char public_a[32] = {
+0x2f, 0xb4, 0xaa, 0x49, 0x06, 0xf1, 0x8f, 0xa1,
+0x22, 0xa0, 0x44, 0xf3, 0xd1, 0x3d, 0x0b, 0xca,
+0xe3, 0x5f, 0x7c, 0x3b, 0x23, 0x05, 0xf0, 0xb2,
+0x51, 0x11, 0xe8, 0x7f, 0x32, 0xc8, 0xec, 0x17
+};
+
+size_t secret_b_len = 32;
+unsigned char secret_b[32] = {
+0xc0, 0xb6, 0xfb, 0xa5, 0x3b, 0xd2, 0x10, 0x76,
+0x40, 0xf4, 0xbf, 0xda, 0x99, 0xdc, 0x6b, 0xf0,
+0xf5, 0xbd, 0xcc, 0x2e, 0xaa, 0x85, 0x6a, 0x62,
+0x64, 0xf4, 0xa0, 0xc8, 0xad, 0x82, 0x43, 0x56
+};
+
+size_t public_b_len = 32;
+unsigned char public_b[32] = {
+0x47, 0xaa, 0x98, 0xad, 0xcd, 0x76, 0x6d, 0x8d,
+0x7a, 0x1a, 0x4f, 0x5e, 0x24, 0xac, 0x98, 0xb9,
+0x07, 0x3d, 0x48, 0xeb, 0x29, 0x41, 0x4c, 0x82,
+0x06, 0x92, 0x58, 0xa4, 0x7d, 0xd8, 0x53, 0x7d
+};
+
+size_t message_len = 12;
+unsigned char message[12] = {
+0x68, 0x61, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f,
+0x72, 0x6c, 0x64, 0x00
+};
+
+size_t nonce_len = 24;
+unsigned char nonce[24] = {
+0x24, 0x64, 0x0e, 0xd3, 0x8a, 0xbf, 0x98, 0x52,
+0x1e, 0xd9, 0xa4, 0xdd, 0x93, 0x27, 0x11, 0xee,
+0x63, 0x7e, 0x49, 0x2e, 0x97, 0x3b, 0x78, 0xee
+};
+
+size_t cipher_len = 28;
+unsigned char cipher[28] = {
+0x5f, 0x55, 0xeb, 0x71, 0x24, 0x84, 0x81, 0xdd,
+0x17, 0x74, 0x89, 0xe2, 0x15, 0xbe, 0x3d, 0xc7,
+0xd8, 0xce, 0x68, 0xc6, 0x6c, 0x2b, 0x45, 0xc7,
+0x61, 0x43, 0xe7, 0x6d
+};
+
diff --git a/tests/statictest.c b/tests/statictest.c
new file mode 100644
index 0000000..db6b59f
--- /dev/null
+++ b/tests/statictest.c
@@ -0,0 +1,20 @@
+#include
+#include "static.h"
+
+int main() {
+ unsigned char *t = ucmalloc(12);
+ if(pcp_sodium_verify_box(&t, cipher, cipher_len, nonce, secret_b, public_a) == 0) {
+ if(memcmp(t, message, message_len) == 0) {
+ printf("ok\n");
+ }
+ else {
+ printf("decrypted but message doesnt match\n");
+ return 1;
+ }
+ }
+ else {
+ printf("failed to decrypt\n");
+ return 1;
+ }
+ return 0;
+}
diff --git a/tests/unittests.cfg b/tests/unittests.cfg
index 2479278..810ba0c 100644
--- a/tests/unittests.cfg
+++ b/tests/unittests.cfg
@@ -271,6 +271,14 @@ dxmorg@florida.cops.gov
expect = /VAR1/
+#
+# raw C test with prepared keys, message and cipher
+
+ cmd = ./statictest
+ expect = /ok/
+
+
+
#
# negative tests, check for error handling
diff --git a/tests/unknown1 b/tests/unknown1
index a4c5a02..1317f72 100644
--- a/tests/unknown1
+++ b/tests/unknown1
@@ -1,11 +1,11 @@
-11FKR@@sm5ulAVpg?d#VWZ/C.1?-aFf
-iN-ind-7XB/(-^m8faYlpRo^FO-}R-92:Sa->d[?O(ahZzFrW0vqYQvy&r/(yYExHYc4%ka
-s5B4aN$G/i@$+9D]Mny)*RC>rxu-3/WHdzM/-aB/W/U@-4Xz=7NjO)]^GX)a!W7z4{lNp[i
-9+Jx/yGLU$Zl64y[o(L-TjS4qM-[13*<@ykU[Ad8QZgC}SZmk=}Qg^TL*f!$D-0@@r308!.(}#uY%1HVsi9rl6t
+1mLG&iym32X&^m7LJG900W!1Oo8u]r::]?SeByX8[qq<(O-!xv(-/rA
+@sAmlyfv%HzNBy/lEDhKPG&>QK%hKS2:%3FuE+&QWD}$}Pm-/zYILHtH-@g^.dsVZF%B[LI
+4UZ&G(q5giPD@l&NqrJ)e1(Hdj-Fz0#kxifA!jr1.z%[dP<^QobH5uN4dbNHZxk3b(gG/b)
+{)T$E-YL)Z&!]tS5GL>91tkxZ<]}h5{6uoT5^OZc^##iYzFrW0vqYQvy&r/(yYKm0P?=H3f
+xSQ)D#vQSz%hGprHEdo!3EMZ5}i(@Pg6p!w%T(>9R[*PR%kt}^d[+.EB[1PmMsyDHK7^sNF
+#:JH?il.++eNF4?}zoH%=)1wIgSQv&2$?b>@8JgV3RzR[bvEi>Fxf%c>6-gFYf=H!bMoeoQ
+f#=mgC%*=nCs>y])AbHM9{1AY&vOVRK9XxL!})KeiiO!g0Aho}2uW6uq18])6}q%R^&^={1
+&LXqD>YEdDJi2{=(0v(F4n@8@wBa3x=@:bJ{hS1j]S:tr!/@6GjHTi88@^VJd5rXc*KVxJVG(@7&[YSa%nqnZ*T1Szd&
-/bP-hA1&-J9WlZHv5UqyJNkzKin{(Q@[eB?Nupc1xP5:kfWJC+=LypT2.[Jz#3aaUm)j&-r
-z!7YPT*di]YBo}>&tJ8RDB7tF6NxSVcqL0R(Uf7enM}x:9]Ifaizddr)0phoo9Dm]1NA2c?
-r!3+KqZ<:#q$WWJd8QiQhXKQhR8aBmR{#@cGElmKZ.VYXUYmA.1?-aFfiN-ind-7XB/(-^m8faYlpRo^FO-}R-92:S
-a->d[?O(ahZzFrW0vqYQvy&r/(yYExHYc4%kas5B4aN$G/i@$+9D]Mny)*RC>rxu-3/WHdz
-M/-aB/W/U@-4Xz=7NjO)]^GX)a!W7z4{lNp[i9+Jx/yGLU$Zl64y[o(L-TjS4qM-[13*<@y
-kU[Ad8QZgC}SZmk=}Qg^TL*f!$D-0SSi
-208!.(}#uY%1HVsi9rl6t
+1mU!f1Alj(l+v(WQt45)e^^
+aoeF!k>y}}wrB^Xp6Z2YLO[p#@@tj38RyuKHmN?l}Ro/p0&.Bi0zddr)0gJtlcE>LG&iym3
+2X&^m7LJG900W!1Oo8u]r::]?SeByX8[qq<(O-!xv(-/rA@sAmlyfv%HzNBy/lEDhKPG&>QK%hKS2:%3
+FuE+&QWD}$}Pm-/zYILHtH-@g^.dsVZF%B[LI4UZ&G(q5giPD@l&NqrJ)e1(Hdj-Fz0#kxi
+fA!jr1.z%[dP<^QobH5uN4dbNHZxk3b(gG/b){)T$E-YL)Z&!]tS5GL>91tkxZ<]}h5{6uo
+T5^OZc^##iYzFrW0vqYQvy&r/(yYKm0P?=H3fxSQ)D#vQSz%hGprHEdo!3EMZ5}i(@Pg6p!
+w%T(>9R[*PR%kt}^d[+.EB[1PmMsyDHK7^sNF#:JH?il.++eNF4?}zoH%=)1wIgSQv&2$?b
+>@8JgV3RzR[bvEi>Fxf%c>6-gFYf=H!bMoeoQf#=mgC%*=nCs>y])AbHM9{1AY&vOVRK9Xx
+L!})KeiiO!g0Aho}2uW6uq18])6}q%R^&^={1&LXqD>YEdDJi
+2{=(0v(F4n(!qEVm6!Ek-M>gFR&C13T-*gZ+fyQ@!9I*
-hRt+6n.(bqn5B4myD2$*etzI5-QwmkMKXNbeq4C8Dk)q7B4=)EeWyhtM>IV1pZ7:vF&!0
+0uIv3?N)Qxev.C#E>NfM=aQEigkm^Qzf@oBK&=Z$yRAe^bifC14#VrI:$M/LW&>f9b:7VE^@Y-{.({/XdJ=$p
diff --git a/tests/unknown5 b/tests/unknown5
index b63caac..c6bb19e 100644
--- a/tests/unknown5
+++ b/tests/unknown5
@@ -1,2 +1,2 @@
-16LDgD]-t>Q1x*FrY.@b*&DTJ6N<9wQMrWGh5/.A
-AxT^(g2ne2@jq9fFCEwlPu?UfHOk+huiZS000000000008!.(}#uY%0SSi200000
+1bv/%k]1URFil1tfg3xpP)i(Rk0Q>qjd#OrJ4Sw$Cp^NOiivH(3md$lUvpO#ehBcMBYiAH!
+(7t$T:GZ<4Mb$2hzu)Mlo4B&l]WK)mGrz*000000000008!$I.#G=q0SSi200000