Skip to content

Commit

Permalink
Merge 97748d0 into 7b19c27
Browse files Browse the repository at this point in the history
  • Loading branch information
jimsch committed Apr 28, 2020
2 parents 7b19c27 + 97748d0 commit a949fb6
Show file tree
Hide file tree
Showing 33 changed files with 4,387 additions and 1,164 deletions.
8 changes: 6 additions & 2 deletions .appveyor.yml
@@ -1,7 +1,7 @@
platform:
- x64

image: Visual Studio 2017
image: Visual Studio 2019

configuration:
- Release
Expand All @@ -27,8 +27,12 @@ install:
- git clone --depth 1 git://github.com/cose-wg/Examples Examples

before_build:
- set PATH=c:\OpenSSL-v111-Win64\bin;%PATH%
- set OPENSSL_ROOT_DIR=c:\OpenSSL-v111-Win64
- cmake --version
- cmake -DCOSE_C_USE_CONTEXT=%USE_CONTEXT% -DCOSE_C_USE_MBEDTLS=%USE_EMBEDTLS% -DBUILD_SHARED_LIBS=OFF -G "Visual Studio 15 2017 Win64" .
- mkdir build
- cd build
- cmake -DCOSE_C_USE_CONTEXT=%USE_CONTEXT% -DCOSE_C_USE_MBEDTLS=%USE_EMBEDTLS% -DBUILD_SHARED_LIBS=OFF -G "Visual Studio 16 2019" ..

build_script:
- msbuild cose-c.sln
Expand Down
2 changes: 1 addition & 1 deletion .clang-format
Expand Up @@ -8,6 +8,6 @@ BreakBeforeBraces: Custom
BraceWrapping:
AfterFunction: true
BeforeCatch: false
BeforeElse: false
BeforeElse: true
AlignAfterOpenBracket: false
SortIncludes: false
37 changes: 25 additions & 12 deletions .github/workflows/main.yml
Expand Up @@ -14,12 +14,19 @@ jobs:
USE_CONTEXT: ["ON", "OFF"]
CMAKE_OPTIONS:
[
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_OPTIMIZE -DCOSE_C_INCLUDE_COUNTERSIGN=ON"
]

steps:
Expand Down Expand Up @@ -71,12 +78,18 @@ jobs:
USE_CONTEXT: ["ON", "OFF"]
CMAKE_OPTIONS:
[
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=OFF",
"-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=ON -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=ON -DCOSE_C_INCLUDE_SIGN1=OFF -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
"-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON",
]

steps:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -29,6 +29,7 @@
*.x86_64
*.hex
a.bat
clang-format.bat

# Debug files
*.dSYM/
Expand Down Expand Up @@ -59,6 +60,7 @@ build
*.VC.opendb
.vs
.vscode
CMakeSettings.json

# CMake and CTest directories
project_cn-cbor-prefix
Expand Down
6 changes: 3 additions & 3 deletions .travis.yml
Expand Up @@ -9,11 +9,11 @@ env:
OPENSSL_INSTALL_DIR="${HOME}/opt"
jobs:
- USE_CONTEXT=ON
COVERALLS="-DCOSE_C_COVERALLS_SEND=ON"
COVERALLS="-DCOSE_C_COVERALLS_SEND=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON"
- USE_CONTEXT=OFF
COVERALLS="-DCOSE_C_COVERALLS_SEND=ON"
COVERALLS="-DCOSE_C_COVERALLS_SEND=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON"
- USE_CONTEXT=OFF USE_EMBEDTLS=ON
COVERALLS="-DCOSE_C_COVERALLS_SEND=ON"
COVERALLS="-DCOSE_C_COVERALLS_SEND=ON -DCOSE_C_INCLUDE_COUNTERSIGN=ON"
- CMAKE_OPTIONS="-DCOSE_C_INCLUDE_ENCRYPT=ON -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF"
- CMAKE_OPTIONS="-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=ON -DCOSE_C_INCLUDE_MAC0=OFF -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF"
- CMAKE_OPTIONS="-DCOSE_C_INCLUDE_ENCRYPT=OFF -DCOSE_C_INCLUDE_ENCRYPT0=OFF -DCOSE_C_INCLUDE_MAC0=ON -DCOSE_C_INCLUDE_MAC=OFF -DCOSE_C_INCLUDE_SIGN=OFF -DCOSE_C_INCLUDE_SIGN1=OFF"
Expand Down
9 changes: 9 additions & 0 deletions CMakeLists.txt
Expand Up @@ -37,6 +37,7 @@ option(COSE_C_INCLUDE_MAC "Include COSE_MAC" ON)
option(COSE_C_INCLUDE_MAC0 "Include COSE_MAC0" ON)
option(COSE_C_INCLUDE_SIGN "Include COSE_SIGN" ON)
option(COSE_C_INCLUDE_SIGN1 "Include COSE_SIGN1" ON)
option(COSE_C_INCLUDE_COUNTERSIGN "Include COSE_COUNTERSIGN" OFF)

# Set the output of the libraries and executables.
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
Expand Down Expand Up @@ -82,6 +83,9 @@ endif()
if(NOT COSE_C_INCLUDE_SIGN1)
add_definitions(-DINCLUDE_SIGN1=0)
endif()
if (NOT COSE_C_INCLUDE_COUNTERSIGN)
add_definitions(-DINCLUDE_COUNTERSIGN=0)
endif()
if(COSE_C_USE_CONTEXT)
add_definitions(-DUSE_CBOR_CONTEXT)
endif()
Expand All @@ -93,6 +97,10 @@ if(versbose)
set(CMAKE_VERBOSE_MAKEFILE ON)
endif()

# Control the order of packages - get the latest not the first
SET(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)
SET(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC)

###############################################################################
# DOCS
###############################################################################
Expand Down Expand Up @@ -247,6 +255,7 @@ message(STATUS "COSE_C_INCLUDE_MAC:..............${COSE_C_INCLUDE_MAC}")
message(STATUS "COSE_C_INCLUDE_MAC0:.............${COSE_C_INCLUDE_MAC0}")
message(STATUS "COSE_C_INCLUDE_SIGN:.............${COSE_C_INCLUDE_SIGN}")
message(STATUS "COSE_C_INCLUDE_SIGN1:............${COSE_C_INCLUDE_SIGN1}")
message(STATUS "COSE_C_INCLUDE_COUNTERSIGN:......${COSE_C_INCLUDE_COUNTERSIGN}")
message(STATUS "COSE_C_USE_CONTEXT:..............${COSE_C_USE_CONTEXT}")
message(STATUS "COSE_C_FATAL_WARNINGS:...........${COSE_C_FATAL_WARNINGS}")
message(STATUS "COSE_C_BUILD_TESTS:..............${COSE_C_BUILD_TESTS}")
Expand Down
4 changes: 1 addition & 3 deletions dumper/dumper.c
Expand Up @@ -31,9 +31,7 @@ FOO Recipients;
extern FOO Signer[];

#ifdef USE_CBOR_CONTEXT
#define CBOR_CONTEXT_PARAM , NULL
#else
#define CBOR_CONTEXT_PARAM
void* context = NULL;
#endif

FOO AlgorithmMap[38] = {
Expand Down
96 changes: 91 additions & 5 deletions include/cose/cose.h
Expand Up @@ -20,6 +20,7 @@ typedef struct _cose_recipient* HCOSE_RECIPIENT;
typedef struct _cose_mac* HCOSE_MAC;
typedef struct _cose_mac0* HCOSE_MAC0;
typedef struct _cose_counterSignature* HCOSE_COUNTERSIGN;
typedef struct _cose_counterSignature1* HCOSE_COUNTERSIGN1;

/**
* All of the different kinds of errors
Expand Down Expand Up @@ -70,19 +71,20 @@ typedef enum {
COSE_encrypt_object = 16,
COSE_mac_object = 97,
COSE_mac0_object = 17,
COSE_recipient_object = -1
COSE_recipient_object = -1,
COSE_countersign_object = -2,
} COSE_object_type;

// Generic functions for the COSE library

HCOSE COSE_Decode(const byte* rgbData,
size_t cbData,
int* type,
int* ptype,
COSE_object_type struct_type,
CBOR_CONTEXT_COMMA cose_errback* perr); // Decode the object
size_t COSE_Encode(HCOSE msg, byte* rgb, size_t ib, size_t cb);

cn_cbor* COSE_get_cbor(HCOSE hmsg);
cn_cbor* COSE_get_cbor(HCOSE h);

// Functions for the signing object

Expand Down Expand Up @@ -538,7 +540,7 @@ bool COSE_Sign1_map_put_int(HCOSE_SIGN1 cose,
* Counter Signature Routines
*/

HCOSE_COUNTERSIGN COSE_CounterSign_Init(COSE_INIT_FLAGS flags,
HCOSE_COUNTERSIGN COSE_CounterSign_Init(
CBOR_CONTEXT_COMMA cose_errback* perr);
bool COSE_CounterSign_Free(HCOSE_COUNTERSIGN cose);

Expand All @@ -552,7 +554,91 @@ bool COSE_CounterSign_map_put_int(HCOSE_COUNTERSIGN cose,
int flags,
cose_errback* errp);

/*
bool COSE_CounterSign_SetExternal(HCOSE_COUNTERSIGN cose, const byte* pbExternalData, size_t cbExternalData, cose_errback* perr);
bool COSE_CounterSign_SetKey(HCOSE_COUNTERSIGN,
const cn_cbor* pkey,
cose_errback* perr);


HCOSE_COUNTERSIGN COSE_Signer_add_countersignature(HCOSE_SIGNER hSigner, HCOSE_COUNTERSIGN hCountersignature, cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Signer_get_countersignature(HCOSE_SIGNER hSigner,
int index,
cose_errback* perr);
bool COSE_Signer_CounterSign_validate(HCOSE_SIGNER hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

HCOSE_COUNTERSIGN COSE_Sign_add_countersignature(HCOSE_SIGN hSignMsg,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Sign_get_countersignature(HCOSE_SIGN hSignMsg,
int index,
cose_errback* perr);
bool COSE_Sign_CounterSign_validate(HCOSE_SIGN hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

HCOSE_COUNTERSIGN COSE_Sign1_add_countersignature(HCOSE_SIGN1 hSignMsg,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Sign1_get_countersignature(HCOSE_SIGN1 hSignMsg,
int index,
cose_errback* perr);
bool COSE_Sign1_CounterSign_validate(HCOSE_SIGN1 hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

HCOSE_COUNTERSIGN COSE_Encrypt0_add_countersignature(HCOSE_ENCRYPT hSignMsg,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Encrypt0_get_countersignature(HCOSE_ENCRYPT hSignMsg,
int index,
cose_errback* perr);
bool COSE_Encrypt0_CounterSign_validate(HCOSE_ENCRYPT hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

HCOSE_COUNTERSIGN COSE_Enveloped_add_countersignature(HCOSE_ENVELOPED hSignMsg,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Enveloped_get_countersignature(HCOSE_ENVELOPED hSignMsg,
int index,
cose_errback* perr);
bool COSE_Enveloped_CounterSign_validate(HCOSE_ENVELOPED hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

HCOSE_COUNTERSIGN COSE_Recipient_add_countersignature(HCOSE_RECIPIENT hSignMsg,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Recipient_get_countersignature(HCOSE_RECIPIENT hSignMsg,
int index,
cose_errback* perr);
bool COSE_Recipient_CounterSign_validate(HCOSE_RECIPIENT hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

HCOSE_COUNTERSIGN COSE_Mac0_add_countersignature(HCOSE_MAC0 hSignMsg,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Mac0_get_countersignature(HCOSE_MAC0 hSignMsg,
int index,
cose_errback* perr);
bool COSE_Mac0_CounterSign_validate(HCOSE_MAC0 hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

HCOSE_COUNTERSIGN COSE_Mac_add_countersignature(HCOSE_MAC hSignMsg,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);
HCOSE_COUNTERSIGN COSE_Mac_get_countersignature(HCOSE_MAC hSignMsg,
int index,
cose_errback* perr);
bool COSE_Mac_CounterSign_validate(HCOSE_MAC hSigner,
HCOSE_COUNTERSIGN hCountersignature,
cose_errback* perr);

/*
*/

cn_cbor* cn_cbor_clone(const cn_cbor* pIn,
Expand Down
13 changes: 9 additions & 4 deletions include/cose/cose_configure.h
Expand Up @@ -143,13 +143,12 @@
// Requires OPEN SSL 1.1.1 to build
#define USE_EDDSA
#else
#pragma message("OPENSSL VERSION IS ")
#pragma message(OPENSSL_VERISON_NUMBER)
#define STRINGIFY(x) #x
#define TOSTRING(x) STRINGIFY(x)
#pragma message("OPENSSL VERSION IS " OPENSSL_VERSION_TEXT)
#endif
#endif // !defined (USE_MBED_TLS)

//#define USE_COUNTER_SIGNATURES

//
// Define which COSE objects are included
//
Expand All @@ -172,3 +171,9 @@
#ifndef INCLUDE_SIGN1
#define INCLUDE_SIGN1 1
#endif
#ifndef INCLUDE_COUNTERSIGNATURE
#define INCLUDE_COUNTERSIGNATURE 1
#endif
#ifndef INCLUDE_COUNTERSIGNATURE1
#define INCLUDE_COUNTERSIGNATURE1 0
#endif
7 changes: 6 additions & 1 deletion src/CMakeLists.txt
Expand Up @@ -6,13 +6,16 @@ if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang")
endif()
if(COSE_C_OPTIMIZE)
add_definitions(-Os)
add_definitions(-DNDEBUG)
endif()
add_definitions(-DNDEBUG)
elseif(MSVC)
add_definitions(/W4)
if(COSE_C_FATAL_WARNINGS)
add_definitions(/WX)
endif()
if(COSE_C_OPTIMIZE)
add_definitions(-DNDEBUG)
endif()
else()
message(FATAL_ERROR "unhandled compiler id: ${CMAKE_C_COMPILER_ID}")
endif()
Expand All @@ -32,6 +35,8 @@ set(cose_sources
cose_int.h
crypto.h
Cose.c
CounterSign.c
CounterSign0.c
MacMessage.c
MacMessage0.c
Sign.c
Expand Down

0 comments on commit a949fb6

Please sign in to comment.