From c7fca4b999d9928bb50ea99c4524da1058d232bf Mon Sep 17 00:00:00 2001 From: sigabrtz <56683297+sigabrtz@users.noreply.github.com> Date: Wed, 10 May 2023 09:38:09 +0200 Subject: [PATCH] Update OpenSSL to 3.1.0 (#2) --- Config/ios-conf.patch | 2 +- OpenSSL-Swift.xcodeproj/project.pbxproj | 2 - Sources/COpenSSL/define_wrapper.h | 3 ++ Sources/OpenSSL/EC/ECPrivateKey.swift | 39 ++++---------- Sources/OpenSSL/EC/ECPublicKey.swift | 51 ++++++++++++------- Tests/OpenSSLTests/EC/ECPublicKeyTests.swift | 2 - .../BrainpoolP256r1ExtECDSATests.swift | 8 +-- scripts/install_openssl | 4 +- 8 files changed, 52 insertions(+), 59 deletions(-) diff --git a/Config/ios-conf.patch b/Config/ios-conf.patch index 48db51e..9d79e97 100644 --- a/Config/ios-conf.patch +++ b/Config/ios-conf.patch @@ -1,4 +1,4 @@ -1686a1687,1710 +1685a1686,1709 > "ios64sim-cross" => { > inherit_from => [ "ios-common" ], > cflags => add("-arch x86_64 -DOPENSSL_NO_ASM -mios-version-min=7.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common"), diff --git a/OpenSSL-Swift.xcodeproj/project.pbxproj b/OpenSSL-Swift.xcodeproj/project.pbxproj index b25ecab..af24140 100644 --- a/OpenSSL-Swift.xcodeproj/project.pbxproj +++ b/OpenSSL-Swift.xcodeproj/project.pbxproj @@ -23,7 +23,6 @@ 23DAAA992A04E91D0054E840 /* define_wrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 23DAAA942A04E91D0054E840 /* define_wrapper.h */; }; 23DAAA9A2A04E91D0054E840 /* shim.h in Headers */ = {isa = PBXBuildFile; fileRef = 23DAAA952A04E91D0054E840 /* shim.h */; }; 23DAAA9B2A04E91E0054E840 /* shim.h in Headers */ = {isa = PBXBuildFile; fileRef = 23DAAA952A04E91D0054E840 /* shim.h */; }; - 23DAAA9C2A04E9920054E840 /* define_wrapper.c in Headers */ = {isa = PBXBuildFile; fileRef = 23DAAA932A04E91D0054E840 /* define_wrapper.c */; settings = {ATTRIBUTES = (Public, ); }; }; 2B15C0D566F9A5C3FB46E0AF /* Hash.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07D761C86A6012F4608C229C /* Hash.swift */; }; 2BA6A8EF5D2D347FBBB34064 /* BrainpoolP256r1.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A0A01DA7E3E8F1A1A85BA13 /* BrainpoolP256r1.swift */; }; 34E35163B5A684A122AB9B20 /* BrainpoolP256r1KeyGenerationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C801E4919888D317525BE2A7 /* BrainpoolP256r1KeyGenerationTests.swift */; }; @@ -498,7 +497,6 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 23DAAA9C2A04E9920054E840 /* define_wrapper.c in Headers */, 23DAAA9A2A04E91D0054E840 /* shim.h in Headers */, 23DAAA982A04E91D0054E840 /* define_wrapper.h in Headers */, ); diff --git a/Sources/COpenSSL/define_wrapper.h b/Sources/COpenSSL/define_wrapper.h index cce5098..c71b354 100644 --- a/Sources/COpenSSL/define_wrapper.h +++ b/Sources/COpenSSL/define_wrapper.h @@ -7,6 +7,9 @@ static const int EVP_PKEY_KEYPAIR_W = EVP_PKEY_KEYPAIR; static const int EVP_PKEY_PUBLIC_KEY_W = EVP_PKEY_PUBLIC_KEY; static const char* OSSL_PKEY_PARAM_GROUP_NAME_W = OSSL_PKEY_PARAM_GROUP_NAME; +static const char* OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT_W = OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT; +static const char* OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_COMPRESSED_W = OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_COMPRESSED; +static const char* OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_UNCOMPRESSED_W = OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_UNCOMPRESSED; static const char* OSSL_PKEY_PARAM_PUB_KEY_W = OSSL_PKEY_PARAM_PUB_KEY; static const char* OSSL_PKEY_PARAM_PRIV_KEY_W = OSSL_PKEY_PARAM_PRIV_KEY; static const char* EVP_PKEY_CTX_NAME_EC = "EC"; // no constant defined diff --git a/Sources/OpenSSL/EC/ECPrivateKey.swift b/Sources/OpenSSL/EC/ECPrivateKey.swift index af99505..920118e 100644 --- a/Sources/OpenSSL/EC/ECPrivateKey.swift +++ b/Sources/OpenSSL/EC/ECPrivateKey.swift @@ -71,12 +71,15 @@ final class ECPrivateKeyImpl: ECPrivateKey { throw OpenSSLError(name: "Could not generate key pair.") } self.pkey = pkey + + var buffer: UnsafeMutablePointer? + let size = i2d_PublicKey(pkey, &buffer) + guard size > 0, let safeBuffer = buffer else { + throw OpenSSLError(name: "Unable to retrieve public key data") + } + let pubKeyData = Data(bytesNoCopy: safeBuffer, count: Int(size), deallocator: .free) - // create the associated public key from (generated) pkey w/o the private key data portion - let dup = EVP_PKEY_dup(pkey) - defer { EVP_PKEY_free(dup) } - let pubKeyCompactData = try publicKeyCompactDataFromEvpPkey(dup) - associatedPublicKey = try ECPublicKeyImpl(compact: pubKeyCompactData) + associatedPublicKey = try ECPublicKeyImpl(x962: pubKeyData) } /// Initialize a private key (key pair) from data. @@ -152,7 +155,7 @@ final class ECPrivateKeyImpl: ECPrivateKey { EVP_PKEY_private_check(validationContext) > 0, EVP_PKEY_pairwise_check(validationContext) > 0 else { - throw OpenSSLError(name: "Error when validating the components of the key (bad data?)") + throw OpenSSLError(name: "Error when validating the components of the ECPrivateKey (bad data?)") } self.pkey = pkey @@ -284,27 +287,3 @@ extension ECPrivateKeyImpl: DiffieHellman { } extension ECPrivateKeyImpl: DigestSigner {} - -func publicKeyCompactDataFromEvpPkey(_ pkey: OpaquePointer?) throws -> Data { - // - NOTE: Unexpectedly, the output format of EVP_PKEY_todata() is POINT_CONVERSION_COMPRESSED(!) for the pub key - // and the following implementation for now relies on that fact (that might be subject to change soon). - // see: https://github.com/openssl/openssl/issues/16595 and - // https://github.com/openssl/openssl/pull/16624 - var osslParamsToData: UnsafeMutablePointer? - defer { OSSL_PARAM_free(osslParamsToData) } - guard EVP_PKEY_todata(pkey, EVP_PKEY_PUBLIC_KEY_W, &osslParamsToData) == 1 else { - throw OpenSSLError(name: "Unable to retrieve public key data") - } - - let pubParam = OSSL_PARAM_locate(osslParamsToData, OSSL_PKEY_PARAM_PUB_KEY_W) - var pubBuffer: UnsafeRawPointer? - var size = 0 - guard - OSSL_PARAM_get_octet_string_ptr(pubParam, &pubBuffer, &size) == 1, - size > 0, - let safeBuffer = pubBuffer - else { - throw OpenSSLError(name: "Unable to retrieve public key data") - } - return Data(bytes: safeBuffer, count: size) -} diff --git a/Sources/OpenSSL/EC/ECPublicKey.swift b/Sources/OpenSSL/EC/ECPublicKey.swift index 7fcf87b..2bf94ce 100644 --- a/Sources/OpenSSL/EC/ECPublicKey.swift +++ b/Sources/OpenSSL/EC/ECPublicKey.swift @@ -58,27 +58,48 @@ final class ECPublicKeyImpl: ECPublicKey { /// /// - Parameter data: Data encoding the public key /// - Throws: OpenSSLError - init(data: Data) throws { + convenience init(data: Data) throws { + try self.init(data: data, pointFormatUncompressed: true) + } + + // swiftlint:disable:next function_body_length + private init(data: Data, pointFormatUncompressed: Bool = true) throws { var pkey = EVP_PKEY_new() // set up OSSL_PARAMs let osslParamBuilder = OSSL_PARAM_BLD_new() defer { OSSL_PARAM_BLD_free(osslParamBuilder) } - guard - OSSL_PARAM_BLD_push_utf8_string(osslParamBuilder, OSSL_PKEY_PARAM_GROUP_NAME_W, Curve.name.asCChar, 0) == 1 + guard OSSL_PARAM_BLD_push_utf8_string( + osslParamBuilder, + OSSL_PKEY_PARAM_GROUP_NAME_W, + Curve.name.asCChar, + 0 + ) == 1 + else { + throw OpenSSLError(name: "Error setting up OSSL_PARAM") + } + + let pointFormat = pointFormatUncompressed ? + OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_UNCOMPRESSED_W : OSSL_PKEY_EC_POINT_CONVERSION_FORMAT_COMPRESSED_W + + guard OSSL_PARAM_BLD_push_utf8_string( + osslParamBuilder, + OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT_W, + pointFormat, + 0 + ) == 1 else { throw OpenSSLError(name: "Error setting up OSSL_PARAM") } try data.withUnsafeBytes { buffer in - guard - let bufferPointer = buffer.bindMemory(to: UInt8.self).baseAddress, - OSSL_PARAM_BLD_push_octet_string( - osslParamBuilder, - OSSL_PKEY_PARAM_PUB_KEY_W, - bufferPointer, - buffer.count - ) == 1 + guard let bufferPointer = buffer.bindMemory(to: UInt8.self).baseAddress, + OSSL_PARAM_BLD_push_octet_string( + osslParamBuilder, + OSSL_PKEY_PARAM_PUB_KEY_W, + bufferPointer, + buffer.count + ) == 1 else { throw OpenSSLError(name: "Error setting up OSSL_PARAM") } @@ -136,10 +157,6 @@ final class ECPublicKeyImpl: ECPublicKey { EVP_PKEY_free(pkey) } - // - NOTE: Unexpectedly, the output format of EVP_PKEY_todata() is POINT_CONVERSION_COMPRESSED(!) for the pub key - // and therefore cannot be used here. Work around for now is the usage of i2d_PublicKey(). - // see: https://github.com/openssl/openssl/issues/16595 and - // https://github.com/openssl/openssl/pull/16624 func rawValue() throws -> Data { var buffer: UnsafeMutablePointer? let size = i2d_PublicKey(pkey, &buffer) @@ -154,9 +171,7 @@ final class ECPublicKeyImpl: ECPublicKey { } func compactValue() throws -> Data { - let dup = EVP_PKEY_dup(pkey) - defer { EVP_PKEY_free(dup) } - return try publicKeyCompactDataFromEvpPkey(dup) + try Self(data: rawValue(), pointFormatUncompressed: false).rawValue() } } diff --git a/Tests/OpenSSLTests/EC/ECPublicKeyTests.swift b/Tests/OpenSSLTests/EC/ECPublicKeyTests.swift index 963519b..a8a7e37 100644 --- a/Tests/OpenSSLTests/EC/ECPublicKeyTests.swift +++ b/Tests/OpenSSLTests/EC/ECPublicKeyTests.swift @@ -33,7 +33,6 @@ final class ECPublicKeyTests: XCTestCase { // then XCTAssertNotNil(sut) XCTAssertEqual(try sut.rawValue(), pubKeyX962) - XCTAssertEqual(try sut.rawValue(), pubKeyX962) let expectedCompactKey = try Data(hex: "038634212830DAD457CA05305E6687134166B9C21A65FFEBF555F4E75DFB048888") XCTAssertEqual(try sut.compactValue(), expectedCompactKey) @@ -55,7 +54,6 @@ final class ECPublicKeyTests: XCTestCase { hex: "048634212830DAD457CA05305E6687134166B9C21A65FFEBF555F4E75DFB04888866E4B6843624CBDA43C97EA89968BC41FD53576F82C03EFA7D601B9FACAC2B29" // swiftlint:disable:this line_length ) XCTAssertEqual(try sut.rawValue(), expectedPubKeyX962) - XCTAssertEqual(try sut.rawValue(), expectedPubKeyX962) } func testBrainpoolP256r1_ThrowsInitEmpty() throws { diff --git a/Tests/OpenSSLTests/Signature/BrainpoolP256r1ExtECDSATests.swift b/Tests/OpenSSLTests/Signature/BrainpoolP256r1ExtECDSATests.swift index d419bc4..37ebe67 100644 --- a/Tests/OpenSSLTests/Signature/BrainpoolP256r1ExtECDSATests.swift +++ b/Tests/OpenSSLTests/Signature/BrainpoolP256r1ExtECDSATests.swift @@ -22,13 +22,13 @@ import Foundation import XCTest final class BrainpoolP256r1ExtECDSATests: XCTestCase { - func testVerifyBP256r1Signature() { + func testVerifyBP256r1Signature() throws { // swiftlint:disable line_length let pubkeyraw = try! Data( hex: "049650ac6d4d5b1201de4cffe99db3a2396426a377bc95d9dc466727a2574d7c39643159e578f05a6b607e89afdd5395eeacc8e72714489cac3160c4bb79aa45c6" ) - let pubKey = try! BrainpoolP256r1.Verify.PublicKey(x962: pubkeyraw) + let pubKey = try BrainpoolP256r1.Verify.PublicKey(x962: pubkeyraw) let message = "eyJhbGciOiJCUDI1NlIxIiwieDVjIjpbIk1JSUNzVENDQWxpZ0F3SUJBZ0lIQTYxSTVBQ1VqVEFLQmdncWhrak9QUVFEQWpDQmhERUxNQWtHQTFVRUJoTUNSRVV4SHpBZEJnTlZCQW9NRm1kbGJXRjBhV3NnUjIxaVNDQk9UMVF0VmtGTVNVUXhNakF3QmdOVkJBc01LVXR2YlhCdmJtVnVkR1Z1TFVOQklHUmxjaUJVWld4bGJXRjBhV3RwYm1aeVlYTjBjblZyZEhWeU1TQXdIZ1lEVlFRRERCZEhSVTB1UzA5TlVDMURRVEV3SUZSRlUxUXRUMDVNV1RBZUZ3MHlNREE0TURRd01EQXdNREJhRncweU5UQTRNRFF5TXpVNU5UbGFNRWt4Q3pBSkJnTlZCQVlUQWtSRk1TWXdKQVlEVlFRS0RCMW5aVzFoZEdscklGUkZVMVF0VDA1TVdTQXRJRTVQVkMxV1FVeEpSREVTTUJBR0ExVUVBd3dKU1VSUUlGTnBaeUF4TUZvd0ZBWUhLb1pJemowQ0FRWUpLeVFEQXdJSUFRRUhBMElBQkpaUXJHMU5XeElCM2t6LzZaMnpvamxrSnFOM3ZKWFozRVpuSjZKWFRYdzVaREZaNVhqd1dtdGdmb212M1ZPVjdxekk1eWNVU0p5c01XREV1M21xUmNhamdlMHdnZW93SFFZRFZSME9CQllFRko4RFZMQVpXVCtCbG9qVEQ0TVQvTmErRVM4WU1EZ0dDQ3NHQVFVRkJ3RUJCQ3d3S2pBb0JnZ3JCZ0VGQlFjd0FZWWNhSFIwY0RvdkwyVm9ZMkV1WjJWdFlYUnBheTVrWlM5dlkzTndMekFNQmdOVkhSTUJBZjhFQWpBQU1DRUdBMVVkSUFRYU1CZ3dDZ1lJS29JVUFFd0VnVXN3Q2dZSUtvSVVBRXdFZ1NNd0h3WURWUjBqQkJnd0ZvQVVLUEQ0NXFuSWQ4eERSZHVhcnRjNmc2d09ENmd3TFFZRkt5UUlBd01FSkRBaU1DQXdIakFjTUJvd0RBd0tTVVJRTFVScFpXNXpkREFLQmdncWdoUUFUQVNDQkRBT0JnTlZIUThCQWY4RUJBTUNCNEF3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnVkJQaEF3eVg4SEFWSDBPMGIzK1ZhenBCQVdrUU5qa0VWUmt2K0VZWDFlOENJRmRuNE8rbml2TStYVmk5eGlLSzRkVzFSN01EMzM0T3BPUFRGamVFaElWViJdfQ.eyJhdXRob3JpemF0aW9uX2VuZHBvaW50IjoiaHR0cDovL2dzdG9wZGgyLnRvcC5sb2NhbDo4NTgwL2F1dGhvcml6YXRpb24iLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC90b2tlbiIsImlzc3VlciI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC9hdXRoL3JlYWxtcy9pZHAiLCJqd2tzX3VyaSI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC9qd2tzIiwicHVrX3VyaV9hdXRoIjoiaHR0cDovL2dzdG9wZGgyLnRvcC5sb2NhbDo4NTgwL2F1dGhLZXkvandrcy5qc29uIiwicHVrX3VyaV90b2tlbiI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC90b2tlbktleS9qd2tzLmpzb24iLCJwdWtfdXJpX2Rpc2MiOiJodHRwOi8vZ3N0b3BkaDIudG9wLmxvY2FsOjg1ODAvZGlzY0tleS9qd2tzLmpzb24iLCJzdWJqZWN0X3R5cGVzX3N1cHBvcnRlZCI6WyJwYWlyd2lzZSJdLCJpZF90b2tlbl9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkJQMjU2UjEiXSwicmVzcG9uc2VfdHlwZXNfc3VwcG9ydGVkIjpbImNvZGUiXSwic2NvcGVzX3N1cHBvcnRlZCI6WyJvcGVuaWQiLCJlLXJlemVwdCJdLCJyZXNwb25zZV9tb2Rlc19zdXBwb3J0ZWQiOlsicXVlcnkiXSwiZ3JhbnRfdHlwZXNfc3VwcG9ydGVkIjpbImF1dGhvcml6YXRpb25fY29kZSJdLCJhY3JfdmFsdWVzX3N1cHBvcnRlZCI6WyJ1cm46ZWlkYXM6bG9hOmhpZ2giXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJub25lIl19" @@ -62,8 +62,8 @@ final class BrainpoolP256r1ExtECDSATests: XCTestCase { XCTAssertFalse(try pubKey.verify(signature: signature, message: "wrong message".data(using: .utf8)!)) } - func testSignBP256r1() { - let key = try! BrainpoolP256r1.Verify.PrivateKey.generateKey() + func testSignBP256r1() throws { + let key = try BrainpoolP256r1.Verify.PrivateKey.generateKey() let message = "eyJhbGciOiJCUDI1NlIxIiwieDVjIjpbIk1JSUNzVENDQWxpZ0F3SUJBZ0lIQTYxSTVBQ1VqVEFLQmdncWhrak9QUVFEQWpDQmhERUxNQWtHQTFVRUJoTUNSRVV4SHpBZEJnTlZCQW9NRm1kbGJXRjBhV3NnUjIxaVNDQk9UMVF0VmtGTVNVUXhNakF3QmdOVkJBc01LVXR2YlhCdmJtVnVkR1Z1TFVOQklHUmxjaUJVWld4bGJXRjBhV3RwYm1aeVlYTjBjblZyZEhWeU1TQXdIZ1lEVlFRRERCZEhSVTB1UzA5TlVDMURRVEV3SUZSRlUxUXRUMDVNV1RBZUZ3MHlNREE0TURRd01EQXdNREJhRncweU5UQTRNRFF5TXpVNU5UbGFNRWt4Q3pBSkJnTlZCQVlUQWtSRk1TWXdKQVlEVlFRS0RCMW5aVzFoZEdscklGUkZVMVF0VDA1TVdTQXRJRTVQVkMxV1FVeEpSREVTTUJBR0ExVUVBd3dKU1VSUUlGTnBaeUF4TUZvd0ZBWUhLb1pJemowQ0FRWUpLeVFEQXdJSUFRRUhBMElBQkpaUXJHMU5XeElCM2t6LzZaMnpvamxrSnFOM3ZKWFozRVpuSjZKWFRYdzVaREZaNVhqd1dtdGdmb212M1ZPVjdxekk1eWNVU0p5c01XREV1M21xUmNhamdlMHdnZW93SFFZRFZSME9CQllFRko4RFZMQVpXVCtCbG9qVEQ0TVQvTmErRVM4WU1EZ0dDQ3NHQVFVRkJ3RUJCQ3d3S2pBb0JnZ3JCZ0VGQlFjd0FZWWNhSFIwY0RvdkwyVm9ZMkV1WjJWdFlYUnBheTVrWlM5dlkzTndMekFNQmdOVkhSTUJBZjhFQWpBQU1DRUdBMVVkSUFRYU1CZ3dDZ1lJS29JVUFFd0VnVXN3Q2dZSUtvSVVBRXdFZ1NNd0h3WURWUjBqQkJnd0ZvQVVLUEQ0NXFuSWQ4eERSZHVhcnRjNmc2d09ENmd3TFFZRkt5UUlBd01FSkRBaU1DQXdIakFjTUJvd0RBd0tTVVJRTFVScFpXNXpkREFLQmdncWdoUUFUQVNDQkRBT0JnTlZIUThCQWY4RUJBTUNCNEF3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnVkJQaEF3eVg4SEFWSDBPMGIzK1ZhenBCQVdrUU5qa0VWUmt2K0VZWDFlOENJRmRuNE8rbml2TStYVmk5eGlLSzRkVzFSN01EMzM0T3BPUFRGamVFaElWViJdfQ.eyJhdXRob3JpemF0aW9uX2VuZHBvaW50IjoiaHR0cDovL2dzdG9wZGgyLnRvcC5sb2NhbDo4NTgwL2F1dGhvcml6YXRpb24iLCJ0b2tlbl9lbmRwb2ludCI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC90b2tlbiIsImlzc3VlciI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC9hdXRoL3JlYWxtcy9pZHAiLCJqd2tzX3VyaSI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC9qd2tzIiwicHVrX3VyaV9hdXRoIjoiaHR0cDovL2dzdG9wZGgyLnRvcC5sb2NhbDo4NTgwL2F1dGhLZXkvandrcy5qc29uIiwicHVrX3VyaV90b2tlbiI6Imh0dHA6Ly9nc3RvcGRoMi50b3AubG9jYWw6ODU4MC90b2tlbktleS9qd2tzLmpzb24iLCJwdWtfdXJpX2Rpc2MiOiJodHRwOi8vZ3N0b3BkaDIudG9wLmxvY2FsOjg1ODAvZGlzY0tleS9qd2tzLmpzb24iLCJzdWJqZWN0X3R5cGVzX3N1cHBvcnRlZCI6WyJwYWlyd2lzZSJdLCJpZF90b2tlbl9zaWduaW5nX2FsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkJQMjU2UjEiXSwicmVzcG9uc2VfdHlwZXNfc3VwcG9ydGVkIjpbImNvZGUiXSwic2NvcGVzX3N1cHBvcnRlZCI6WyJvcGVuaWQiLCJlLXJlemVwdCJdLCJyZXNwb25zZV9tb2Rlc19zdXBwb3J0ZWQiOlsicXVlcnkiXSwiZ3JhbnRfdHlwZXNfc3VwcG9ydGVkIjpbImF1dGhvcml6YXRpb25fY29kZSJdLCJhY3JfdmFsdWVzX3N1cHBvcnRlZCI6WyJ1cm46ZWlkYXM6bG9hOmhpZ2giXSwidG9rZW5fZW5kcG9pbnRfYXV0aF9tZXRob2RzX3N1cHBvcnRlZCI6WyJub25lIl19" // swiftlint:disable:this line_length .data(using: .ascii)! diff --git a/scripts/install_openssl b/scripts/install_openssl index 2dbfa37..010d5f4 100755 --- a/scripts/install_openssl +++ b/scripts/install_openssl @@ -15,8 +15,8 @@ echo "ARCHS: $ARCHS" cd "$(dirname $0)/.." DIRNAME=$(pwd) -VERSION=${1-"3.0.7"} -VERSION_SHA256_CHECKSUM=${2-"83049d042a260e696f62406ac5c08bf706fd84383f945cf21bd61e9ed95c396e"} +VERSION=${1-"3.1.0"} +VERSION_SHA256_CHECKSUM=${2-"aaa925ad9828745c4cad9d9efeb273deca820f2cdcf2c3ac7d7c1212b7c497b4"} #################################### OPENSSL_IMAGE="${DIRNAME}/openssl-${VERSION}.tar.gz"