Skip to content

Commit

Permalink
Corrected Key Size Determination In ECC PKCS
Browse files Browse the repository at this point in the history
- Added logic to PKCS encoding routine to accommodate differing ECC curve types
- Changed build version to 0.70u6
- Moved project cleanup logic into main build batch file
- Recompiled binaries based on latest code changes
  • Loading branch information
NoMoreFood committed Oct 18, 2018
1 parent ffd5c71 commit bf30da4
Show file tree
Hide file tree
Showing 26 changed files with 89 additions and 77 deletions.
Binary file not shown.
Binary file added binaries/puttycac-0.70u6.zip
Binary file not shown.
Binary file not shown.
Binary file added binaries/puttycac-64bit-0.70u6.zip
Binary file not shown.
114 changes: 60 additions & 54 deletions binaries/puttycac-hash.txt
Original file line number Diff line number Diff line change
@@ -1,69 +1,75 @@

Algorithm Hash Path
--------- ---- ----
SHA256 7EAE4DD407FCC7B01C594178271019E73948831F30B1D9C685EAF20DF35621A8 \binaries\x64\pageant.exe
SHA256 8FC3AD73684F66D11648DA89BF15A514218612E239A06AD63D91C06D26AF69D7 \binaries\x64\plink.exe
SHA256 006F2935A0BE12123EEC2AF131B32873A23B847F4406871F4CC1D710EDB0A7CC \binaries\x64\pscp.exe
SHA256 18B5133C1DEBC10E13F525C462A71F804C611753DC611A834A4F7563F4FF4F62 \binaries\x64\psftp.exe
SHA256 304050F60E072E844965A4DE759BEBE9BE7353AD77489B0CCE784B0AEF8AB37E \binaries\x64\putty.exe
SHA256 33EB41CB06511BC46908D9C0DB6F07528B308E0E9B3B96A1B7F19E9EB4135E90 \binaries\x64\puttygen.exe
SHA256 8269BD9CDC3B4E9FD46E692BFC80414AACC52BA888060943D39E3B1B3533E336 \binaries\x64\puttytel.exe
SHA256 4CAA5D953C75DD563C55076BF18D650BA120DE43CA6E77BCA51AD3EF01638AE3 \binaries\x64\testbn.exe
SHA256 058B0ED6DCD3C8C342390B452D23E63519969AC0EEBBE07670807F6F32CDDD73 \binaries\x86\pageant.exe
SHA256 913F687EB72FE410DFB5667A430AEA1BB5FA8C149EE1A8DB78F8309B41B636FB \binaries\x86\plink.exe
SHA256 C984DC26F691A79D7B8EA80326ED264361C200642E2CAB21C1738BCF82384824 \binaries\x86\pscp.exe
SHA256 A3756AA617A6F6664D9CB204704C32A0A8A02BF8E910D98254A380AB39555FC1 \binaries\x86\psftp.exe
SHA256 356596561B247639C1B4346EC9DFAB3F58E0467579C357BE71118B6052761718 \binaries\x86\putty.exe
SHA256 F27F283C4C66BDE23344CA40CF13A3A2AEB56CC4B80C8418A25BC6AB062AA51F \binaries\x86\puttygen.exe
SHA256 A99DD8F426480C40EFCCDED1C589485F313979B0559E5D34AF0568D37F2C288E \binaries\x86\puttytel.exe
SHA256 9A0A16989BF67DD58039CB0F18B2D36A16C714D76653F5E7E63E507FFDCD16B4 \binaries\x86\testbn.exe
SHA256 F7DE2B143A503F2D16B3888E834FA032FE4237C22FED366CA50A6FC447BA95CB \binaries\puttycac-0.70u5-installer.msi
SHA256 38D8464FA1060AC496D6EAF76C2C3280266711A06450A85FD8F20DDFA6956B5A \binaries\puttycac-64bit-0.70u5-installer.msi
SHA256 9658AEA0C26C7FC5476CED4D3F7CA569A656D69D48B104C223D0A0BF7DE1559A \binaries\x64\pageant.exe
SHA256 078CFE23DFD62E91E6259EFD0000E1282F57BFB4D3C3E96E5801D4DC6F20619F \binaries\x64\plink.exe
SHA256 1729D59F6BF1B4269993369ABD29B560EB97142CACBE8E706627057AFAEE96B6 \binaries\x64\pscp.exe
SHA256 7B0F4AEB6621ADEDC54A8422169264C920B1B57F5AD753AD1E2509EB6CC05472 \binaries\x64\psftp.exe
SHA256 2B9F3D50CF7B9EC5B6CD385348D6DE34A449388A1FCEDA6182CB28A0AF647743 \binaries\x64\putty.exe
SHA256 1DD3EB66F0D5ADBD4882A4AB21975A0D7739EA6E612F07E4A539C5CC6A6650D7 \binaries\x64\puttygen.exe
SHA256 ABF77D9A96666B11BD5FE512CC946F2CA0F17AECCE0CD8FE28B3BCBF0AB7B6F5 \binaries\x64\puttytel.exe
SHA256 FEA3135462966E80787E5DDD63C7FEB475F68DDCD6BE53EF8147858F11D04C90 \binaries\x64\testbn.exe
SHA256 AE64523D69D39854709C636C26EE26B5FF8BA9A852F975C4D8CEDA5B71E8E989 \binaries\x86\pageant.exe
SHA256 83B8EF096704AB666EA46C528D599F2A261CA22C29C4A9952DFD71DC82D1CC34 \binaries\x86\plink.exe
SHA256 29BBBB57945F0B17DEA7C928737689D4378329158A32197ED249C137DB7F7CAB \binaries\x86\pscp.exe
SHA256 E9E73CDA63734574F2570D8679948AA8C59BA07B8F4603027BB45CF637AD00D8 \binaries\x86\psftp.exe
SHA256 8E9F6342F3CE4691ABCC24D3FE7806C566FE7724A85CD43507162D5838AAAC84 \binaries\x86\putty.exe
SHA256 162CDBFF6ABDBEE291D4DDD3F4EFA7F0E858A3171D920F4E5D3E60E6FB0FA66E \binaries\x86\puttygen.exe
SHA256 0F2BB0F704597D85750380BC0803D3DBBF156887E6E1E76D1106D89CEDFE0E38 \binaries\x86\puttytel.exe
SHA256 87F5CAE938BE21C1E39F33072A6316D73B06D4382A5C780B987E0CFD4ABF559D \binaries\x86\testbn.exe
SHA256 0CEFA54BD3E020A109BC84575D8ABB15908F0EB4F20AD0102DE10044C394BD61 \binaries\puttycac-0.70u6-installer.msi
SHA256 321C102B4EF7AC1CA68C51A346DD651055F7336E82A9D9B396BBD8F8B1DDB547 \binaries\puttycac-0.70u6.zip
SHA256 34EC4E17C6C1E29C91CA9923C75B0008AF52B37AACFC732F14C2576398C40FAF \binaries\puttycac-64bit-0.70u6-installer.msi
SHA256 54785AF9529F7A03E8F65D94F07CA48B91976D9EA87FA4131898A3F6F16479E5 \binaries\puttycac-64bit-0.70u6.zip



Algorithm Hash Path
--------- ---- ----
SHA1 674BDE77DC2A205CD565FD10E1362D96D4A5685F \binaries\x64\pageant.exe
SHA1 54868D8D8F9F6BA799B245E874123785D51F349E \binaries\x64\plink.exe
SHA1 472A517A4B7CF8BF205040253D277BAA55A05AAB \binaries\x64\pscp.exe
SHA1 B42172B32266FB3043D9A6E011FEA359107174F3 \binaries\x64\psftp.exe
SHA1 08F96AF0192695762B3DBD81E84CDBBBE8D0D66B \binaries\x64\putty.exe
SHA1 C250CCE323ABEC35664C0B3F22C522ACD2C98477 \binaries\x64\puttygen.exe
SHA1 77F3D5AF740C23055E51509B6584787B54D03E36 \binaries\x64\puttytel.exe
SHA1 93B67C9BF7395186FC58E89AE15FA9B7777AB1E6 \binaries\x64\testbn.exe
SHA1 61C55981AD7FF3F8D6A03422BF04E18D72C26EF2 \binaries\x86\pageant.exe
SHA1 4AA0F7FFAD2BA733804B912F091D5767D6DE32CA \binaries\x86\plink.exe
SHA1 A25642BCF608FA3A5C92FCD3C649D9FA87244ACF \binaries\x86\pscp.exe
SHA1 1A901348D2EE5048E10FDE21EACEBE34E28DF55B \binaries\x86\psftp.exe
SHA1 F1EA04C397567142F048C6055D18EAA479FB714F \binaries\x86\putty.exe
SHA1 3A4361DFD94BD694DB89E44CCB2AC47FCDA867E9 \binaries\x86\puttygen.exe
SHA1 87B9C56CD328B819447C99FE67EA6090E3F89BE2 \binaries\x86\puttytel.exe
SHA1 F1848156EC8FE276A5FB8F3F71A30FDE3DE99EFF \binaries\x86\testbn.exe
SHA1 5CE4940F8C7D3B664C6288567ED8C8150382C3C8 \binaries\puttycac-0.70u5-installer.msi
SHA1 7749299B4B583E54EBC5C2FC701727CF5755EAA7 \binaries\puttycac-64bit-0.70u5-installer.msi
SHA1 7645E61E6FA367125D3BD4EF9300E43023D58270 \binaries\x64\pageant.exe
SHA1 663E61F66DFA7842F2369492B2B17BDA7C575AF2 \binaries\x64\plink.exe
SHA1 BF6FFB76284C5A7C144B062CB9AB8C19AAF850FA \binaries\x64\pscp.exe
SHA1 E67BF2A99DB56CD48BE8F5F2B55A6817AA81065A \binaries\x64\psftp.exe
SHA1 5E209C9A9F3A8C2BECB44049363370F8A8A095F4 \binaries\x64\putty.exe
SHA1 CDE6EA9740AEF025DF0D75D6A3E871B36439955B \binaries\x64\puttygen.exe
SHA1 FA50DEF24D762987A603BE41CEA0CF298C5B0D38 \binaries\x64\puttytel.exe
SHA1 53252520F6EE81EC854EBF6F0549C92803173D8F \binaries\x64\testbn.exe
SHA1 564D8EEA2122FA3C59EB528A1E5A2FD98FB4A844 \binaries\x86\pageant.exe
SHA1 51076FD737C8865D509F036D88142B6EC1B5FFD3 \binaries\x86\plink.exe
SHA1 8EAA9B450982ED6E6EB6001D3F1004E53E47F46C \binaries\x86\pscp.exe
SHA1 CC238BF9AC1DCE04045D5C5E816F6B8BBCDD40F8 \binaries\x86\psftp.exe
SHA1 86ABE3A488DB02109F92E29BD9A0DEBC9907C394 \binaries\x86\putty.exe
SHA1 24E721090B1CF81C770D7C6C7F5BFC88F20C3BA8 \binaries\x86\puttygen.exe
SHA1 6E6C1AD3DEF0A1930E3FAE3394E2AC8E926C7D7E \binaries\x86\puttytel.exe
SHA1 79383822545D61727B6C4B3E50089F2FD787B61A \binaries\x86\testbn.exe
SHA1 E4D41628D202766F38F16203210CA9B6245D3F53 \binaries\puttycac-0.70u6-installer.msi
SHA1 852AF8EF8F49C01B311D048986B12B3182D1F681 \binaries\puttycac-0.70u6.zip
SHA1 FE3D0C9025371ED68440E812E5314C466083638F \binaries\puttycac-64bit-0.70u6-installer.msi
SHA1 9438CACC8E9FFE08D1B539B37B1D4678CC73ACEE \binaries\puttycac-64bit-0.70u6.zip



Algorithm Hash Path
--------- ---- ----
MD5 C5DA02313F322536BBB3D82661BAF55F \binaries\x64\pageant.exe
MD5 961A5270B4BD63E45920ADFF54BE021D \binaries\x64\plink.exe
MD5 5A7C41EE6C1FFCCAED331A5C66DA41E9 \binaries\x64\pscp.exe
MD5 D7255EF0C03736BCB2CB992E6EF26502 \binaries\x64\psftp.exe
MD5 423D99C85A2A853336B868883BE8007B \binaries\x64\putty.exe
MD5 38CF1AF37DC40E2FC1B16486BAE4C4FF \binaries\x64\puttygen.exe
MD5 0F6101F231C318316831B90516DFFE1C \binaries\x64\puttytel.exe
MD5 28B1420551F445893727FF35F0F9CC27 \binaries\x64\testbn.exe
MD5 01D00F4A19E0AAF154F1D3B2D5136A7E \binaries\x86\pageant.exe
MD5 FD6C4CD93140DD4B93997A771A80CD77 \binaries\x86\plink.exe
MD5 891F742AB8E486BE7128F88CBE20CCF4 \binaries\x86\pscp.exe
MD5 37FF3CB3E25603D8D4DA13A30BCD2A41 \binaries\x86\psftp.exe
MD5 A96E3CAD0A3AC81BFAB513C38A57F8ED \binaries\x86\putty.exe
MD5 C58EE3352A1ABCD4E4F5A750DB00FA8B \binaries\x86\puttygen.exe
MD5 EFDF01E12AD2684B48499323F2EAD200 \binaries\x86\puttytel.exe
MD5 713FB1A09775EBABE8B3B655D42FB0E8 \binaries\x86\testbn.exe
MD5 26A5E92FDF9CBE0D8FC8528AB9111AC5 \binaries\puttycac-0.70u5-installer.msi
MD5 50B424B77043C77C9EA4CC327E9D76E1 \binaries\puttycac-64bit-0.70u5-installer.msi
MD5 A60FA1C70B9E3B623A5F8789841EBDC5 \binaries\x64\pageant.exe
MD5 FEE84CB0DF8F68DEAC9394B3AD66E28B \binaries\x64\plink.exe
MD5 BE0A9D13BC4243A1DA2FCADF9D4A8534 \binaries\x64\pscp.exe
MD5 9807BBECAF9CA41217CD337F173D7D20 \binaries\x64\psftp.exe
MD5 229FC0E49CCF838AD741A55EBAFD9968 \binaries\x64\putty.exe
MD5 8294618B03957ACDF5EF9F2F0D366E32 \binaries\x64\puttygen.exe
MD5 9619057D4DA8E909E8A0C01E27DCBE1C \binaries\x64\puttytel.exe
MD5 A7FEEA1265300E7C4515C8FD0556BD10 \binaries\x64\testbn.exe
MD5 2842E6340E5A0FA3DC04C6EBBBC0E09D \binaries\x86\pageant.exe
MD5 4E9A7BFF0EB7EF59F22E8C8B0FD5933F \binaries\x86\plink.exe
MD5 C2A78BE1578964E66910EDE755AD04CB \binaries\x86\pscp.exe
MD5 195346512600DFB1F7C0854A39B0CCD7 \binaries\x86\psftp.exe
MD5 DDCA5D5FD5B03C94380E2FD5B15D6318 \binaries\x86\putty.exe
MD5 8B05667BAC005350B7B5313D3371F86A \binaries\x86\puttygen.exe
MD5 956A8AF01389CC89FEF6D89DA9862598 \binaries\x86\puttytel.exe
MD5 5AFBA0CCD755DF07C04F9EC7F39F1A41 \binaries\x86\testbn.exe
MD5 FFF66BDA4F72D86AAC0690EE14BB19BC \binaries\puttycac-0.70u6-installer.msi
MD5 64B4092D806F70793A320BD5A61BE1B3 \binaries\puttycac-0.70u6.zip
MD5 7BE066FA42E14DE7AD3D89B1B6AF3D75 \binaries\puttycac-64bit-0.70u6-installer.msi
MD5 FB227F0D370A7AB040DB53566F9BD5D9 \binaries\puttycac-64bit-0.70u6.zip


Binary file modified binaries/x64/pageant.exe
Binary file not shown.
Binary file modified binaries/x64/plink.exe
Binary file not shown.
Binary file modified binaries/x64/pscp.exe
Binary file not shown.
Binary file modified binaries/x64/psftp.exe
Binary file not shown.
Binary file modified binaries/x64/putty.exe
Binary file not shown.
Binary file modified binaries/x64/puttygen.exe
Binary file not shown.
Binary file modified binaries/x64/puttytel.exe
Binary file not shown.
Binary file modified binaries/x64/testbn.exe
Binary file not shown.
Binary file modified binaries/x86/pageant.exe
Binary file not shown.
Binary file modified binaries/x86/plink.exe
Binary file not shown.
Binary file modified binaries/x86/pscp.exe
Binary file not shown.
Binary file modified binaries/x86/psftp.exe
Binary file not shown.
Binary file modified binaries/x86/putty.exe
Binary file not shown.
Binary file modified binaries/x86/puttygen.exe
Binary file not shown.
Binary file modified binaries/x86/puttytel.exe
Binary file not shown.
Binary file modified binaries/x86/testbn.exe
Binary file not shown.
6 changes: 3 additions & 3 deletions cert/cert_pkcs.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#include "pkcs\pkcs11.h"
#pragma pack(pop, cryptoki)

// functions used within the capi module
// functions used within the pkcs module
PCCERT_CONTEXT pkcs_get_cert_from_token(CK_FUNCTION_LIST_PTR FunctionList, CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject);
CK_FUNCTION_LIST_PTR cert_pkcs_load_library(LPCSTR szLibrary);
void * pkcs_get_attribute_value(CK_FUNCTION_LIST_PTR FunctionList, CK_SESSION_HANDLE hSession,
Expand Down Expand Up @@ -65,8 +65,8 @@ BYTE * cert_pkcs_sign(struct ssh2_userkey * userkey, LPCBYTE pDataToSign, int iD
oAttribute = CKA_EC_POINT;
struct ec_key *ec = userkey->data;

// determine key size (assume x and y are same key size)
int iKeySize = ((bignum_bitcount(ec->publicKey.x) + 7) / 8);
// determine key size (the length of x and y must be same and be bit count of finite field p).
int iKeySize = (bignum_bitcount(ec->publicKey.curve->p) + 7) / 8;

// combine the x and y bytes in to a continue structures
LPBYTE pDataToEncode = malloc(1 + iKeySize + iKeySize);
Expand Down
2 changes: 2 additions & 0 deletions misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1209,6 +1209,8 @@ char *buildinfo(const char *newline)
strbuf_catf(buf, " 2017 / MSVC++ 14.13");
#elif _MSC_VER == 1914
strbuf_catf(buf, " 2017 / MSVC++ 14.14");
#elif _MSC_VER == 1915
strbuf_catf(buf, " 2017 / MSVC++ 14.15");
#else
strbuf_catf(buf, ", unrecognised version");
#endif
Expand Down
25 changes: 20 additions & 5 deletions packager/build.cmd
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
@ECHO OFF

:: version information
SET VER=0.70u5
SET VERN=0.70.0.5
SET VER=0.70u6
SET VERN=0.70.0.6

:: cert info to use for signing
SET CERT=2FA35B20356EFEB88F9E9B5F20221693C57100E5
Expand All @@ -26,6 +26,12 @@ SET PATH=%PATH%;%PX86%\Windows Kits\10\bin\10.0.17134.0\x64
SET PATH=%PATH%;%PX86%\Windows Kits\8.1\bin\x64
SET PATH=%PATH%;%PX86%\WiX Toolset v3.11\bin

:: cleanup
FOR %%X IN (Win32 x64 Debug Release Temp .vs) DO (
FORFILES /S /P "%BASEDIR%\windows" /M "%%X" /C "CMD /C IF @isdir==TRUE RD /S /Q @path" >NUL 2>&1
)
FORFILES /S /P "%BINDIR%" /M "*.*" /C "CMD /C IF /I @ext NEQ """exe""" DEL /Q @file"

:: sign the main executables
signtool sign /sha1 %CERT% /fd sha1 /tr %TSAURL% /td sha1 /d %LIBNAME% /du %LIBURL% "%BINDIR%\x86\*.exe" "%BINDIR%\x64\*.exe"
signtool sign /sha1 %CERT% /as /fd sha256 /tr %TSAURL% /td sha256 /d %LIBNAME% /du %LIBURL% "%BINDIR%\x86\*.exe" "%BINDIR%\x64\*.exe"
Expand Down Expand Up @@ -57,12 +63,21 @@ DEL /Q "%INSTDIR%\*.wix*"
DEL /Q "%INSTDIR%\*.txt*"
DEL /Q "%BINDIR%\*.wixpdb"

:: zip up executatables
SET POWERSHELL=POWERSHELL.EXE -NoProfile -NonInteractive -NoLogo -ExecutionPolicy Unrestricted
PUSHD "%BINDIR%\x86%"
%POWERSHELL% -Command "Compress-Archive '*.exe' -DestinationPath '%BINDIR%\puttycac-%VER%.zip'"
POPD
PUSHD "%BINDIR%\x64%"
%POWERSHELL% -Command "Compress-Archive '*.exe' -DestinationPath '%BINDIR%\puttycac-64bit-%VER%.zip'"
POPD

:: output hash information
SET HASHFILE=%BINDIR%\puttycac-hash.txt
IF EXIST "%HASHFILE%" DEL /F "%HASHFILE%"
POWERSHELL -NoProfile -NonInteractive -NoLogo -Command "Get-ChildItem -Include @('*.msi','*.exe') -Path '%BINDIR%' -Recurse | Get-FileHash -Algorithm SHA256 | Out-File -Append '%HASHFILE%' -Width 256"
POWERSHELL -NoProfile -NonInteractive -NoLogo -Command "Get-ChildItem -Include @('*.msi','*.exe') -Path '%BINDIR%' -Recurse | Get-FileHash -Algorithm SHA1 | Out-File -Append '%HASHFILE%' -Width 256"
POWERSHELL -NoProfile -NonInteractive -NoLogo -Command "Get-ChildItem -Include @('*.msi','*.exe') -Path '%BINDIR%' -Recurse | Get-FileHash -Algorithm MD5 | Out-File -Append '%HASHFILE%' -Width 256"
POWERSHELL -NoProfile -NonInteractive -NoLogo -Command "Get-ChildItem -Include @('*.msi','*.exe','*.zip') -Path '%BINDIR%' -Recurse | Get-FileHash -Algorithm SHA256 | Out-File -Append '%HASHFILE%' -Width 256"
POWERSHELL -NoProfile -NonInteractive -NoLogo -Command "Get-ChildItem -Include @('*.msi','*.exe','*.zip') -Path '%BINDIR%' -Recurse | Get-FileHash -Algorithm SHA1 | Out-File -Append '%HASHFILE%' -Width 256"
POWERSHELL -NoProfile -NonInteractive -NoLogo -Command "Get-ChildItem -Include @('*.msi','*.exe','*.zip') -Path '%BINDIR%' -Recurse | Get-FileHash -Algorithm MD5 | Out-File -Append '%HASHFILE%' -Width 256"
POWERSHELL -NoProfile -NonInteractive -NoLogo -Command "$Data = Get-Content '%HASHFILE%'; $Data.Replace((Get-Item -LiteralPath '%BASEDIR%').FullName,'').Trim() | Set-Content '%HASHFILE%'"

PAUSE
11 changes: 0 additions & 11 deletions packager/clean.cmd

This file was deleted.

8 changes: 4 additions & 4 deletions version.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* Generated by automated build script */
#define RELEASE 0.70-5
#define TEXTVER "Release 0.70-5"
#define SSHVER "PuTTY-Release-0.70-5"
#define BINARY_VERSION 0,70,0,5
#define RELEASE 0.70-6
#define TEXTVER "Release 0.70-6"
#define SSHVER "PuTTY-Release-0.70-6"
#define BINARY_VERSION 0,70,0,6
#define SOURCE_COMMIT "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef"

0 comments on commit bf30da4

Please sign in to comment.