Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .azure-pipelines/build-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,17 @@ parameters:
- name: arch
type: string
default: amd64
- name: image
type: string
default: publicmirror.azurecr.io/debian:bullseye

jobs:
- job:
displayName: Build-${{ parameters.arch }}
timeoutInMinutes: 600
pool: ${{ parameters.pool }}
container:
image: debian:bullseye
image: ${{ parameters.image }}
options: "--name ci-container -v /usr/bin/docker:/tmp/docker:ro"
steps:
- script: |
Expand Down Expand Up @@ -56,7 +59,7 @@ jobs:
submodules: true
- script: |
cd src/SymCrypt
git submodule update --init -- jitterentropy-library
git submodule update --init -- 3rdparty/jitterentropy-library
displayName: 'Checkout Symcrypt submodules'
- script: |
set -ex
Expand Down
5 changes: 5 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,8 @@ jobs:
parameters:
pool: sonicbld-arm64
arch: arm64
- template: .azure-pipelines/build-template.yml
parameters:
pool: sonicbld-armhf
arch: armhf
image: publicmirror.azurecr.io/azp-debian-armhf:bullseye
2 changes: 1 addition & 1 deletion rules/symcrypt-openssl.mk
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SYMCRYPT_OPENSSL

SYMCRYPT_OPENSSL_VERSION = 0.9
SYMCRYPT_OPENSSL_VERSION = 0.10
SYMCRYPT_OPENSSL = symcrypt-openssl_$(SYMCRYPT_OPENSSL_VERSION)_$(ARCH).deb
$(SYMCRYPT_OPENSSL)_SRC_PATH = $(SRC_PATH)/SymCrypt-OpenSSL-Debian
$(SYMCRYPT_OPENSSL)_MAKEFILE = Makefile
Expand Down
2 changes: 1 addition & 1 deletion src/SymCrypt
Submodule SymCrypt updated 300 files
2 changes: 1 addition & 1 deletion src/SymCrypt-OpenSSL
Submodule SymCrypt-OpenSSL updated 93 files
+4 −1 .gitignore
+0 −21 .vscode/settings.json
+19 −1 CMakeLists.txt
+28 −0 ScosslCommon/CMakeLists.txt
+145 −0 ScosslCommon/inc/scossl_aes_aead.h
+37 −0 ScosslCommon/inc/scossl_dh.h
+38 −0 ScosslCommon/inc/scossl_ecc.h
+69 −2 ScosslCommon/inc/scossl_helpers.h
+56 −0 ScosslCommon/inc/scossl_hkdf.h
+58 −0 ScosslCommon/inc/scossl_mac.h
+67 −0 ScosslCommon/inc/scossl_rsa.h
+36 −0 ScosslCommon/inc/scossl_sshkdf.h
+36 −0 ScosslCommon/inc/scossl_tls1prf.h
+748 −0 ScosslCommon/src/scossl_aes_aead.c
+502 −0 ScosslCommon/src/scossl_dh.c
+593 −0 ScosslCommon/src/scossl_ecc.c
+108 −8 ScosslCommon/src/scossl_helpers.c
+172 −0 ScosslCommon/src/scossl_hkdf.c
+319 −0 ScosslCommon/src/scossl_mac.c
+890 −0 ScosslCommon/src/scossl_rsa.c
+111 −0 ScosslCommon/src/scossl_sshkdf.c
+130 −0 ScosslCommon/src/scossl_tls1prf.c
+7 −0 SslPlay/CMakeLists.txt
+4 −4 SslPlay/SslPlay.cpp
+24 −20 SymCryptEngine/dynamic/CMakeLists.txt
+20 −0 SymCryptEngine/inc/e_scossl.h
+0 −28 SymCryptEngine/inc/scossl.h
+269 −0 SymCryptEngine/src/e_scossl.c
+867 −0 SymCryptEngine/src/e_scossl_ciphers.c
+4 −5 SymCryptEngine/src/e_scossl_ciphers.h
+61 −285 SymCryptEngine/src/e_scossl_dh.c
+7 −8 SymCryptEngine/src/e_scossl_dh.h
+493 −0 SymCryptEngine/src/e_scossl_digests.c
+6 −7 SymCryptEngine/src/e_scossl_digests.h
+6 −6 SymCryptEngine/src/e_scossl_dsa.c
+6 −7 SymCryptEngine/src/e_scossl_dsa.h
+54 −474 SymCryptEngine/src/e_scossl_ecc.c
+12 −13 SymCryptEngine/src/e_scossl_ecc.h
+255 −0 SymCryptEngine/src/e_scossl_hkdf.c
+7 −8 SymCryptEngine/src/e_scossl_hkdf.h
+158 −0 SymCryptEngine/src/e_scossl_hmac.c
+9 −10 SymCryptEngine/src/e_scossl_hmac.h
+82 −82 SymCryptEngine/src/e_scossl_pkey_meths.c
+4 −5 SymCryptEngine/src/e_scossl_pkey_meths.h
+14 −14 SymCryptEngine/src/e_scossl_rand.c
+2 −3 SymCryptEngine/src/e_scossl_rand.h
+529 −0 SymCryptEngine/src/e_scossl_rsa.c
+16 −21 SymCryptEngine/src/e_scossl_rsa.h
+151 −0 SymCryptEngine/src/e_scossl_rsapss.c
+3 −4 SymCryptEngine/src/e_scossl_rsapss.h
+38 −38 SymCryptEngine/src/e_scossl_sshkdf.c
+2 −3 SymCryptEngine/src/e_scossl_sshkdf.h
+100 −0 SymCryptEngine/src/e_scossl_tls1prf.c
+36 −0 SymCryptEngine/src/e_scossl_tls1prf.h
+0 −270 SymCryptEngine/src/scossl.c
+0 −1,540 SymCryptEngine/src/scossl_ciphers.c
+0 −493 SymCryptEngine/src/scossl_digests.c
+0 −347 SymCryptEngine/src/scossl_hkdf.c
+0 −311 SymCryptEngine/src/scossl_hmac.c
+0 −1,096 SymCryptEngine/src/scossl_rsa.c
+0 −350 SymCryptEngine/src/scossl_rsapss.c
+0 −171 SymCryptEngine/src/scossl_tls1prf.c
+0 −37 SymCryptEngine/src/scossl_tls1prf.h
+22 −19 SymCryptEngine/static/CMakeLists.txt
+67 −0 SymCryptProvider/CMakeLists.txt
+32 −0 SymCryptProvider/inc/p_scossl_base.h.in
+380 −0 SymCryptProvider/src/asymcipher/p_scossl_rsa_cipher.c
+596 −0 SymCryptProvider/src/ciphers/p_scossl_aes.c
+22 −0 SymCryptProvider/src/ciphers/p_scossl_aes.h
+569 −0 SymCryptProvider/src/ciphers/p_scossl_aes_aead.c
+282 −0 SymCryptProvider/src/ciphers/p_scossl_aes_xts.c
+354 −0 SymCryptProvider/src/kdf/p_scossl_hkdf.c
+320 −0 SymCryptProvider/src/kdf/p_scossl_sshkdf.c
+257 −0 SymCryptProvider/src/kdf/p_scossl_tls1prf.c
+503 −0 SymCryptProvider/src/keyexch/p_scossl_dh.c
+24 −0 SymCryptProvider/src/keyexch/p_scossl_dh.h
+167 −0 SymCryptProvider/src/keyexch/p_scossl_ecdh.c
+1,346 −0 SymCryptProvider/src/keymgmt/p_scossl_dh_keymgmt.c
+1,243 −0 SymCryptProvider/src/keymgmt/p_scossl_ecc_keymgmt.c
+165 −0 SymCryptProvider/src/keymgmt/p_scossl_ecc_keymgmt.h
+958 −0 SymCryptProvider/src/keymgmt/p_scossl_rsa_keymgmt.c
+143 −0 SymCryptProvider/src/mac/p_scossl_cmac.c
+162 −0 SymCryptProvider/src/mac/p_scossl_hmac.c
+339 −0 SymCryptProvider/src/mac/p_scossl_kmac.c
+435 −0 SymCryptProvider/src/p_scossl_base.c
+140 −0 SymCryptProvider/src/p_scossl_digests.c
+34 −0 SymCryptProvider/src/p_scossl_ecc.h
+142 −0 SymCryptProvider/src/p_scossl_rand.c
+58 −0 SymCryptProvider/src/p_scossl_rsa.c
+17 −0 SymCryptProvider/src/p_scossl_rsa.h
+414 −0 SymCryptProvider/src/signature/p_scossl_ecdsa_signature.c
+707 −0 SymCryptProvider/src/signature/p_scossl_rsa_signature.c
+28 −0 cmake-toolchain/LinuxUserMode-ARM.cmake
17 changes: 13 additions & 4 deletions src/SymCrypt-OpenSSL-Debian/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,20 @@ SYMCRYPT_PACKAGE = $(BUILD_NAME)_$(SYMCRYPT_OPENSSL_VERSION)_$(ARCH).deb
BUILD_ROOT_DIR = tmp/$(BUILD_NAME)

CMAKE_ARCH = AMD64
SYMCRYPT_USE_ASM = ON
LIB_INSTALL_NAME = x86_64-linux-gnu
ifeq ($(ARCH), arm64)
CMAKE_ARCH = ARM64
LIB_INSTALL_NAME = aarch64-linux-gnu
else ifeq ($(ARCH), armhf)
CMAKE_ARCH = ARMHF
LIB_INSTALL_NAME = arm-linux-gnueabihf
CMAKE_ARCH = ARM
LIB_INSTALL_NAME = arm-linux-gnueabihf
SYMCRYPT_USE_ASM = OFF
BUILD_JOBS = 1
endif

CMAKE_ARCH_LOWER = $(shell echo $(CMAKE_ARCH) | tr '[:upper:]' '[:lower:]')

INSTALL_PATH = $(BUILD_ROOT_DIR)/usr/lib/$(LIB_INSTALL_NAME)
ENGINES_PATH = $(INSTALL_PATH)/engines-1.1
DEBIAN_DIR = $(BUILD_ROOT_DIR)/DEBIAN
Expand All @@ -39,8 +44,12 @@ list:

$(LIBSYMCRYPT):
cd ../SymCrypt
cmake -S . -B bin -DSYMCRYPT_TARGET_ARCH=$(CMAKE_ARCH) -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
cmake --build bin -j$(BUILD_JOBS)
if [ "$(ARCH)" == "amd64" ] || [ "$(ARCH)" == "arm64" ]; then
cmake -S . -B bin -DSYMCRYPT_TARGET_ARCH=$(CMAKE_ARCH) -DCMAKE_BUILD_TYPE=$(CMAKE_BUILD_TYPE) -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
cmake --build bin -j$(BUILD_JOBS)
else
python3 scripts/build.py cmake --arch $(CMAKE_ARCH_LOWER) --config Release --toolchain cmake-configs/Toolchain-GCC-$(CMAKE_ARCH).cmake bin
fi
mkdir -p $(DEST)/debug
cp -a bin/module/generic/libsymcrypt.so* $(DEST)/
cp -a bin/module/generic/processing/libsymcrypt.so* $(DEST)/debug/
Expand Down