Skip to content

Commit

Permalink
Update EdDSA validation support
Browse files Browse the repository at this point in the history
Fix various issues in signatureverifier.cpp. Add ARM64 support to the
ed25519 Visual Studio assets.
  • Loading branch information
geraldcombs committed May 11, 2023
1 parent f3bd144 commit 7536370
Show file tree
Hide file tree
Showing 14 changed files with 124 additions and 38 deletions.
79 changes: 79 additions & 0 deletions 3rdparty/ed25519.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Do not modify, all changes will be overwritten! -->
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
Expand All @@ -11,6 +15,10 @@
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
Expand All @@ -36,6 +44,7 @@
<PlatformToolset Condition="'$(VisualStudioVersion)'=='14'">v140</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='15'">v141</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='16'">v142</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='17'">v143</PlatformToolset>
<XPDeprecationWarning>false</XPDeprecationWarning>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
Expand All @@ -47,6 +56,19 @@
<PlatformToolset Condition="'$(VisualStudioVersion)'=='14'">v140</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='15'">v141</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='16'">v142</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='17'">v143</PlatformToolset>
<XPDeprecationWarning>false</XPDeprecationWarning>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='11'">v110</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='12'">v120</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='14'">v140</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='15'">v141</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='16'">v142</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='17'">v143</PlatformToolset>
<XPDeprecationWarning>false</XPDeprecationWarning>
</PropertyGroup>
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
Expand All @@ -58,6 +80,7 @@
<PlatformToolset Condition="'$(VisualStudioVersion)'=='14'">v140</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='15'">v141</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='16'">v142</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='17'">v143</PlatformToolset>
<XPDeprecationWarning>false</XPDeprecationWarning>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
Expand All @@ -70,6 +93,20 @@
<PlatformToolset Condition="'$(VisualStudioVersion)'=='14'">v140</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='15'">v141</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='16'">v142</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='17'">v143</PlatformToolset>
<XPDeprecationWarning>false</XPDeprecationWarning>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='11'">v110</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='12'">v120</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='14'">v140</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='15'">v141</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='16'">v142</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='17'">v143</PlatformToolset>
<XPDeprecationWarning>false</XPDeprecationWarning>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
Expand All @@ -82,12 +119,18 @@
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IntDir>..\$(Configuration)\WinSparkle_ed25519\</IntDir>
Expand Down Expand Up @@ -131,6 +174,20 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
Expand Down Expand Up @@ -177,6 +234,28 @@
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MinSpace</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FavorSizeOrSpeed>Size</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<StringPooling>true</StringPooling>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="ed25519\src\add_scalar.c" />
<ClCompile Include="ed25519\src\fe.c" />
Expand Down
1 change: 1 addition & 0 deletions 3rdparty/expat.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<IntDir>..\$(Platform)\$(Configuration)\WinSparkle_expat\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IntDir>..\$(Configuration)\WinSparkle_expat\</IntDir>
Expand Down
1 change: 1 addition & 0 deletions 3rdparty/libcrypto.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<IntDir>..\$(Platform)\$(Configuration)\WinSparkle_libcrypto\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IntDir>..\$(Configuration)\WinSparkle_libcrypto\</IntDir>
Expand Down
1 change: 1 addition & 0 deletions 3rdparty/wx.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<IntDir>..\$(Platform)\$(Configuration)\WinSparkle_wx\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IntDir>..\$(Configuration)\WinSparkle_wx\</IntDir>
Expand Down
8 changes: 4 additions & 4 deletions WinSparkle.sln
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,14 @@ Global
{AFBD6C55-82AB-5746-BABD-D254BE893418}.Release|Win32.Build.0 = Release|Win32
{AFBD6C55-82AB-5746-BABD-D254BE893418}.Release|x64.ActiveCfg = Release|x64
{AFBD6C55-82AB-5746-BABD-D254BE893418}.Release|x64.Build.0 = Release|x64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|ARM64.ActiveCfg = Debug|x64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|ARM64.Build.0 = Debug|x64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|ARM64.ActiveCfg = Debug|ARM64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|ARM64.Build.0 = Debug|ARM64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|Win32.ActiveCfg = Debug|Win32
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|Win32.Build.0 = Debug|Win32
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|x64.ActiveCfg = Debug|x64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Debug|x64.Build.0 = Debug|x64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Release|ARM64.ActiveCfg = Release|x64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Release|ARM64.Build.0 = Release|x64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Release|ARM64.ActiveCfg = Release|ARM64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Release|ARM64.Build.0 = Release|ARM64
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Release|Win32.ActiveCfg = Release|Win32
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Release|Win32.Build.0 = Release|Win32
{6A5FB0FA-2A9C-5A84-AA43-7814DC08D5B2}.Release|x64.ActiveCfg = Release|x64
Expand Down
3 changes: 2 additions & 1 deletion WinSparkle.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
Expand Down Expand Up @@ -201,7 +202,7 @@
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;XML_STATIC;BUILDING_WIN_SPARKLE;WIN32;_DEBUG;WINSPARKLE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalIncludeDirectories>3rdparty\expat\expat\lib;3rdparty\openssl-win32;3rdparty\wxWidgets_setup_h;3rdparty\wxWidgets\include;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>3rdparty\expat\expat\lib;3rdparty\ed25519\src;3rdparty\openssl-win32;3rdparty\wxWidgets_setup_h;3rdparty\wxWidgets\include;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<ResourceCompile>
Expand Down
1 change: 1 addition & 0 deletions examples/example_psdk.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
Expand Down
4 changes: 2 additions & 2 deletions include/winsparkle.h
Original file line number Diff line number Diff line change
Expand Up @@ -196,13 +196,13 @@ WIN_SPARKLE_API int __cdecl win_sparkle_set_dsa_pub_pem(const char *dsa_pub_pem)
If this function isn't called by the app, public key is obtained from
Windows resource named "EdDSAPub" of type "EDDSA".
@param eddsa_pub EdDSA public key in base64 encoded format.
@param eddsa_pub_base64 EdDSA public key in base64 encoded format.
@return 1 if valid EdDSA public key provided, 0 otherwise.
@since 0.8.0
*/
WIN_SPARKLE_API int __cdecl win_sparkle_set_eddsa_pub_base64(const char* eddsa_pub);
WIN_SPARKLE_API int __cdecl win_sparkle_set_eddsa_pub_base64(const char* eddsa_pub_base64);

/**
Sets application metadata.
Expand Down
2 changes: 1 addition & 1 deletion src/appcast.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ void XMLCALL OnStartElement(void *data, const char *name, const char **attrs)
item.ShortVersionString = value;
else if (strcmp(name, ATTR_DSASIGNATURE) == 0)
item.DsaSignature = value;
else if (strcmp(name, ATTR_EDSASIGNATURE) == 0)
else if (strcmp(name, ATTR_EDDSASIGNATURE) == 0)
item.EdDsaSignature = value;
else if (strcmp(name, ATTR_OS) == 0)
item.Os = value;
Expand Down
4 changes: 2 additions & 2 deletions src/dll_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,11 @@ WIN_SPARKLE_API int __cdecl win_sparkle_set_dsa_pub_pem(const char *dsa_pub_pem)
return 0;
}

WIN_SPARKLE_API int __cdecl win_sparkle_set_eddsa_pub_base64(const char* eddsa_pub)
WIN_SPARKLE_API int __cdecl win_sparkle_set_eddsa_pub_base64(const char* eddsa_pub_base64)
{
try
{
Settings::SetEdDSAPubKey(eddsa_pub);
Settings::SetEdDSAPubKey(eddsa_pub_base64);
return 1;
}
CATCH_ALL_EXCEPTIONS
Expand Down
6 changes: 3 additions & 3 deletions src/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -352,11 +352,11 @@ void Settings::SetDSAPubKeyPem(const std::string &pem)
ms_DSAPubKey = pem;
}

void Settings::SetEdDSAPubKey(const std::string& key)
void Settings::SetEdDSAPubKey(const std::string& pubkey_base64)
{
CriticalSectionLocker lock(ms_csVars);
SignatureVerifier::VerifyEdDSAPubKey(key);
ms_EdDSAPubKey = key;
SignatureVerifier::VerifyEdDSAPubKey(pubkey_base64);
ms_EdDSAPubKey = pubkey_base64;
}

} // namespace winsparkle
2 changes: 1 addition & 1 deletion src/settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ class Settings
//@}

/// Set PEM data and verify in contains valid EdDSA public key
static void SetEdDSAPubKey(const std::string& key);
static void SetEdDSAPubKey(const std::string& pubkey_base64);
//@}

/**
Expand Down
48 changes: 25 additions & 23 deletions src/signatureverifier.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -287,12 +287,6 @@ std::string Base64ToBin(const std::string &base64)
return bin;
}

std::vector<unsigned char> Base64ToUnsignedBin(const std::string& base64)
{
std::string bin = Base64ToBin(base64);
return std::vector<unsigned char>(bin.data(), bin.data() + bin.length() + 1);
}

} // anonynous

void SignatureVerifier::VerifyDSAPubKeyPem(const std::string &pem)
Expand All @@ -302,10 +296,12 @@ void SignatureVerifier::VerifyDSAPubKeyPem(const std::string &pem)
(void)dsa_pub;
}

void SignatureVerifier::VerifyEdDSAPubKey(const std::string& key)
void SignatureVerifier::VerifyEdDSAPubKey(const std::string& pubkey_base64)
{
// TODO: validate
(void)key;
const std::string pubkey = Base64ToBin(Settings::GetEdDSAPubKey());
if (pubkey.size() != 32) {
throw BadSignatureException("Invalid public key size.");
}
}

void SignatureVerifier::VerifyDSASHA1SignatureValid(const std::wstring &filename, const std::string &signature_base64)
Expand Down Expand Up @@ -333,31 +329,37 @@ void SignatureVerifier::VerifyDSASHA1SignatureValid(const std::wstring &filename
void SignatureVerifier::VerifyEdDSASignatureValid(const std::wstring& filename, const std::string& signature_base64)
{
if (signature_base64.size() == 0)
throw BadSignatureException("Missing DSA signature!");
throw BadSignatureException("Missing EdDSA signature!");

HANDLE payload;
payload = CreateFile(filename.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (payload == INVALID_HANDLE_VALUE) {
CFile payload = _wfopen(filename.c_str(), L"rb");
if (payload == nullptr) {
throw BadSignatureException("Could not open payload!");
}

DWORD size = GetFileSize(payload, NULL);
DWORD bytes_read = 0;
unsigned char *buffer = new unsigned char[size + 1];
if (FALSE == ReadFile(payload, buffer, size, &bytes_read, NULL)) {
std::vector<unsigned char> buffer;
buffer.resize(size);
size_t bytes_read = fread(buffer.data(), 1, size, payload);
if (bytes_read < size) {
throw BadSignatureException("Could not read payload!");
}
buffer[bytes_read] = '\0';
fclose(payload);

std::vector<unsigned char> signature = Base64ToUnsignedBin(signature_base64);
std::vector<unsigned char> key = Base64ToUnsignedBin(Settings::GetEdDSAPubKey());
const std::string signature = Base64ToBin(signature_base64);
if (signature.size() != 64) {
throw BadSignatureException("Invalid signature size.");
}

const std::string pubkey = Base64ToBin(Settings::GetEdDSAPubKey());
if (pubkey.size() != 32) {
throw BadSignatureException("Invalid public key size.");
}

int result = ed25519_verify(signature.data(),
buffer,
int result = ed25519_verify(reinterpret_cast<const unsigned char*>(signature.data()),
buffer.data(),
bytes_read,
key.data());
reinterpret_cast<const unsigned char*>(pubkey.data()));

delete[] buffer;
CloseHandle(payload);

if (result != 1)
Expand Down
2 changes: 1 addition & 1 deletion src/signatureverifier.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ class SignatureVerifier
static void VerifyDSAPubKeyPem(const std::string &pem);

// Throws an exception if pem is not a valid EdDSA public key in base64 format
static void VerifyEdDSAPubKey(const std::string& key);
static void VerifyEdDSAPubKey(const std::string& pubkey_base64);

// Verify DSA signature of SHA1 hash of the file. Equivalent to:
// openssl dgst -sha1 -binary < filename | openssl dgst -sha1 -verify dsa_pub.pem -signature signature.bin
Expand Down

0 comments on commit 7536370

Please sign in to comment.