From b8d53b0f813321512d104b27245d710231a4e8f4 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Wed, 25 Jan 2023 07:58:36 -0500 Subject: [PATCH] Argon2id KDF (#2309) * add gcc_flags for libargon2.a * fix up ios proj * remove unused tag * add gcc_flags to ios projects * ios libargon2 binary * fix paths in ios project * update pathing on other projs * Argon2id primitive * fix typing issues * comment * remove ds store * [PS-2249] Implement Argon2 (#2293) * Implement Argon2 * Fix incorrect argon2 type on iOS * Switch argon2 implementation to native bindings * Change argon2 to save iterations instead of memory as 'kdfIterations' * Remove mistakenly added import * Remove unused library * cleanup * move android libs * move android libs * Revert "move android libs" This reverts commit 0b91b22cd2a3e4e31aeadde46b6a8ff07eefa6ed. * Revert "move android libs" This reverts commit 139839c4699566a74ab70486a3205bd0361bf269. * PR feedback Co-authored-by: Bernd Schoolmann --- .gitignore | 1 + lib/ios/libargon2.a | Bin 0 -> 287248 bytes src/Android/Android.csproj | 4 ++++ .../Services/CryptoPrimitiveService.cs | 16 +++++++++++++ src/Android/lib/arm64-v8a/libargon2.so | Bin 0 -> 38760 bytes src/Android/lib/armeabi-v7a/libargon2.so | Bin 0 -> 38568 bytes src/Android/lib/x86/libargon2.so | Bin 0 -> 46700 bytes src/Android/lib/x86_64/libargon2.so | Bin 0 -> 47224 bytes .../Abstractions/ICryptoFunctionService.cs | 4 ++++ .../Abstractions/ICryptoPrimitiveService.cs | 1 + src/Core/Enums/KdfType.cs | 3 ++- src/Core/Services/CryptoService.cs | 8 +++++++ src/Core/Services/PclCryptoFunctionService.cs | 22 ++++++++++++++++++ src/iOS.Autofill/iOS.Autofill.csproj | 16 ++++++------- .../Services/CryptoPrimitiveService.cs | 21 +++++++++++++++++ src/iOS.Extension/iOS.Extension.csproj | 16 ++++++------- .../iOS.ShareExtension.csproj | 16 ++++++------- src/iOS/iOS.csproj | 15 ++++++------ 18 files changed, 110 insertions(+), 33 deletions(-) create mode 100644 lib/ios/libargon2.a create mode 100755 src/Android/lib/arm64-v8a/libargon2.so create mode 100755 src/Android/lib/armeabi-v7a/libargon2.so create mode 100755 src/Android/lib/x86/libargon2.so create mode 100755 src/Android/lib/x86_64/libargon2.so diff --git a/.gitignore b/.gitignore index 107fad1df..a006ce4bf 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ Components/ [Rr]eleases/ x64/ x86/ +!src/lib/x86/ build/ bld/ [Bb]in/ diff --git a/lib/ios/libargon2.a b/lib/ios/libargon2.a new file mode 100644 index 0000000000000000000000000000000000000000..16227db12bc6a44e4ea57e48875d4df5c5fa62a7 GIT binary patch literal 287248 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 BK^IXbDlc> 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®K= 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 OWx{Z_G@lKD;QlwvBzzJ8 literal 0 HcmV?d00001 diff --git a/src/Android/Android.csproj b/src/Android/Android.csproj index 8d01e1091..c285cad13 100644 --- a/src/Android/Android.csproj +++ b/src/Android/Android.csproj @@ -169,6 +169,10 @@ + + + + diff --git a/src/Android/Services/CryptoPrimitiveService.cs b/src/Android/Services/CryptoPrimitiveService.cs index bdb19cfa5..5dec269fe 100644 --- a/src/Android/Services/CryptoPrimitiveService.cs +++ b/src/Android/Services/CryptoPrimitiveService.cs @@ -5,6 +5,8 @@ using Org.BouncyCastle.Crypto.Digests; using Org.BouncyCastle.Crypto.Generators; using Org.BouncyCastle.Crypto.Parameters; using System; +using System.Runtime.InteropServices; +using Java.Lang; namespace Bit.Droid.Services { @@ -33,5 +35,19 @@ namespace Bit.Droid.Services generator.Init(password, salt, iterations); return ((KeyParameter)generator.GenerateDerivedMacParameters(keySize)).GetKey(); } + + public byte[] Argon2id(byte[] password, byte[] salt, int iterations, int memory, int parallelism) + { + JavaSystem.LoadLibrary("argon2"); + int keySize = 32; + var key = new byte[keySize]; + argon2id_hash_raw(iterations, memory, parallelism, + password, password.Length, salt, salt.Length, key, key.Length); + return key; + } + + [DllImport("argon2", EntryPoint = "argon2id_hash_raw")] + private static extern int argon2id_hash_raw(int timeCost, int memoryCost, int parallelism, + byte[] pwd, int pwdlen, byte[] salt, int saltlen, byte[] hash, int hashlen); } } diff --git a/src/Android/lib/arm64-v8a/libargon2.so b/src/Android/lib/arm64-v8a/libargon2.so new file mode 100755 index 0000000000000000000000000000000000000000..da072ae3c0bd4504fea30f7909c0deaac34f86fb GIT binary patch literal 38760 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 literal 0 HcmV?d00001 diff --git a/src/Android/lib/armeabi-v7a/libargon2.so b/src/Android/lib/armeabi-v7a/libargon2.so new file mode 100755 index 0000000000000000000000000000000000000000..ebb445931d255f9956d1af26481b1db3a92ab01b GIT binary patch literal 38568 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 z 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 literal 0 HcmV?d00001 diff --git a/src/Android/lib/x86/libargon2.so b/src/Android/lib/x86/libargon2.so new file mode 100755 index 0000000000000000000000000000000000000000..01c269702b3b60850b0dd35382e9d29d19dde511 GIT binary patch literal 46700 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 IdQAU+03VoKVE_OC literal 0 HcmV?d00001 diff --git a/src/Android/lib/x86_64/libargon2.so b/src/Android/lib/x86_64/libargon2.so new file mode 100755 index 0000000000000000000000000000000000000000..8e379f601298c6b690136aef43dec0cf452c5413 GIT binary patch literal 47224 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 IG6}W(Z!rrzrvLx| literal 0 HcmV?d00001 diff --git a/src/Core/Abstractions/ICryptoFunctionService.cs b/src/Core/Abstractions/ICryptoFunctionService.cs index 14f8fdf6c..39b6ba6a1 100644 --- a/src/Core/Abstractions/ICryptoFunctionService.cs +++ b/src/Core/Abstractions/ICryptoFunctionService.cs @@ -10,6 +10,10 @@ namespace Bit.Core.Abstractions Task Pbkdf2Async(byte[] password, string salt, CryptoHashAlgorithm algorithm, int iterations); Task Pbkdf2Async(string password, byte[] salt, CryptoHashAlgorithm algorithm, int iterations); Task Pbkdf2Async(byte[] password, byte[] salt, CryptoHashAlgorithm algorithm, int iterations); + Task Argon2Async(string password, string salt, int iterations, int memory, int parallelism); + Task Argon2Async(byte[] password, string salt, int iterations, int memory, int parallelism); + Task Argon2Async(string password, byte[] salt, int iterations, int memory, int parallelism); + Task Argon2Async(byte[] password, byte[] salt, int iterations, int memory, int parallelism); Task HkdfAsync(byte[] ikm, string salt, string info, int outputByteSize, HkdfAlgorithm algorithm); Task HkdfAsync(byte[] ikm, byte[] salt, string info, int outputByteSize, HkdfAlgorithm algorithm); Task HkdfAsync(byte[] ikm, string salt, byte[] info, int outputByteSize, HkdfAlgorithm algorithm); diff --git a/src/Core/Abstractions/ICryptoPrimitiveService.cs b/src/Core/Abstractions/ICryptoPrimitiveService.cs index 897c337c4..cf29f01de 100644 --- a/src/Core/Abstractions/ICryptoPrimitiveService.cs +++ b/src/Core/Abstractions/ICryptoPrimitiveService.cs @@ -5,5 +5,6 @@ namespace Bit.Core.Abstractions public interface ICryptoPrimitiveService { byte[] Pbkdf2(byte[] password, byte[] salt, CryptoHashAlgorithm algorithm, int iterations); + byte[] Argon2id(byte[] password, byte[] salt, int iterations, int memory, int parallelism); } } diff --git a/src/Core/Enums/KdfType.cs b/src/Core/Enums/KdfType.cs index 1c845846a..86cdf849c 100644 --- a/src/Core/Enums/KdfType.cs +++ b/src/Core/Enums/KdfType.cs @@ -2,6 +2,7 @@ { public enum KdfType : byte { - PBKDF2_SHA256 = 0 + PBKDF2_SHA256 = 0, + Argon2id = 1, } } diff --git a/src/Core/Services/CryptoService.cs b/src/Core/Services/CryptoService.cs index 96977ca5a..433424ed8 100644 --- a/src/Core/Services/CryptoService.cs +++ b/src/Core/Services/CryptoService.cs @@ -406,6 +406,14 @@ namespace Bit.Core.Services key = await _cryptoFunctionService.Pbkdf2Async(password, salt, CryptoHashAlgorithm.Sha256, kdfIterations.Value); } + else if (kdf == KdfType.Argon2id) + { + var iterations = kdfIterations.Value; + const int parallelism = 1; + const int memory = 1024 * 16; // 16 MiB + + key = await _cryptoFunctionService.Argon2Async(password, salt, iterations, memory, parallelism); + } else { throw new Exception("Unknown kdf."); diff --git a/src/Core/Services/PclCryptoFunctionService.cs b/src/Core/Services/PclCryptoFunctionService.cs index fa8e8693d..50c555065 100644 --- a/src/Core/Services/PclCryptoFunctionService.cs +++ b/src/Core/Services/PclCryptoFunctionService.cs @@ -44,6 +44,28 @@ namespace Bit.Core.Services return Task.FromResult(_cryptoPrimitiveService.Pbkdf2(password, salt, algorithm, iterations)); } + public Task Argon2Async(string password, string salt, int iterations, int memory, int parallelism) + { + password = NormalizePassword(password); + return Argon2Async(Encoding.UTF8.GetBytes(password), Encoding.UTF8.GetBytes(salt), iterations, memory, parallelism); + } + + public Task Argon2Async(byte[] password, string salt, int iterations, int memory, int parallelism) + { + return Argon2Async(password, Encoding.UTF8.GetBytes(salt), iterations, memory, parallelism); + } + + public Task Argon2Async(string password, byte[] salt, int iterations, int memory, int parallelism) + { + password = NormalizePassword(password); + return Argon2Async(Encoding.UTF8.GetBytes(password), salt, iterations, memory, parallelism); + } + + public Task Argon2Async(byte[] password, byte[] salt, int iterations, int memory, int parallelism) + { + return Task.FromResult(_cryptoPrimitiveService.Argon2id(password, salt, iterations, memory, parallelism)); + } + public async Task HkdfAsync(byte[] ikm, string salt, string info, int outputByteSize, HkdfAlgorithm algorithm) => await HkdfAsync(ikm, Encoding.UTF8.GetBytes(salt), Encoding.UTF8.GetBytes(info), outputByteSize, algorithm); diff --git a/src/iOS.Autofill/iOS.Autofill.csproj b/src/iOS.Autofill/iOS.Autofill.csproj index a04fcf33e..ce5fc0b09 100644 --- a/src/iOS.Autofill/iOS.Autofill.csproj +++ b/src/iOS.Autofill/iOS.Autofill.csproj @@ -23,7 +23,7 @@ x86_64 None true - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true false NSUrlSessionHandler @@ -41,7 +41,7 @@ false Entitlements.plist NSUrlSessionHandler - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true iPhone Distribution Dist: Autofill @@ -61,7 +61,7 @@ true None NSUrlSessionHandler - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true @@ -79,7 +79,7 @@ Full NSUrlSessionHandler true - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" Dist: Autofill @@ -93,7 +93,7 @@ false prompt MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true NSUrlSessionHandler Full @@ -112,7 +112,7 @@ prompt MinimumRecommendedRules.ruleset Full - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true ARM64 10.2 @@ -128,7 +128,7 @@ false prompt MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true Full NSUrlSessionHandler @@ -149,7 +149,7 @@ ARM64 NSUrlSessionHandler Full - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true iPhone Distribution Entitlements.plist diff --git a/src/iOS.Core/Services/CryptoPrimitiveService.cs b/src/iOS.Core/Services/CryptoPrimitiveService.cs index 9d97fa647..1ec08121b 100644 --- a/src/iOS.Core/Services/CryptoPrimitiveService.cs +++ b/src/iOS.Core/Services/CryptoPrimitiveService.cs @@ -39,9 +39,30 @@ namespace Bit.iOS.Core.Services return keyBytes; } + public byte[] Argon2id(byte[] password, byte[] salt, int iterations, int memory, int parallelism) + { + uint keySize = 32; + var keyData = new NSMutableData(); + keyData.Length = keySize; + + var passwordData = NSData.FromArray(password); + var saltData = NSData.FromArray(salt); + + argon2id_hash_raw(iterations, memory, parallelism, passwordData.Bytes, passwordData.Length, + saltData.Bytes, saltData.Length, keyData.MutableBytes, keyData.Length); + + var keyBytes = new byte[keyData.Length]; + Marshal.Copy(keyData.Bytes, keyBytes, 0, Convert.ToInt32(keyData.Length)); + return keyBytes; + } + // ref: http://opensource.apple.com/source/CommonCrypto/CommonCrypto-55010/CommonCrypto/CommonKeyDerivation.h [DllImport(ObjCRuntime.Constants.libSystemLibrary, EntryPoint = "CCKeyDerivationPBKDF")] private extern static int CCKeyCerivationPBKDF(uint algorithm, IntPtr password, nuint passwordLen, IntPtr salt, nuint saltLen, uint prf, nuint rounds, IntPtr derivedKey, nuint derivedKeyLength); + + [DllImport("__Internal", EntryPoint = "argon2id_hash_raw")] + private static extern int argon2id_hash_raw(int timeCost, int memoryCost, int parallelism, IntPtr pwd, + nuint pwdlen, IntPtr salt, nuint saltlen, IntPtr hash, nuint hashlen); } } diff --git a/src/iOS.Extension/iOS.Extension.csproj b/src/iOS.Extension/iOS.Extension.csproj index f357adf71..44b0891fc 100644 --- a/src/iOS.Extension/iOS.Extension.csproj +++ b/src/iOS.Extension/iOS.Extension.csproj @@ -23,7 +23,7 @@ x86_64 None true - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true NSUrlSessionHandler 9.3 @@ -41,7 +41,7 @@ false Entitlements.plist NSUrlSessionHandler - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true 9.3 iPhone Distribution @@ -62,7 +62,7 @@ true None NSUrlSessionHandler - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true 10.2 @@ -76,7 +76,7 @@ ARM64 false iPhone Distribution - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true NSUrlSessionHandler Full @@ -95,7 +95,7 @@ MinimumRecommendedRules.ruleset Full NSUrlSessionHandler - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true 9.3 iPhone Distribution @@ -110,7 +110,7 @@ false prompt MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true NSUrlSessionHandler ARM64 @@ -128,7 +128,7 @@ false prompt MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true NSUrlSessionHandler Full @@ -148,7 +148,7 @@ ARM64 Full NSUrlSessionHandler - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true iPhone Distribution Automatic:AdHoc diff --git a/src/iOS.ShareExtension/iOS.ShareExtension.csproj b/src/iOS.ShareExtension/iOS.ShareExtension.csproj index d86866cc3..3beee6f8d 100644 --- a/src/iOS.ShareExtension/iOS.ShareExtension.csproj +++ b/src/iOS.ShareExtension/iOS.ShareExtension.csproj @@ -29,7 +29,7 @@ Entitlements.plist BitwardeniOSShareExtension - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" pdbonly @@ -46,7 +46,7 @@ ARM64 NSUrlSessionHandler - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" pdbonly @@ -62,7 +62,7 @@ NSUrlSessionHandler BitwardeniOSShareExtension - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true @@ -84,7 +84,7 @@ ARM64 NSUrlSessionHandler - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" bin\iPhoneSimulator\AppStore\ @@ -94,7 +94,7 @@ false prompt MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true NSUrlSessionHandler Full @@ -114,7 +114,7 @@ prompt MinimumRecommendedRules.ruleset Full - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true ARM64 10.2 @@ -130,7 +130,7 @@ false prompt MinimumRecommendedRules.ruleset - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true Full NSUrlSessionHandler @@ -152,7 +152,7 @@ ARM64 NSUrlSessionHandler Full - --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension + --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true iPhone Distribution Entitlements.plist diff --git a/src/iOS/iOS.csproj b/src/iOS/iOS.csproj index 600697876..f197763bb 100644 --- a/src/iOS/iOS.csproj +++ b/src/iOS/iOS.csproj @@ -29,7 +29,7 @@ None true true - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" Entitlements.plist @@ -41,7 +41,7 @@ Full x86_64 false - --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension + --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true Entitlements.plist @@ -60,7 +60,7 @@ Entitlements.plist None false - --nodevcodeshare --http-message-handler=NSUrlSessionHandler + --nodevcodeshare --http-message-handler=NSUrlSessionHandler -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true @@ -74,7 +74,7 @@ iPhone Developer Entitlements.plist Full - --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension + --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true @@ -89,8 +89,7 @@ iPhone Distribution Entitlements.plist Full - --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension - true + --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" Automatic:AdHoc @@ -104,7 +103,7 @@ Automatic:AppStore iPhone Distribution Entitlements.plist - --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension + --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper --linkskip=BitwardeniOSShareExtension -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true Full @@ -116,7 +115,7 @@ false prompt MinimumRecommendedRules.ruleset - --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper + --nodevcodeshare --http-message-handler=NSUrlSessionHandler --linkskip=BitwardeniOS --linkskip=BitwardeniOSCore --linkskip=BitwardeniOSAutofill --linkskip=BitwardeniOSExtension --linkskip=BitwardenApp --linkskip=BitwardenCore --linkskip=LiteDB --linkskip=CsvHelper -gcc_flags "-L${ProjectDir}/../../lib/ios -largon2 -force_load ${ProjectDir}/../../lib/ios/libargon2.a" true SdkOnly