From d598511a7e9e50d8e2e1190a89d0793366ccb346 Mon Sep 17 00:00:00 2001 From: TLINDEN Date: Mon, 4 Nov 2013 14:03:43 +0100 Subject: [PATCH] fixed key export: now using big endian byte order for exported keys, so they're platform independent when transported. --- src/keymgmt.c | 4 +++ src/keyprint.c | 4 +++ tests/bart.pub | 58 ++++++++++++++++++++++---------------------- tests/key-alicia-pub | 54 ++++++++++++++++++++--------------------- tests/key-alicia-sec | 36 +++++++++++++-------------- tests/key-bobby-pub | 52 +++++++++++++++++++-------------------- tests/key-bobby-sec | 36 +++++++++++++-------------- tests/unittests.cfg | 14 ++++++----- 8 files changed, 134 insertions(+), 124 deletions(-) diff --git a/src/keymgmt.c b/src/keymgmt.c index c662554..272bc7e 100644 --- a/src/keymgmt.c +++ b/src/keymgmt.c @@ -322,6 +322,8 @@ int pcp_importsecret (vault_t *vault, FILE *in) { // all good now pcp_key_t *key = (pcp_key_t *)z85decoded; + key2native(key); + if(debug) pcp_dumpkey(key); @@ -371,6 +373,8 @@ int pcp_importpublic (vault_t *vault, FILE *in) { // all good now pcp_pubkey_t *pub = (pcp_pubkey_t *)z85decoded; + pubkey2native(pub); + if(debug) pcp_dumppubkey(pub); if(pcp_sanitycheck_pub(pub) == 0) { diff --git a/src/keyprint.c b/src/keyprint.c index 095d4c3..25092c5 100644 --- a/src/keyprint.c +++ b/src/keyprint.c @@ -62,7 +62,9 @@ void pcppubkey_printlineinfo(pcp_pubkey_t *key) { void pcpkey_print(pcp_key_t *key, FILE* out) { size_t zlen; + key2be(key); char *z85encoded = pcp_z85_encode((unsigned char*)key, sizeof(pcp_key_t), &zlen); + key2native(key); struct tm *c; time_t t = (time_t)key->ctime; @@ -94,7 +96,9 @@ void pcpkey_print(pcp_key_t *key, FILE* out) { void pcppubkey_print(pcp_pubkey_t *key, FILE* out) { size_t zlen; + pubkey2be(key); char *z85encoded = pcp_z85_encode((unsigned char*)key, sizeof(pcp_pubkey_t), &zlen); + pubkey2native(key); struct tm *c; time_t t = (time_t)key->ctime; diff --git a/tests/bart.pub b/tests/bart.pub index 49612fc..4f88c97 100644 --- a/tests/bart.pub +++ b/tests/bart.pub @@ -1,36 +1,36 @@ ----- BEGIN PCP PUBLIC KEY ----- - Generated by: Pretty Curved Privacy Version 0.0.1 + Generated by: Pretty Curved Privacy Version 0.1.2 Cipher: CURVE25519-ED25519-SALSA20-POLY1305 - Owner: Bart Simpson - Mail: bart@springfield.com - Key-ID: 0x0E4512BE47CE0215 - Public-Key: 1aHE2mHljT-}lCf(GM(ln.9(?}t9H+[c{$q!@$oEz#Y>r - Creation Time: 2013-10-26T13:37:27 - Checksum: BA:10:B7:CC:79:C0:69:8E:F0:A8:4D:55:12:C2:E5:7E - 47:62:7D:C2:02:9C:3D:48:04:1B:5D:7D:5D:32:F4:7F - Serial Number: 0xEE894128 + Owner: Bart + Mail: bart@local + Key-ID: 0xEA14904F02A39174 + Public-Key: 1mGl04^7vzH8]/0L+sT^nct*Db9{90tKrNX[qmVTCVdi{Oj?f?+29S.w#wHF%}n{&GkBA/lw=8yME/LjO^XMUJDv=I(6a.%-r*X- -nVZS)=f1GiY1V.hvq5?tBcAiYKH#*pp546$pyhduq2JhXQ#k{Mmev}tUBwGyx/MI1pq=W)w -Cfij1g&pb+I98{>Y)72o6jtL0MDI27TeNgbiN6w+!=nBEx=?AL$.ZsyYkIa.2L*zPrShDR@ -?BZtx>qfH{ixW!)Sv0A-inF}(Y:^n>hp+G:gD&=G37x2]*xw)[SEK-a(olso31TnwYEC3a[ -Ss[wvvQTq0kYZ)+x(mM}x>q9>e[n*p0o9!*Pm8krDv@GqlEix{bt>?K.A!r(MY4CgvkVcT9 -asOUmVLwwPdupK}HBUY=uU5P>53ncmJ+QsH8Uy#gkI}vlm#0HIC+J2pM&4.B%^!FV?UoRnL -EMA}1QbPI/ju0S3V$uJz^?$ugF?PEDvtPbK)!SfA$?.1Sa2T.&:.^va>^hnVya0Gz%4{7f: -Zmst}k&sL.7@]blr*deC[lst2ayum}V-z+6PaM1soAVxbisyY/!w(AF:Z7*vzjI5nKwtPW0 --Xm&ovi4NDTe/sCvT&jISh>UtWeB?8$C)S]>fhSrnmkM>Rgd1z^h:Z1/gbgS^RGY1PqucW% -0096104pc&)GiZV)[2M%DD:?sR{-Um:2%M8$>Ybu7I!4uuZL75%!FjJP5)VimU[&0GL:/rRr)sEb38i +EG>fEN*.G6FaN-a=d7R)9V%oc*J#=D&qO.5u>)fTG(a9dOgYy&SDND:1?C:9]O{3CJXOSOS +}]:rUXWA*Z4hkUd$sAxA.rCxLXVvXB#BZ{$4(?zhk=SjvKVc&sVbDpDBQUHydV[LuA)qW2e +aZM8%IOfbAz!jZlj(uM2b.tKILO@J=vs4uA1[MKSM}Co^OSzn?IZn5eup-FiG<@BkhpGI*5+=AaFci)p]pN<.y:C23Hq5+HeE-@u3mA$&AhuowdSI +oe+vc3DFlgjj(/DN)IuWhBK-:RmrYMO)[m1e8PPc!c<3yoj#A$[tIw@>$CFGX#z8lTt3UjP +ekeONv@R!ZxG]suov=C[qT+BdUzYrn=SKebdQ}X93MtbBB4kVQf/MQKs0Fh-N/]YCA}B:SimA8We7O0Fcq>zi +/umH!>1.$8jiah0cn73Qw$n] ------ END PCP PUBLICKEY ------ diff --git a/tests/key-alicia-pub b/tests/key-alicia-pub index 29a70e5..218eabe 100644 --- a/tests/key-alicia-pub +++ b/tests/key-alicia-pub @@ -1,36 +1,36 @@ ----- BEGIN PCP PUBLIC KEY ----- - Generated by: Pretty Curved Privacy Version 0.0.1 + Generated by: Pretty Curved Privacy Version 0.1.2 Cipher: CURVE25519-ED25519-SALSA20-POLY1305 Owner: Alicia Mail: alicia@local - 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-ID: 0xC7062F147D8C4D91 + Public-Key: 1njv6!EZrC2u6Ot@{G*xnXCgt9BpE4)Hf*Sq:):J761sm + Creation Time: 2013-11-04T14:00:55 + Checksum: 23:A1:2C:A3:C6:55:80:84:72:15:3D:01:F7:97:04:C0 + 70:6B:96:66:53:49:33:0B:BF:63:AB:18:DF:C8:F6:F2 + Serial Number: 0xD9C07D23 Key Version: 0x00000001 Random Art ID: +----------------+ - |+. . .o | - |oo o o o | - | o + . . | - | . . . . | - | . o | - | . | - | | - | | + | o. | + | . .. | + | .. | + | oo | + | . +o | + | o o... | + | . . ... | + | o. | +----------------+ -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*vL4OMj3sOZNR^3k}OXM!N<]}+!SFY>qoT%H6{tZb -WCdrzhvQK7Cc]Prn5yvZvyo*@3:xd-plZ92qy@XnqMuc#N7EdRWP30RnxhloN6ZMTNGKOaR -ETo@7vqGT/x<]?.C}AEPsc+IVii?J?Tl3 -dZ/BB=?og/UGl-AaP(aSG0VxQ9SQMbbnWW1IMzrX{}>aRm^KrTa#B5oo2uW)@BgRl6kE2fFLmGh8)t>BX6q?qucW% -00961016?#e^3NT/77sIVp)H[P%U=36VHc+)7i+Klv>OpXx.Cyv*-/qUB>>TOr/21J^s(4B -HiQ{PK+4r^K%rytsMcASJr4^DG^s1tsmS5s!rQUW/iXK#ooAs$N>Ez +7G@c@ZG?&0jJi0{g7qg1ATTs8>N>4w:n}o)edBd/pBVYmPjrwOiJrF6m=:YPzYK*@5y=AV9 +D]2dAdLBoE+/taf6*}O/9{Z^&Q+h?OfaVF25{^LG&Sw^lKEliT{uT][/aC}A@O@(TIT%W8*3l6H{R3<9)[Qh9))#-O+C9@6Q^NfIsb0?2Mk)R/0 +3Yo7pvqGT/x<B:AF94rm5M1g4wuXI89gF@ +Xp#Je#A3$JglUr3Ayl}j$B=0yjuMSAGI1Gt1x:*S6V>Boy*pqQiqk1BPf+M4j)CQqRFthIh ++=nuI^C=+.98BdSz8W45d}/sXpf=AStp8ZS$P1ct$XD}3jd!oq8s+&$yY*V@.Jd*8/[>X!4 +]d]3]OIu6rz0L-6EO/nf%C]#!bMF)):yu{}>db{csH9h/IGyJ1DSn?tkPB:A>%5sBuVqw$9 +b&Lb(lmtSx6]ewYpK$WjDx[s9bsRW!f}Zk&4W[>sqh.WcBmLM.Ul]WKwxmJcC0*vL4OMj3sOZNR^3k}OXM!N<]}+!SFY>qoT%H6{tZbWCdrzhvQK7Cc -]Prn5yvZvyo*@3:xd-plZ92qy@XnqMuc#N7EdRWP30RnxhloN6ZMTNGKOaRETo@7vqGT/x< -]?.C}AEPsc+IVii?J?Tl3dZ/BB=?og/UG -l-AaP(aSG0VxQ9SQMbbnWW1IMzrX{}>a -Rm^KrTa#B5oo2uW)@BgRl6kE2fFLmGh8)t>/*@]1qucW%0096109W(/!D -7d$0ht*YE)tbE0seV900000000000000000000000000000000000000000eu+e0seV901Y -bg0f]#U:]zzw +1njv6!EZrC2u6Ot@{G*xnXCgt9BpE4)Hf*Sq:):J767(6Rxa:$=uc[7^R%GlrP0pMX%A.J} +Ynmqs]))PJP-Km6xk}aty?Y{d#uV&8lbTba$.!q}/7RD5d9Z?hfS&a0xXwVZ3+#VJn8L3wL +=)mN5bGDmUFMxLQvg(bI2l7dX]*IVQ5zwv}/uK-PEqtw%{]wnFot4U^$)43%%unPk$cD]2! +]VX/@>iQ{PK+4r^K%rytsMcASJr4^DG^s1tsmS5s!rQUW/iXK#ooAs$N>Ez7G@c@ZG?&0jJ +i0{g7qg1ATTs8>N>4w:n}o)edBd/pBVYmPjrwOiJrF6m=:YPzYK*@5y=AV9D]2dAdLBoE+/ +taf6*}O/9{Z^&Q+h?OfaVF25{^LG&Sw^lKEliT{u +T][/aC}A@O@(TIT%W8*3l6H{R3<9)[Qh9))#-O+C9@6Q^NfIsb0?2Mk)R/03Yo7pvqGT/x< +B:AF94rm5M1g4wuXI89gF@Xp#Je#A3$Jgl +Ur3Ayl}j$B=0yjuMSAGI1Gt1x:*S6V>Boy*pqQiqk1BPf+M4j)CQqRFthIh+=nuI^C=+.98 +BdSz8W45d}/sXpf=AStp8ZS$P1ct$XD}3jd!oq8s+&$yY*V@.Jd*8/[>X!4]d]3]OIu6rz0 +L-6EO/nf%C]#!bMF)):yu{}>db{csH9h/IGyJ1DSn?tkPB:A>%5sBuVqw$9b&Lb(lmtSx6] +ewYpK$WjDx[s9bsRW!f}Zk&4W[>sqh.WcBmLM.Ul]WK*CM00/#EgxhxEeJDuYRht*=}Zz5pR%XOsZHy5!kl + Creation Time: 2013-11-04T14:01:05 + Checksum: AD:FD:96:AA:35:98:79:90:55:33:99:1F:6D:31:24:09 + 6E:E3:77:63:C9:29:DA:69:C1:8E:BE:5D:09:74:A8:13 + Serial Number: 0xE11E885A Key Version: 0x00000001 Random Art ID: +----------------+ - | . | - | o | - | o . | - | . = o | - | o . B . | - | o + . . | - | . o | | | + | | + | o | + | + . o | + | + o o.. | + | o o.o. | + | o... | + | .o | +----------------+ -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)Jl<){nb:RRPgWu/uw8la@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)XM7A[ -jSQW]2+-gx<+-p(4+#H8#]%s +1bWN>*CM00/#EgxhxEeJDuYRht*=}Zz5pR%XOsZHyc(&FvTd%jsaN@2uJtG&D +(VK5-W.4E+qp]K}^A&2+kFOeIzgR+N}3::iP(c:bPgc6qHX@NK9IGb-RP(V1Z8h@LY%wuf= +@mTe^x3*NHtkzn):5F6}9/)}D5iqn3%4TC343M&ov1qvIg7?Dzv?)wU^mJ&8bicJqul46Qd +zFAPV9XB:bt4VfZ7G!i%UYnq-/KKtKWuO%&(e4ZeMv^@sJ&yk2&U^I +MgvKvjy?Zn%pAB3u?Ur(X=u[A(Y4g!-as+*@Lhwn%l^3KO@H1K^O-)uw(I{[+ ------ END PCP PUBLICKEY ------ diff --git a/tests/key-bobby-sec b/tests/key-bobby-sec index 7b5168a..532d528 100644 --- a/tests/key-bobby-sec +++ b/tests/key-bobby-sec @@ -1,23 +1,23 @@ ----- BEGIN PCP SECRET KEY ----- - Generated by: Pretty Curved Privacy Version 0.0.1 + Generated by: Pretty Curved Privacy Version 0.1.2 Cipher: CURVE25519-ED25519-SALSA20-POLY1305 - Key-ID: 0xCE20289DFB268A3D - Creation Time: 2013-11-01T15:53:45 - Serial Number: 0x2467E86B + Key-ID: 0x9BBC8CFD7B519006 + Creation Time: 2013-11-04T14:01:05 + Serial Number: 0x546425D2 Key Version: 0x00000001 -18a+&]*cfaPvpGAs*rp=oWkCXnLGe^aUx%^:BtLfv/OYAu{EkGzV6b}YAR}P{d}y@LR)QXx -Mrlpmmyv5L2*caymk: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)Jl<){nb:RRPgWu/uw8la@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 +1bWN>*CM00/#EgxhxEeJDuYRht*=}Zz5pR%XOsZHy5*J]Urv[i[fHQp/-tjXqD=}e@XCf1> +Q1s1as!yn!$T?Qz[?d-tX:DK0&:bOZa?9KOtmcY0J9@!n6MOac8i0I3!}83l4+wWuS)??on +/r(VK5-W.4E+qp +]K}^A&2+kFOeIzgR+N}3::iP(c:bPgc6qHX@NK9IGb-RP(V1Z8h@LY%wuf=@mTe^x3*NHtk +zn):5F6}9/)}D5iqn3%4TC343M&ov1qvIg7?Dzv?)wU^mJ&8bicJqul46QdzFAPV9XB:bt4 +VfZ7G!i%UYnq-/KKtKWuO%&(e4ZeMv^@sJ&yk2&U^IMgvKvjy?Zn%p +AB3u?Ur(X=u[A(Y4g!-as+*@Lhwn%l^3KO@H1K^O +bartid = 0xEA14904F02A39174 +bartserial = 0x1A184AFF cmd = $pcp -V $vault -P -I bart.pub - expect = /key 0x0E4512BE47CE0215 added/ + expect = /key $bartid added/ - cmd = $pcp -V $vault -t -i 0x0E4512BE47CE0215 - expect = /Serial Number: 0xEE894128/ + cmd = $pcp -V $vault -t -i $bartid + expect = /Serial Number: $bartserial/ - cmd = $pcp -V $vault -R -i 0x0E4512BE47CE0215 + cmd = $pcp -V $vault -R -i $bartid expect = /Public key deleted/ @@ -77,8 +79,8 @@ dxmorg@florida.cops.gov # # encryption tests -idbobby = 0xCE20289DFB268A3D -idalicia = 0x44713DD4E010C582 +idbobby = 0x9BBC8CFD7B519006 +idalicia = 0xC7062F147D8C4D91 mailbobby = bobby@local mailalicia = alicia@local md5msg = 66b8c4ca9e5d2a7e3c0559c3cdea3d50