Commit 7170f4fa authored by YannGarcia's avatar YannGarcia

Merge branch 'STF525' of https://forge.etsi.org/gitlab/ITS/ITS into STF525

parents 50848da8 cb8cf8a4
......@@ -22,7 +22,6 @@
<preprocessorIncludes>
<listItem>./bin</listItem>
<listItem>./src/bin</listItem>
<listItem>./src/bin/asn1</listItem>
<listItem>C:\ProgramFiles\OpenSSL-Win64\include</listItem>
<listItem>C:\npcap-sdk-0.1\Include</listItem>
<listItem>/Users/yann/Documents/wireshark/cygwin64/usr/lib/gcc/x86_64-pc-cygwin/7.3.0/include/c++</listItem>
......@@ -30,8 +29,8 @@
<disableJSON>true</disableJSON>
<includeSourceInfo>true</includeSourceInfo>
<addSourceLineInfo>true</addSourceLineInfo>
<enableLegacyEncoding>true</enableLegacyEncoding>
<activateDebugger>true</activateDebugger>
<enableLegacyEncoding>true</enableLegacyEncoding>
<otherOptimizationFlags>-std=c++11</otherOptimizationFlags>
<additionalObjects>
<listItem>./src/bin/asn1/libItsAsn.so</listItem>
......
......@@ -4,7 +4,7 @@ for /f "delims=" %%i in ('docker images -q stfubuntu') do set STFUBUNTU=%%i
if "x%STFUBUNTU%"=="x" (
echo Build the stfubuntu:18.04 base on ubuntu:18.04
docker build --tag stfubuntu:18.04 -f Dockerfile.stfubuntu --force-rm .
if %ERRORLEVEL% NEQ 0 exit 1
if %ERRORLEVEL% NEQ 0 return 1
) else (
echo The stfubuntu:18.04 is already built. Skip this stage
)
......@@ -13,14 +13,14 @@ docker build --tag stf525_its --force-rm .
set RC=%ERRORLEVEL%
if %RC% NEQ 0 (
echo Docker build failed: %RC%
exit 1
return 1
)
docker images
docker inspect stf525_its:latest
set RC=%ERRORLEVEL%
if %RC% NEQ 0 (
echo Docker inspect failed: %RC%
exit 1
return 1
)
exit 0
return 0
......@@ -7,6 +7,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_its_security", "lib_its
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_its_security_tests_unit", "test\lib_its_security_tests_unit.vcxproj", "{5151573E-B7B3-44B4-BA0B-5410831C3D9D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "org_etsi_its_security", "org_etsi_its_security\org_etsi_its_security.vcxproj", "{B5C77DAC-BC05-426F-8E13-E60BD2732A02}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
......@@ -31,14 +33,14 @@ Global
{5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Release|x64.Build.0 = Release|x64
{5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Release|x86.ActiveCfg = Release|Win32
{5151573E-B7B3-44B4-BA0B-5410831C3D9D}.Release|x86.Build.0 = Release|Win32
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x64.ActiveCfg = Debug|x64
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x64.Build.0 = Debug|x64
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x86.ActiveCfg = Debug|Win32
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Debug|x86.Build.0 = Debug|Win32
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x64.ActiveCfg = Release|x64
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x64.Build.0 = Release|x64
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x86.ActiveCfg = Release|Win32
{A5E5C89A-7B89-443A-9972-E0145DBA3B7E}.Release|x86.Build.0 = Release|Win32
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Debug|x64.ActiveCfg = Debug|x64
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Debug|x64.Build.0 = Debug|x64
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Debug|x86.ActiveCfg = Debug|Win32
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Debug|x86.Build.0 = Debug|Win32
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Release|x64.ActiveCfg = Release|x64
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Release|x64.Build.0 = Release|x64
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Release|x86.ActiveCfg = Release|Win32
{B5C77DAC-BC05-426F-8E13-E60BD2732A02}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
......@@ -395,13 +395,13 @@ LIBITSSECURITY_API int32_t decrypt_with_ecies_brainpoolp256r1_with_sha256(
* \param[out] p_cipher_message_length The ciphered message length
* \return 0 on success, -1 otherwise
*/
LIBITSSECURITY_API int32_t encrypt_( // Conflict with unistd.h
lib_its_security_context_t* p_lib_its_security_context,
const uint8_t* p_plain_text_message,
const size_t p_plain_text_message_length,
uint8_t** p_cipher_message,
size_t* p_cipher_message_length
);
LIBITSSECURITY_API int32_t encrypt_( // Conflict with unistd.h
lib_its_security_context_t* p_lib_its_security_context,
const uint8_t* p_plain_text_message,
const size_t p_plain_text_message_length,
uint8_t** p_cipher_message,
size_t* p_cipher_message_length
);
/**
* \fn int32_t decrypt(lib_its_security_context_t* p_lib_its_security_context, const uint8_t* p_cipher_message, const size_t p_cipher_message_length, uint8_t** p_plain_text_message, size_t* p_plain_text_message_length);
......
......@@ -88,10 +88,10 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;LIBITSSECURITY_EXPORTS;_WINDOWS;_USRDLL;_Win64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_Win64;_DEBUG;LIBITSSECURITY_EXPORTS;_WINDOWS;_USRDLL;_Win64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>C:\Program Files\OpenSSL-Win64\include</AdditionalIncludeDirectories>
......@@ -159,6 +159,9 @@
<AdditionalLibraryDirectories>C:\Program Files\OpenSSL-Win64\lib\VC</AdditionalLibraryDirectories>
<AdditionalDependencies>libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>cp "$(TargetPath)" "$(MSBuildProjectDirectory)\..\..\..\javasrc\nativeLibs\win32\x86_64"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="lib_its_security.h" />
......
PROJECTROOT = ..
BUILDROOT = ../../build
PROJECT = org_etsi_its_security
DEBUG = yes
testdir =
alibs = $(PROJECT)
solibs = $(PROJECT)
sources := org_etsi_its_security_NativeSecurity.c
sources-WIN32 :=
headers := org_etsi_its_security_NativeSecurity.h
cflags += -Werror
packages += openssl
includes += ../../lib_its_security /usr/lib/jvm/java-11-openjdk-amd64/include /usr/lib/jvm/java-11-openjdk-amd64/include/linux
libs += $(outdir)/libItsSecurity.a
include ../../common.mk
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectGuid>{B5C77DAC-BC05-426F-8E13-E60BD2732A02}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>orgetsiitssecurity</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v142</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<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 Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<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|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_Win64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>
</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>C:\Program Files\OpenSSL-Win64\include;C:\Program Files\Java\jdk1.8.0_241\include;C:\Program Files\Java\jdk1.8.0_241\include\win32;$(ProjectDir)../lib_its_security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalLibraryDirectories>$(ProjectDir)..\x64\Release;C:\Program Files\OpenSSL-Win64\lib\VC</AdditionalLibraryDirectories>
<AdditionalDependencies>lib_its_security.lib;libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PostBuildEvent>
<Command>cp "$(TargetPath)" "$(MSBuildProjectDirectory)\..\..\..\javasrc\nativeLibs\win32\x86_64"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_Win64;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>C:\Program Files\OpenSSL-Win64\include;C:\Program Files\Java\jdk1.8.0_241\include;C:\Program Files\Java\jdk1.8.0_241\include\win32;$(ProjectDir)../lib_its_security;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>lib_its_security.lib;libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Lib>
<AdditionalLibraryDirectories>$(ProjectDir)..\x64\Debug;C:\Program Files\OpenSSL-Win64\lib\VC</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="org_etsi_its_security_NativeSecurity.c" />
<ClCompile Include="org_etsi_its_security_NativeSecurity.h">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>
\ No newline at end of file
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class org_etsi_its_security_NativeSecurity */
#ifndef _Included_org_etsi_its_security_NativeSecurity
#define _Included_org_etsi_its_security_NativeSecurity
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: hashWithSha256
* Signature: ([B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_hashWithSha256
(JNIEnv*, jobject, jbyteArray);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: hashWithSha384
* Signature: ([B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_hashWithSha384
(JNIEnv*, jobject, jbyteArray);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: hmacWithSha256
* Signature: ([B[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_hmacWithSha256
(JNIEnv*, jobject, jbyteArray, jbyteArray);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: signWithEcdsaNistp256WithSha256
* Signature: ([B[B[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_signWithEcdsaNistp256WithSha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: signWithEcdsaBrainpoolp256r1WithSha256
* Signature: ([B[B[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_signWithEcdsaBrainpoolp256r1WithSha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: signWithEcdsaBrainpoolp384r1WithSha384
* Signature: ([B[B[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_signWithEcdsaBrainpoolp384r1WithSha384
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: verifyWithEcdsaNistp256WithSha256
* Signature: ([B[B[B[BI)I
*/
JNIEXPORT jint JNICALL Java_org_etsi_its_security_NativeSecurity_verifyWithEcdsaNistp256WithSha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jint);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: verifyWithEcdsaBrainpoolp256r1WithSha256
* Signature: ([B[B[B[BI)I
*/
JNIEXPORT jint JNICALL Java_org_etsi_its_security_NativeSecurity_verifyWithEcdsaBrainpoolp256r1WithSha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jint);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: verifyWithEcdsaBrainpoolp384r1WithSha384
* Signature: ([B[B[B[BI)I
*/
JNIEXPORT jint JNICALL Java_org_etsi_its_security_NativeSecurity_verifyWithEcdsaBrainpoolp384r1WithSha384
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jint);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: generate_key_pair
* Signature: (ILjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
*/
JNIEXPORT jint JNICALL Java_org_etsi_its_security_NativeSecurity_generate_1key_1pair
(JNIEnv*, jobject, jint, jobject, jobject, jobject, jobject);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: encrypt_with_ecies_nistp256_with_sha256
* Signature: ([B[B[BLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_encrypt_1with_1ecies_1nistp256_1with_1sha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray, jobject, jobject, jobject, jobject, jobject);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: encrypt_with_ecies_brainpoolp256r1_with_sha256
* Signature: ([B[B[BLjava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_encrypt_1with_1ecies_1brainpoolp256r1_1with_1sha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray, jobject, jobject, jobject, jobject, jobject);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: decrypt_with_ecies_nistp256_with_sha256
* Signature: ([B[B[B[B[B[B[BLjava/nio/ByteBuffer;)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_decrypt_1with_1ecies_1nistp256_1with_1sha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jobject);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: decrypt_with_ecies_brainpoolp256r1_with_sha256
* Signature: ([B[B[B[B[B[B[BLjava/nio/ByteBuffer;)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_decrypt_1with_1ecies_1brainpoolp256r1_1with_1sha256
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jbyteArray, jobject);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: encrypt_aes_128_ccm_test
* Signature: ([B[B[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_encrypt_1aes_1128_1ccm_1test
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray);
/*
* Class: org_etsi_its_security_NativeSecurity
* Method: decrypt_aes_128_ccm_test
* Signature: ([B[B[B)[B
*/
JNIEXPORT jbyteArray JNICALL Java_org_etsi_its_security_NativeSecurity_decrypt_1aes_1128_1ccm_1test
(JNIEnv*, jobject, jbyteArray, jbyteArray, jbyteArray);
#ifdef __cplusplus
}
#endif
#endif
......@@ -65,7 +65,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_Win64;X64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
......@@ -77,7 +77,7 @@
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<AdditionalLibraryDirectories>C:\Users\yanng\source\repos\TestOpenSSL\x64\Debug;C:\Program Files\OpenSSL-Win64\lib\VC</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>$(ProjectDir)..\x64\Debug;C:\Program Files\OpenSSL-Win64\lib\VC</AdditionalLibraryDirectories>
<AdditionalDependencies>lib_its_security.lib;libcrypto64MDd.lib;libssl64MDd.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
</Link>
......
......@@ -640,6 +640,34 @@ TEST(lib_its_security_test_suite, sign_with_ecdsa_brainpoolp256r1_with_sha256_4)
EXPECT_TRUE(lib_its_security_context == NULL);
}
TEST(lib_its_security_test_suite, sign_with_ecdsa_brainpoolp256r1_with_sha256_5) {
// Preamble
lib_its_security_context_t* lib_its_security_context = NULL;
size_t l;
uint8_t* public_key_compressed = hex_to_bin((const int8_t*)"45dc4fbf42910e1843bc33ed5752e3781fa84432af6d77c3f35bc105e8493842", &l);
ecc_compressed_mode_t public_key_compressed_mode = compressed_y_0;
EXPECT_TRUE(initialize_with_public_key(brainpool_p_256_r1, public_key_compressed, public_key_compressed_mode, &lib_its_security_context) == 0);
// Test body
size_t data_length;
uint8_t* data = hex_to_bin((const int8_t*)"40038081CD018140B35BB1620425E515B0AE24C8183B64FF008003008062C042D452D16EBA70812431356433396237342D653232372D346431322D383039622D36313033373631623235393000000000001E80314F8400788301028000FA80017C0001018002026F81030201C080808369D872E470EC6CFB9483834DAF3BA42430ED455308382F8893C94195F31125528180256EF768A3101619D9D67071B20CE3339EFEA006FBD11CEDE0406BE63E0F947B54D4BDE21CB10580CB8D3119F6152FD0C48E07A95CB26A72746EE3B62600B27F4002026F0001D16790C0B1BD", &data_length);
uint8_t* issuer = hex_to_bin((const int8_t*)"89bab7dea15bdaf3ff0357d952760a25735dd9816941bf6562c042d452d16eba", &l);
uint8_t* sig = hex_to_bin((const int8_t*)"03F5D9B6C73AE57FE2372F0F9580349A474AF3CE30CE986E7DFDEF8E87BA309B45677D03B713594E0C731B3C680A87631A9E23993678B2268E1715B8EB5E07CF", &l);
EXPECT_TRUE(verify_with_ecdsa_brainpoolp256r1_with_sha256(lib_its_security_context, data, data_length, issuer, sig, public_key_compressed, public_key_compressed_mode) == 0);
free(data);
data = hex_to_bin((const int8_t*)"018140917e149bda9bb458c5ae3d48757c41b3008003008062c042d452d16eba70812436393761346436332d366666342d343234642d613664342d38333738653034306234316200000000001e8113df8400788301028000fa80017c0001018002026f81030201c08080839f4d40e1aa679757aad00885fdf365b4b9764d51e5f4cbba38765813fddc6f8d8180934615ee798ccc3786dc0a8b305ddc04cc7641acf1c52fce051ebf7a5266e9fb490f723920145aa9a014231948b01ba5227f8adda0e5c912376930330a09c1944002026f0001d17511c52f26", &data_length);
EXPECT_TRUE(verify_with_ecdsa_brainpoolp256r1_with_sha256(lib_its_security_context, data, data_length, issuer, sig, public_key_compressed, public_key_compressed_mode) == -1);
// Postamble
free(data);
free(issuer);
free(sig);
free(public_key_compressed);
EXPECT_TRUE(lib_its_security_context->ec_key != NULL);
EXPECT_TRUE(uninitialize(&lib_its_security_context) == 0);
EXPECT_TRUE(lib_its_security_context == NULL);
}
TEST(lib_its_security_test_suite, sign_with_ecdsa_brainpoolp384r1_with_sha384_1) {
// Preamble
lib_its_security_context_t* lib_its_security_context = NULL;
......
......@@ -302,6 +302,7 @@ module ItsGenCert_Functions {
p_certificate_details_list[v_counter].public_key_compressed,
p_certificate_details_list[v_counter].public_key_compressed_mode,
p_certificate_details_list[v_counter].hash,
p_certificate_details_list[v_counter].hash_256,
p_certificate_details_list[v_counter].hashid8,
p_certificate_details_list[v_counter].issuer,
p_certificate_details_list[v_counter].private_enc_key,
......@@ -319,6 +320,7 @@ module ItsGenCert_Functions {
p_certificate_details_list[v_counter].public_key_compressed,
p_certificate_details_list[v_counter].public_key_compressed_mode,
p_certificate_details_list[v_counter].hash,
p_certificate_details_list[v_counter].hash_256,
p_certificate_details_list[v_counter].hashid8,
p_certificate_details_list[v_counter].issuer,
omit,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment