fixed tilde z85 headers in signature stuff as well

This commit is contained in:
TLINDEN
2014-02-24 19:52:57 +01:00
parent 51858aeda2
commit 99f611ab80
14 changed files with 100 additions and 99 deletions

6
TODO
View File

@@ -17,6 +17,8 @@ vault checksum: add keysigs as well
enable formats for secret key exports as well enable formats for secret key exports as well
Add newlines to headers in define.h, so strlen() later catches the whole length.
Z85 headers: Z85 headers:
- currently I use "----- BEGIN ... -----" and "----- END ... -----" as - currently I use "----- BEGIN ... -----" and "----- END ... -----" as
header and footer for various z85 encoded outputs. The problem is, that header and footer for various z85 encoded outputs. The problem is, that
@@ -42,10 +44,6 @@ Z85 headers:
is marked as to be ignored which could be saved as a state when using is marked as to be ignored which could be saved as a state when using
blockmode. blockmode.
PCPSTREAM changes:
- enable determine armor mode of input, parse headers, comments
and newlines away, decode and return the binary result with ps_read()
as before.
Python binding, e.g.: Python binding, e.g.:
py % cdll.LoadLibrary("libsodium.so.8") py % cdll.LoadLibrary("libsodium.so.8")

View File

@@ -81,13 +81,14 @@ size_t pcp_ed_sign_buffered(Pcpstream *in, Pcpstream* out, pcp_key_t *s, int z85
crypto_generichash_init(st, NULL, 0, 0); crypto_generichash_init(st, NULL, 0, 0);
if(z85) if(z85)
ps_print(out, "%s\nHash: Blake2\n\n", PCP_SIG_HEADER); ps_print(out, "%s\r\n Hash: Blake2\r\n\r\n", PCP_SIG_HEADER);
while(!ps_end(in)) { while(!ps_end(in)) {
cur_bufsize = ps_read(in, &in_buf, PCP_BLOCK_SIZE); /* fread(&in_buf, 1, PCP_BLOCK_SIZE, in); */ cur_bufsize = ps_read(in, &in_buf, PCP_BLOCK_SIZE); /* fread(&in_buf, 1, PCP_BLOCK_SIZE, in); */
if(cur_bufsize <= 0) if(cur_bufsize <= 0)
break; break;
outsize += cur_bufsize; outsize += cur_bufsize;
crypto_generichash_update(st, in_buf, cur_bufsize); crypto_generichash_update(st, in_buf, cur_bufsize);
ps_write(out, in_buf, cur_bufsize); /* fwrite(in_buf, cur_bufsize, 1, out); */ ps_write(out, in_buf, cur_bufsize); /* fwrite(in_buf, cur_bufsize, 1, out); */
} }
@@ -104,10 +105,10 @@ size_t pcp_ed_sign_buffered(Pcpstream *in, Pcpstream* out, pcp_key_t *s, int z85
size_t mlen = + crypto_sign_BYTES + crypto_generichash_BYTES_MAX; size_t mlen = + crypto_sign_BYTES + crypto_generichash_BYTES_MAX;
if(z85) { if(z85) {
ps_print(out, "\n%s\n Version: PCP v%d.%d.%d\n\n", PCP_SIG_START, PCP_VERSION_MAJOR, PCP_VERSION_MINOR, PCP_VERSION_PATCH); ps_print(out, "\r\n%s\r\n~ Version: PCP v%d.%d.%d ~\r\n\r\n", PCP_SIG_START, PCP_VERSION_MAJOR, PCP_VERSION_MINOR, PCP_VERSION_PATCH);
size_t zlen; size_t zlen;
char *z85encoded = pcp_z85_encode((unsigned char*)signature, mlen, &zlen); char *z85encoded = pcp_z85_encode((unsigned char*)signature, mlen, &zlen);
ps_print(out, "%s\n%s\n", z85encoded, PCP_SIG_END); ps_print(out, "%s\r\n%s\r\n", z85encoded, PCP_SIG_END);
} }
else { else {
ps_print(out, "%s", PCP_SIGPREFIX); ps_print(out, "%s", PCP_SIGPREFIX);
@@ -134,12 +135,12 @@ pcp_pubkey_t *pcp_ed_verify_buffered(Pcpstream *in, pcp_pubkey_t *p) {
unsigned char hash[crypto_generichash_BYTES_MAX]; unsigned char hash[crypto_generichash_BYTES_MAX];
char zhead[] = PCP_SIG_HEADER; char zhead[] = PCP_SIG_HEADER;
size_t hlen = strlen(PCP_SIG_HEADER); size_t hlen = strlen(PCP_SIG_HEADER);
size_t hlen2 = 15; /* hash: blake2\n\n */ size_t hlen2 = 17; /* " hash: blake2\r\n\r\n" FIXME: parse and calculate */
size_t mlen = + crypto_sign_BYTES + crypto_generichash_BYTES_MAX; size_t mlen = + crypto_sign_BYTES + crypto_generichash_BYTES_MAX;
size_t zlen = 262; /* FIXME: calculate */ size_t zlen = 262; /* FIXME: calculate */
unsigned char z85encoded[zlen]; unsigned char z85encoded[zlen];
unsigned char sighash[mlen]; unsigned char sighash[mlen];
char z85sigstart[] = PCP_SIG_START; char z85sigstart[] = "\n" PCP_SIG_START; /* FIXME: verifies, but it misses the \r! */
char binsigstart[] = PCP_SIGPREFIX; char binsigstart[] = PCP_SIGPREFIX;
char sigstart[] = PCP_SIG_START; char sigstart[] = PCP_SIG_START;
size_t siglen, startlen; size_t siglen, startlen;
@@ -154,8 +155,8 @@ pcp_pubkey_t *pcp_ed_verify_buffered(Pcpstream *in, pcp_pubkey_t *p) {
/* look for z85 header and cut it out */ /* look for z85 header and cut it out */
if(_findoffset(in_buf, cur_bufsize, zhead, hlen) == 0) { if(_findoffset(in_buf, cur_bufsize, zhead, hlen) == 0) {
/* it is armored */ /* it is armored */
next_bufsize = cur_bufsize - (hlen+hlen2); /* size - the header */ next_bufsize = cur_bufsize - (hlen+hlen2+2); /* size - the header */
memcpy(in_next, &in_buf[hlen+hlen2], next_bufsize); /* tmp save */ memcpy(in_next, &in_buf[hlen+hlen2+2], next_bufsize); /* tmp save */
memcpy(in_buf, in_next, next_bufsize); /* put into inbuf without header */ memcpy(in_buf, in_next, next_bufsize); /* put into inbuf without header */
if(cur_bufsize == PCP_BLOCK_SIZE/2) { if(cur_bufsize == PCP_BLOCK_SIZE/2) {
/* more to come */ /* more to come */
@@ -320,11 +321,11 @@ size_t pcp_ed_detachsign_buffered(Pcpstream *in, Pcpstream *out, pcp_key_t *s) {
unsigned char *signature = pcp_ed_sign(hash, crypto_generichash_BYTES_MAX, s); unsigned char *signature = pcp_ed_sign(hash, crypto_generichash_BYTES_MAX, s);
size_t mlen = + crypto_sign_BYTES + crypto_generichash_BYTES_MAX; size_t mlen = + crypto_sign_BYTES + crypto_generichash_BYTES_MAX;
ps_print(out, "\n%s\n Version: PCP v%d.%d.%d\n\n", ps_print(out, "\r\n%s\r\n~ Version: PCP v%d.%d.%d ~\r\n\r\n",
PCP_SIG_START, PCP_VERSION_MAJOR, PCP_VERSION_MINOR, PCP_VERSION_PATCH); PCP_SIG_START, PCP_VERSION_MAJOR, PCP_VERSION_MINOR, PCP_VERSION_PATCH);
size_t zlen; size_t zlen;
char *z85encoded = pcp_z85_encode((unsigned char*)signature, mlen, &zlen); char *z85encoded = pcp_z85_encode((unsigned char*)signature, mlen, &zlen);
ps_print(out, "%s\n%s\n", z85encoded, PCP_SIG_END); ps_print(out, "%s\r\n%s\r\n", z85encoded, PCP_SIG_END);
free(st); free(st);

View File

@@ -156,7 +156,10 @@ size_t ps_read_next(Pcpstream *stream) {
} }
size_t ps_read(Pcpstream *stream, void *buf, size_t readbytes) { size_t ps_read(Pcpstream *stream, void *buf, size_t readbytes) {
if(buffer_size(stream->cache) > 0) { if(stream->cache == NULL) {
return ps_read_raw(stream, buf, readbytes);
}
else if(buffer_size(stream->cache) > 0) {
/* use cache */ /* use cache */
return ps_read_cached(stream, buf, readbytes); return ps_read_cached(stream, buf, readbytes);
} }

View File

@@ -1,8 +1,8 @@
-----BEGIN ED25519-CURVE29915 PUBLIC KEY----- ~~~~~BEGIN ED25519-CURVE29915 PUBLIC KEY~~~~~
22+xo&VP4UGh@KXT$:IpoIwo:<oKj@x3U+L=MiwvdeTW/0S-{(R1eV:K%1^8{o1X&B#+w}y 22+[E/=.$41#M]-p3Z*%mJukC}Az}B1oy^NZQodOb+b/v<qySc6H5d^=p/Ue@6[.W=ZtoIf
sPO6oxU-=*f2]+IJQa&CFj2j<PSub-R*9-0YZgvvLpTeMr=:V&pdeDixEl-bo^9)000040- rE+un7tFVW$#33:XcMgzw3&PZ)7ekwL}7Eqd1d[NpaMnHj@&9s0p6!?cy46bo^9)000040-
F%k&S5@U1oRSV{f[1400AQc?s+pT000Gy00SAaB7GxavqJVA5ut^h01xRx1POWzCwZ#jlsB GFA*5I9M1oRS&QfmJ%00AQc)4NR.000Gy00SAaB7GxavqLtPY&$Ep01xRx1POWzCwZ#jlsB
[R0000i6Awmo3t<i=y*{*[Bu<UXv{%fN0003s08Y#(bsCIHS}cC*Slg/(/QTlsO)x[wDkM[ [R0000i6Awmo3t<i=y*{*[Bu<UXv{%fN0003s01<4EQ*G9>pHh6fA/A944@{IMelG{62mGJ
r=-4a9&]Os[{RNBJW(z2AD%S{c/!iE:3jPMjxE1QIJ-/y206!m]Z%>$W75Q(sHH4yC*uSpj m9=#BHf}C+wnm]q@Ts>0&wN0UDH>Rm7+]8@<[fYHG>Em7026*4BOF5#qVZBr+RPvPrmFy:#
6Q?pArQ2f#GNts*!K=dlz9tp{1>a!vrhbAbOY7SP-[!WPc6Y.Stywuw?#A-S v5khdlw:Ym>>*%uPeej4FJk^>lj{byzcNiGCk#%?ht]4ni@+5PJxsHLFb/MH
------END ED25519-CURVE29915 PUBLIC KEY------ ~~~~~END ED25519-CURVE29915 PUBLIC KEY~~~~~

View File

@@ -1,8 +1,8 @@
-----BEGIN ED25519-CURVE29915 PUBLIC KEY----- ~~~~~BEGIN ED25519-CURVE29915 PUBLIC KEY~~~~~
22+xo&up=TJq/H8i=qIeA%U5iGbic3w$dC6kLc:p.fJ=&pdMw&ZqH#gQ=QFKRO?:=)r@XG7 22+[E!fex*BR+=DXNjIW*d]B9yhJyNrMg0#a!%V*Xbws>g4<g1]xVgVHyJne2T@q.hh[Vvc
?kfpERt62d?W(20JO&n?B)Fwix0ppXm+VXP*52nl((un]KG@P?x{}nFm!)8bo^9)000040- Y}(Imx2$E?B:U2pl.@^*{KGDffo*GcI+^eyGIhZ&MZCAPR.Pxmd?(^s1sp[bo^9)000040-
F%k&q-&T1oRSV{f^}300AQc?s+mS000Gy00SAaB7GxavqFyGHg*L!01P+z1PO:BCwZ#jl2p GFA!C]NH1oRS&Qe.f[00AQc)4NCV000Gy00SAaB7GxavqJja2djBh01P+z1PO:BCwZ#jl2p
mBx<*#w02caE1on<EvqfK^y?Wx[vl!TEv{%fN0003s0fCNrWy.NOiKGz1&k>.&yPsfgJj1n mBx<*#w02caE1on<EvqfK^y?Wx[vl!TEv{%fN0003s0e-H.xJaP(BoT*HH[-oOFqW7(I>J+
1xc9hC8YWL[E]PV#0v{n-{LG0b6CaKdGehPuS$5@.yoIS!umb703sV)YsqUen6BDX(NNhog iHwx}-&tG+bR-@GioqlzuJq[GE*3My.aX]SmgU:zaB%=y].Owpf1Al4i0FCA>lF<{mMi$2>
2r/mj%gl*uGxA4BB1CET3iI!W2nf.w@H:D!/@w*&iQKShk6.fUC]=Y?L2eLTOb-J? s=p/)jfQgIX:Qi:EGr6&^d)R2%a/@Th!*(Uhi>$WMI+l}oi%=1Yj[(RwQ{deEe<lE
------END ED25519-CURVE29915 PUBLIC KEY------ ~~~~~END ED25519-CURVE29915 PUBLIC KEY~~~~~

View File

@@ -1,8 +1,8 @@
-----BEGIN ED25519-CURVE29915 PRIVATE KEY----- ~~~~~BEGIN ED25519-CURVE29915 PRIVATE KEY~~~~~
nh6]+t/^U%{RPo-n5ITwnnLL=:fW*qy>{Hk[L8JxCJwcIciQ=OTOX65qmUv1p>^m=Of&W^4 b)<0bbd}YplZUMB5il+5:yT5rzgMmfMGzVsol@fivj)]6gVuEx.rgTm.XgQcQmP&>bOo(6V
ozR-m9XQddU0[anustRmczs9{Qs{>TQ+^:^mw9L2>v.n6TAcb/0hYgq7.Dg?U[GcBBViJS4 d5=Wl5FnFQ{.7iH(:rE?Yjnxx*H#Vx*qH5H1zGu-x9OgK.aqgH+k[aID6Qef^.98y=X(Umu
n}H=AZ(&[!T$ds31r3%0=]@<eZ/w^<bE2KTKFyj>jA!Yf*v8U5=[aCf?jVi}gEHkUo>A/]r zUH0tlM6TJ/Egz./:3/^QtOu?Cv<Dt$d}LElYm)QZKM&pcUnglDSXO=(X)zAh2BqUQQqV9#
G()uc].p#=!/{2EwMNYKRjh@(WSWjE8EvuA!1HJ968n:NeZ7t}23ojc)ccZ[ZPY+=I>5$An UDsKhBI73?dDNd(CqiO@v7nz!a3kbm0R:3h?M!T){&(1p9VQkzNFq%z:cmGStwV0zn-b?xh
iUro<ro:)Vfyd09Vmd&795j2}zMcN6jBR28>k!Fdq7Oe3}B}K00>)phQWRurxUx:P&5[F44 &tMcN8[Qe$}UsV>SBC>6[gto2J&gQhxFhOir4qen:9QXK)y]q80zoP6L^eBLW^%Rk4T3ex%
z7K.&-Ga%mko-AJ0spBbjrtESzoNTMMFOoK%mYEkfeB&ve:D@t>95TRk8Mw2M+@!6 M[UiZ6c:4)PaZfE+$QZWql}6F:AYon<iUKU?Fc#LeZxeHt($]S=FrmV]3}wKQ=5hM
------END ED25519-CURVE29915 PRIVATE KEY------ ~~~~~END ED25519-CURVE29915 PRIVATE KEY~~~~~

View File

@@ -1,8 +1,8 @@
-----BEGIN ED25519-CURVE29915 PUBLIC KEY----- ~~~~~BEGIN ED25519-CURVE29915 PUBLIC KEY~~~~~
22+xo&usLtBPu:n*m+yBwDS[yPQC=s+4TG/u9QO566&A+Ap51hLamiWdIu4EbhO<Yh1ncMq 22+[E!/&)#+yclyjgq?Y9P}g0]H-<!R<eYon.0^c57IQQ.Iot>5>PqR?^-neRWuv(BqUQ0q
PTII:Nkr[aD=iGKd<t}i$h]XtHKE1?z5[HM<*wK&>/KLanU?YRLhN7CUFhXbo^9)000040- wUX:VK[pL!I6viWj2ubRztI:1pwzz9!Kc*H53+pMJIjUfHMo@]qo%0yI:7]bo^9)000040-
F%k&S5@U1oRSV{f[1400AQc?s+mS000Gy00SAaB7GxavqHLMTKWvK01GXy1POZACwZ#jlt{ GFA/8L^J1oRS&Qe}r{00AQc)4NIX000Gy00SAaB7GxavqE8AG8U/J01GXy1POZACwZ#jlt{
sxC(N*A6bgAH01iTLx(4l%vQ:QFy&r/(yYBCn0uh3+3WXH/aj@2g@U4h&A.[suZOrEcxt:S sxC(N*A6bgAH01iTLx(4l%vQ:QFy&r/(yYBCn0uh2*MY}4Ts:6[Y!T3<eBBjcwSVzlrE/${
pz/=LgpS9et:befV3/ZKE%2.em:}EQwd02=srn*U=[4^{my#U{V>3KS&T4*C2?HIf]k{wAb D!+fvhY>tzq-D:XF-Dq*srnDc^)ed+.9wMS76]gnTr+Chj!dz%]vUIqNK)IH+Y.}tzSp4dx
eU^JLY2nqpr#d5QWCan$*)UCv8DDBLQiZ#.r-thxN2@:5nmY!{SRT1o2(Bb( O9$ZdRB[0N5QD#hgeq:29t9${Mmoyhkd=1.vK6]i<B>PGRk*enlj:zE=ZU:J
------END ED25519-CURVE29915 PUBLIC KEY------ ~~~~~END ED25519-CURVE29915 PUBLIC KEY~~~~~

View File

@@ -1,8 +1,8 @@
-----BEGIN ED25519-CURVE29915 PRIVATE KEY----- ~~~~~BEGIN ED25519-CURVE29915 PRIVATE KEY~~~~~
Co7vyr/c(-D02qI>CpF/BlSfb7fVB/pCVA-VIUt!!^tf+ulAL*:9sEvXapLZjMHNxW.rjjG s/Kxk/+qqBnP!erxq{]ai6+BkWc{nC=Xy+i9}+LSR)ZfN5Cm*4[N?Ra!JFm]*POClYeTcw)
s}XY1!8T<AoC.n318wTg)uZxuWSeE:SZy!nM>.@w)[1PQc)4zLf94=tmpyQhg}C@h3q5F[H q[juqJ-}Pi1ht!j8l$IM8nLKaIfY/JuITR:J5#j/#H3dFY=YWW%AhfyCm2@+nzd12SL(]i$
/QA*(>XR6]!lZZ$f=Ax0#Tlu-K${>0*%sM!}-Gz2nC9f#+ZLUM5o[JafYtK3FNYc4!^@Tn] #Za6b%^GyG[U.qS%tHb5YvVQg/4KvdEEoM!}Cxk[ci3sRA$aeSngGa6Slj5z&u7/^kNX2h*
V{WPck&bYgnK1qxn.i=nxd6*CxlarQgO]K@n@3)P8kXe2NzVYNq$]VfXT>D>FJOwfN@0yqF (*yV15+HfdwcE&H/k<5*Ih2Iik+1F^WJJIK@7jE>jmQS0P5)sZi#ZaLOI>-q-ShW$%i(h>V
-Uc+3sIg.umqi:9!AQ!5RG6HWgM-4]bzQx}gO<5u@k&Fl)ZL5wo@VAq5U!RJDPtvV<QAo=v Th(wzVmBnjg2a32wZ5xyf?PkbNmh!oza-3PL2$itvb)ih/yK!%HP}*iaS@+CPSJdjb.q-iG
=-N-/z$lzL5T$RJJ3b<Q<N>#4J}3$t2vLbh&#Xy$rkTK%6E1V.7F4T#D$nyI +MIh1CxgeRL*Scd+e&F%o.pMf2p>LMHYtBH0]SuWZJ3f:6(&%TgAW&05e1}3
------END ED25519-CURVE29915 PRIVATE KEY------ ~~~~~END ED25519-CURVE29915 PRIVATE KEY~~~~~

View File

@@ -1,6 +1,6 @@
bartid = 0xD6FBCA192A69BC19 bartid = 0x81E0427F3EE40B39
bartserial = 0xBE9710AB bartserial = 0xEDCCBD5B
idbobby = 0xA907B927849B39F9 idbobby = 0xEDF476444C8B5721
idalicia = 0x5F6F5F2B1FEFF482 idalicia = 0xD467BA4B3187236F
mailbobby = bobby@local mailbobby = bobby@local
mailalicia = alicia@local mailalicia = alicia@local

View File

@@ -1,33 +1,33 @@
size_t secret_a_len = 32; size_t secret_a_len = 32;
unsigned char secret_a[32] = { unsigned char secret_a[32] = {
0xb8, 0xb6, 0x65, 0x7e, 0x5b, 0x6b, 0x7b, 0x8d, 0x48, 0x59, 0xdb, 0xdb, 0x16, 0xfe, 0xa0, 0x17,
0x94, 0xc1, 0x8c, 0xef, 0x22, 0xbd, 0xbc, 0x16, 0xc8, 0x34, 0x38, 0x32, 0x29, 0x41, 0x56, 0xf1,
0xea, 0xf7, 0x62, 0x88, 0xd2, 0x87, 0x07, 0xb5, 0x35, 0x5d, 0x20, 0x52, 0xa2, 0x54, 0xeb, 0x67,
0x95, 0x1c, 0x88, 0x3d, 0xde, 0x8d, 0xb9, 0x40 0xb2, 0xd9, 0x5d, 0xa2, 0x90, 0xbc, 0x19, 0x55
}; };
size_t public_a_len = 32; size_t public_a_len = 32;
unsigned char public_a[32] = { unsigned char public_a[32] = {
0x3a, 0xe2, 0xd2, 0x7d, 0xae, 0x30, 0xd0, 0x8f, 0xfd, 0x9e, 0x3b, 0xe5, 0x99, 0x13, 0x22, 0xf6,
0x28, 0xa6, 0x8e, 0xb3, 0xec, 0xaf, 0x86, 0x66, 0xc8, 0x42, 0x10, 0x6e, 0x75, 0xd5, 0xe4, 0xcd,
0x31, 0x13, 0xf6, 0xdb, 0xf0, 0xc5, 0xf8, 0xc0, 0x1d, 0x69, 0xbf, 0x31, 0xbc, 0xfc, 0x2c, 0x27,
0xc1, 0xde, 0x4e, 0xf0, 0xb2, 0x54, 0xe8, 0x68 0xb7, 0xd2, 0x0f, 0xcc, 0xa6, 0x6e, 0x92, 0x38
}; };
size_t secret_b_len = 32; size_t secret_b_len = 32;
unsigned char secret_b[32] = { unsigned char secret_b[32] = {
0x68, 0xe2, 0xd6, 0x8a, 0x3d, 0xbd, 0x16, 0x13, 0x88, 0x06, 0xfd, 0x5d, 0x6f, 0x45, 0xd0, 0x0e,
0x29, 0xcc, 0x8f, 0x8f, 0x32, 0x44, 0x78, 0x04, 0xea, 0x66, 0xc9, 0xdc, 0xda, 0x38, 0xd4, 0xa8,
0xcc, 0x50, 0xe4, 0x9e, 0x4c, 0x5a, 0x32, 0xb5, 0x06, 0x81, 0xd9, 0x31, 0x9b, 0x22, 0x2d, 0xef,
0x97, 0xfa, 0x37, 0xaf, 0x59, 0x6f, 0xd7, 0x63 0x4e, 0x69, 0x00, 0xc4, 0x8c, 0xdf, 0x4e, 0x44
}; };
size_t public_b_len = 32; size_t public_b_len = 32;
unsigned char public_b[32] = { unsigned char public_b[32] = {
0xfb, 0xbb, 0xaf, 0x50, 0x62, 0x94, 0xb0, 0x6d, 0xdc, 0xc2, 0xcf, 0xe2, 0xc9, 0x3e, 0xe0, 0xf7,
0x66, 0xd8, 0x3d, 0x2f, 0xf2, 0x9f, 0xad, 0xe2, 0x33, 0x6f, 0xb8, 0xab, 0xe4, 0xb4, 0xe1, 0x6d,
0xe4, 0x15, 0xfe, 0x72, 0x33, 0xee, 0x36, 0xca, 0x82, 0xcb, 0xcc, 0xfa, 0x83, 0xc4, 0x8d, 0x09,
0xa1, 0xc9, 0x15, 0x76, 0x20, 0x10, 0x7d, 0x71 0x6f, 0x24, 0xec, 0xe0, 0xf3, 0x93, 0xce, 0x73
}; };
size_t message_len = 12; size_t message_len = 12;
@@ -38,16 +38,16 @@ unsigned char message[12] = {
size_t nonce_len = 24; size_t nonce_len = 24;
unsigned char nonce[24] = { unsigned char nonce[24] = {
0xbe, 0x81, 0x4b, 0xb0, 0x16, 0xcf, 0x3c, 0x70, 0x5e, 0xa0, 0xbd, 0x53, 0x16, 0xbf, 0x91, 0x2d,
0xf2, 0x28, 0xc9, 0x26, 0xa2, 0x07, 0xa8, 0x29, 0xfc, 0xe7, 0x1c, 0x0d, 0x4c, 0x9f, 0x79, 0xd1,
0x8d, 0x66, 0xb5, 0x91, 0x4b, 0x66, 0x17, 0xce 0x4d, 0x98, 0x3c, 0x2b, 0x1e, 0x47, 0x35, 0x0d
}; };
size_t cipher_len = 28; size_t cipher_len = 28;
unsigned char cipher[28] = { unsigned char cipher[28] = {
0xb2, 0xfd, 0xe8, 0xc3, 0xd0, 0xe1, 0x40, 0x33, 0xac, 0x06, 0x36, 0x4d, 0xd0, 0xa7, 0x58, 0x4e,
0x28, 0xb4, 0x87, 0x6b, 0x70, 0x56, 0x7a, 0xe8, 0x18, 0x35, 0x99, 0x29, 0x2b, 0x1e, 0x4a, 0x08,
0xcf, 0x7d, 0x1d, 0xd6, 0x93, 0x0e, 0x62, 0x0b, 0x1e, 0xcd, 0xd3, 0xc7, 0xce, 0x4a, 0xd1, 0xa7,
0xe3, 0xb5, 0x8c, 0x13 0x3e, 0x78, 0x94, 0xe9
}; };

View File

@@ -63,7 +63,7 @@ dxmorg@florida.cops.gov
<test check-secret-key-info> <test check-secret-key-info>
cmd = $pcp -V $vault -l | tail -1 | cut -d ' ' -f 1 | xargs $pcp -V $vault -t -i cmd = $pcp -V $vault -l | tail -1 | cut -d ' ' -f 1 | xargs $pcp -V $vault -t -i
expect = /BEGIN PCP SECRET KEY/ expect = /Serial Number/
</test> </test>
<test check-export-public-key> <test check-export-public-key>

View File

@@ -1,8 +1,8 @@
-----BEGIN ED25519-CURVE29915 PUBLIC KEY----- ~~~~~BEGIN ED25519-CURVE29915 PUBLIC KEY~~~~~
22+xo&#]]jo8ntzJdf3QOkX-?]{jsn*T7)bkb!*E<Aem+>?l+0}597ZR.>zH3yC=>rmV%>x 22+[E*94)L5kvZrVv&2kb@a+ka?%vr7IZ=d{$(<%-=#gX8ADWg*Hk+Am.OW&C&JDg]N*z:O
{CE4Mmn!J)2xow-RnXP?P@Og2.+H>REO$:POku50jv&Rb3%wP{7ppH<-*!Fbo^9)000040- M:v9Sk$22F$*)4g3fMPo*O$G+1Wf>8TwQm[E)pySYiO(:W7k9Rj=R]njrL3bo^9)000040-
F%k&@x5V1oRSV{g17500AQc?s+sU000Gy00SAaB7GxavqJ]JtFp7q01Y?A1PO^CCwZ#jpha GFA*w?iN1oRS&QfvP$00AQc)4NU-000Gy00SAaB7GxavqI(09ThPA01Y?A1PO^CCwZ#jpha
oRvqYPQ000-F00Aohzddc{zFrW0vqYQvy&r/(yYBCn0uh3+0SAsp.}Awq)aYXJM#kKi<Fd2 oRvqYPQ000-F00Aohzddc{zFrW0vqYQvy&r/(yYBCn0uh4nIbbY<J$hS3Vd@.<={RKId!5Q
2c4i%1r?=N{^<#6[-<kPkGsWAbc09rg2:.fl@9:7=]sN}(oW#Ge@O4H=20]6mktz+BQzx00 Q:.jVm=(w?ef]i%]3xH<b&PbUM(K8{bC9Q1ll)OmBJvbDPVvQ7fc0gxCR$anVHbnBXFXHJZ
f#C>3d{Sp/Dc{g=HF#Iu4UBLkc[(ErCcm9)b=dbaYckZW(&NR(020)%g}mkfkJsr} jh3yx*Rv.dLFUjhk<]<KF/=e6vZ*RJ:OlmQm0kA/?bp^mzPB-uTV8l&S[AOJ8Xb7j
------END ED25519-CURVE29915 PUBLIC KEY------ ~~~~~END ED25519-CURVE29915 PUBLIC KEY~~~~~

View File

@@ -1,8 +1,8 @@
-----BEGIN ED25519-CURVE29915 PRIVATE KEY----- ~~~~~BEGIN ED25519-CURVE29915 PRIVATE KEY~~~~~
EfjJxk8bui3@r=&B8gFizR3)dj5%[r)!dWv<u#no4NCrO[G3}FopZS2Jgh3k{?o<coD=n1H 4Bs0#CKTjpx5[Xz(V:e9CN(HNl}X%Q+#6u9qDaba=EpllyA!cI)k-(wM<2TB}y7Ze3zUjTG
hLK<YRMiw>sQi?(@98>0gb$OpjX0Fn-Yay2+>e#F[$p]x)/v9B9mF:1T9N>8lM/vf5y/rQ# /GH7NBGFP0d#084T-Nk8cnp&W:(@QUg/]4[ih&QAZ++!QtHC:dW{^tfMz@j&0^BYeHYzL)!
=)*(:hVYIMa]ju)xp@()t<&Igi2=@0FTn^u:xplZSr<RVqtMKweGrj$CDTBT$272e*Vgq-l O/YRSn-)06FoVHt$Ef1i%rhMZAI4(%jc-:+FHPXB3qYZ{JIz^rcb+XE%WerZ6st{Uj5$.Zn
vR[}Dpp?L1C-Juo5#u$WbJ>^r.Zl}Ebsq.x2@)Ww}5og>8Hs0mW3h4HQU.)6rBM:K)}YL[l q@Yt-2NIM^]3)sc8VkaDWk60mV-{.iEy]7s:b15xt#0lE}ybXRKc8{FLv!bM*pPw^#a.GRe
wiO:s+ZUZ(NY-P/9qV.C1TRQc<+vlfg{x<xy&3jCgwSLbckUH9t!biI{fcw%nNnx4e>frMy 1uh/pUocpnHaky66.LX?}:&V<F2[W-cAoO<{V1b@jdH4y]f$UDWd54}?XNz-QO6@K?E#(A-
Wbw%^5]6jTZ:?b01aHWx:l//5lq&>NCMo}hVzisL]LO^MUW-+$zXF61=a$SR2Ut={ (m!j<i$Hv@45zMCKLrLr(kBml31aFT0)&ot!j%1NBVwzy>xW/.=N[6vnsJJhx*o5<
------END ED25519-CURVE29915 PRIVATE KEY------ ~~~~~END ED25519-CURVE29915 PRIVATE KEY~~~~~

View File

@@ -1 +0,0 @@
5<><35>b<<04>C<1F>P}<7D><<3C>Y@BՃ<1F><><EFBFBD>e<EFBFBD><65>s<EFBFBD>2<EFBFBD><32> <20>4<1D>Qʔ<51>x-c<>