@appzung/react-native-code-push 9.0.2 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CodePush.podspec +1 -0
- package/LICENSE.md +1 -1
- package/README.md +169 -329
- package/android/app/.gradle/config.properties +2 -0
- package/android/app/build.gradle +63 -19
- package/android/app/local.properties +8 -0
- package/android/app/src/main/AndroidManifest.xml +2 -3
- package/android/app/src/main/AndroidManifestNew.xml +3 -0
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePush.java +35 -97
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushConstants.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushInstallMode.java +2 -2
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushInvalidPublicKeyException.java +2 -2
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushInvalidUpdateException.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushMalformedDataException.java +2 -2
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushNativeModule.java +37 -8
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushNotInitializedException.java +2 -2
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushTelemetryManager.java +14 -14
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUnknownException.java +2 -2
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUpdateManager.java +3 -3
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUpdateState.java +2 -2
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUpdateUtils.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/CodePushUtils.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/DownloadProgress.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/DownloadProgressCallback.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/FileUtils.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/ReactInstanceHolder.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/SettingsManager.java +1 -1
- package/android/app/src/main/java/com/{microsoft → appzung}/codepush/react/TLSSocketFactory.java +1 -1
- package/android/build.gradle +1 -11
- package/android/codepush.gradle +3 -3
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/gradle.properties +4 -20
- package/docs/advanced-usage.md +56 -0
- package/docs/api-android.md +16 -77
- package/docs/api-ios.md +9 -21
- package/docs/api-js.md +184 -219
- package/docs/code-signing.md +62 -0
- package/docs/migrating-to-v10.md +31 -0
- package/docs/setup-android.md +54 -463
- package/docs/setup-ios.md +37 -208
- package/docs/setup-windows.md +8 -74
- package/ios/CodePush/CodePush.h +4 -4
- package/ios/CodePush/CodePush.m +21 -65
- package/ios/CodePush/CodePushConfig.m +14 -11
- package/ios/CodePush/CodePushPackage.m +60 -60
- package/ios/CodePush/CodePushTelemetryManager.m +13 -13
- package/ios/CodePush.xcodeproj/project.pbxproj +1 -562
- package/lib/commonjs/CodePush.js +90 -0
- package/lib/commonjs/CodePush.js.map +1 -0
- package/lib/commonjs/allowRestart.js +12 -0
- package/lib/commonjs/allowRestart.js.map +1 -0
- package/lib/commonjs/checkForUpdates.js +105 -0
- package/lib/commonjs/checkForUpdates.js.map +1 -0
- package/lib/commonjs/clearUpdates.js +15 -0
- package/lib/commonjs/clearUpdates.js.map +1 -0
- package/lib/commonjs/disallowRestart.js +12 -0
- package/lib/commonjs/disallowRestart.js.map +1 -0
- package/lib/commonjs/enums/CheckFrequency.enum.js +25 -0
- package/lib/commonjs/enums/CheckFrequency.enum.js.map +1 -0
- package/lib/commonjs/enums/DeploymentStatus.enum.js +21 -0
- package/lib/commonjs/enums/DeploymentStatus.enum.js.map +1 -0
- package/lib/commonjs/enums/InstallMode.enum.js +35 -0
- package/lib/commonjs/enums/InstallMode.enum.js.map +1 -0
- package/lib/commonjs/enums/SyncStatus.enum.js +53 -0
- package/lib/commonjs/enums/SyncStatus.enum.js.map +1 -0
- package/lib/commonjs/enums/UpdateState.enum.js +29 -0
- package/lib/commonjs/enums/UpdateState.enum.js.map +1 -0
- package/lib/commonjs/getUpdateMetadata.js +25 -0
- package/lib/commonjs/getUpdateMetadata.js.map +1 -0
- package/lib/commonjs/index.js +195 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/internals/AcquisitionSdk.js +9 -0
- package/lib/commonjs/internals/AcquisitionSdk.js.map +1 -0
- package/lib/commonjs/internals/LocalPackageImplementation.js +29 -0
- package/lib/commonjs/internals/LocalPackageImplementation.js.map +1 -0
- package/lib/commonjs/internals/NativeRNAppZungCodePushModule.js +8 -0
- package/lib/commonjs/internals/NativeRNAppZungCodePushModule.js.map +1 -0
- package/lib/commonjs/internals/RNAppZungCodePushModuleSpec.js +6 -0
- package/lib/commonjs/internals/RNAppZungCodePushModuleSpec.js.map +1 -0
- package/lib/commonjs/internals/RemotePackageImplementation.js +49 -0
- package/lib/commonjs/internals/RemotePackageImplementation.js.map +1 -0
- package/lib/commonjs/internals/getConfiguration.js +15 -0
- package/lib/commonjs/internals/getConfiguration.js.map +1 -0
- package/lib/commonjs/internals/getCurrentPackage.js +12 -0
- package/lib/commonjs/internals/getCurrentPackage.js.map +1 -0
- package/lib/commonjs/internals/getPromisifiedSdk.js +49 -0
- package/lib/commonjs/internals/getPromisifiedSdk.js.map +1 -0
- package/lib/commonjs/internals/shouldUpdateBeIgnored.js +62 -0
- package/lib/commonjs/internals/shouldUpdateBeIgnored.js.map +1 -0
- package/lib/commonjs/internals/types.js +6 -0
- package/lib/commonjs/internals/types.js.map +1 -0
- package/lib/commonjs/internals/utils/log.js +11 -0
- package/lib/commonjs/internals/utils/log.js.map +1 -0
- package/lib/commonjs/internals/utils/request-fetch-adapter.js +50 -0
- package/lib/commonjs/internals/utils/request-fetch-adapter.js.map +1 -0
- package/lib/commonjs/internals/version.js +9 -0
- package/lib/commonjs/internals/version.js.map +1 -0
- package/lib/commonjs/notifyAppReady.js +83 -0
- package/lib/commonjs/notifyAppReady.js.map +1 -0
- package/lib/commonjs/reactNative.d.js +2 -0
- package/lib/commonjs/reactNative.d.js.map +1 -0
- package/lib/commonjs/restartApp.js +16 -0
- package/lib/commonjs/restartApp.js.map +1 -0
- package/lib/commonjs/sync.js +219 -0
- package/lib/commonjs/sync.js.map +1 -0
- package/lib/commonjs/types.js +6 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/CodePush.js +84 -0
- package/lib/module/CodePush.js.map +1 -0
- package/lib/module/allowRestart.js +9 -0
- package/lib/module/allowRestart.js.map +1 -0
- package/lib/module/checkForUpdates.js +101 -0
- package/lib/module/checkForUpdates.js.map +1 -0
- package/lib/module/clearUpdates.js +12 -0
- package/lib/module/clearUpdates.js.map +1 -0
- package/lib/module/disallowRestart.js +9 -0
- package/lib/module/disallowRestart.js.map +1 -0
- package/lib/module/enums/CheckFrequency.enum.js +21 -0
- package/lib/module/enums/CheckFrequency.enum.js.map +1 -0
- package/lib/module/enums/DeploymentStatus.enum.js +17 -0
- package/lib/module/enums/DeploymentStatus.enum.js.map +1 -0
- package/lib/module/enums/InstallMode.enum.js +32 -0
- package/lib/module/enums/InstallMode.enum.js.map +1 -0
- package/lib/module/enums/SyncStatus.enum.js +49 -0
- package/lib/module/enums/SyncStatus.enum.js.map +1 -0
- package/lib/module/enums/UpdateState.enum.js +26 -0
- package/lib/module/enums/UpdateState.enum.js.map +1 -0
- package/lib/module/getUpdateMetadata.js +21 -0
- package/lib/module/getUpdateMetadata.js.map +1 -0
- package/lib/module/index.js +19 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/internals/AcquisitionSdk.js +5 -0
- package/lib/module/internals/AcquisitionSdk.js.map +1 -0
- package/lib/module/internals/LocalPackageImplementation.js +24 -0
- package/lib/module/internals/LocalPackageImplementation.js.map +1 -0
- package/lib/module/internals/NativeRNAppZungCodePushModule.js +4 -0
- package/lib/module/internals/NativeRNAppZungCodePushModule.js.map +1 -0
- package/lib/module/internals/RNAppZungCodePushModuleSpec.js +4 -0
- package/lib/module/internals/RNAppZungCodePushModuleSpec.js.map +1 -0
- package/lib/module/internals/RemotePackageImplementation.js +44 -0
- package/lib/module/internals/RemotePackageImplementation.js.map +1 -0
- package/lib/module/internals/getConfiguration.js +11 -0
- package/lib/module/internals/getConfiguration.js.map +1 -0
- package/lib/module/internals/getCurrentPackage.js +8 -0
- package/lib/module/internals/getCurrentPackage.js.map +1 -0
- package/lib/module/internals/getPromisifiedSdk.js +45 -0
- package/lib/module/internals/getPromisifiedSdk.js.map +1 -0
- package/lib/module/internals/shouldUpdateBeIgnored.js +58 -0
- package/lib/module/internals/shouldUpdateBeIgnored.js.map +1 -0
- package/lib/module/internals/types.js +4 -0
- package/lib/module/internals/types.js.map +1 -0
- package/lib/module/internals/utils/log.js +7 -0
- package/lib/module/internals/utils/log.js.map +1 -0
- package/lib/module/internals/utils/request-fetch-adapter.js +46 -0
- package/lib/module/internals/utils/request-fetch-adapter.js.map +1 -0
- package/lib/module/internals/version.js +5 -0
- package/lib/module/internals/version.js.map +1 -0
- package/lib/module/notifyAppReady.js +79 -0
- package/lib/module/notifyAppReady.js.map +1 -0
- package/lib/module/reactNative.d.js +2 -0
- package/lib/module/reactNative.d.js.map +1 -0
- package/lib/module/restartApp.js +13 -0
- package/lib/module/restartApp.js.map +1 -0
- package/lib/module/sync.js +215 -0
- package/lib/module/sync.js.map +1 -0
- package/lib/module/types.js +4 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/commonjs/package.json +1 -0
- package/lib/typescript/commonjs/src/CodePush.d.ts +24 -0
- package/lib/typescript/commonjs/src/CodePush.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/allowRestart.d.ts +5 -0
- package/lib/typescript/commonjs/src/allowRestart.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/checkForUpdates.d.ts +9 -0
- package/lib/typescript/commonjs/src/checkForUpdates.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/clearUpdates.d.ts +8 -0
- package/lib/typescript/commonjs/src/clearUpdates.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/disallowRestart.d.ts +5 -0
- package/lib/typescript/commonjs/src/disallowRestart.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/enums/CheckFrequency.enum.d.ts +18 -0
- package/lib/typescript/commonjs/src/enums/CheckFrequency.enum.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/enums/DeploymentStatus.enum.d.ts +14 -0
- package/lib/typescript/commonjs/src/enums/DeploymentStatus.enum.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/enums/InstallMode.enum.d.ts +27 -0
- package/lib/typescript/commonjs/src/enums/InstallMode.enum.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/enums/SyncStatus.enum.d.ts +46 -0
- package/lib/typescript/commonjs/src/enums/SyncStatus.enum.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/enums/UpdateState.enum.d.ts +21 -0
- package/lib/typescript/commonjs/src/enums/UpdateState.enum.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/getUpdateMetadata.d.ts +9 -0
- package/lib/typescript/commonjs/src/getUpdateMetadata.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +17 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/AcquisitionSdk.d.ts +3 -0
- package/lib/typescript/commonjs/src/internals/AcquisitionSdk.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/LocalPackageImplementation.d.ts +17 -0
- package/lib/typescript/commonjs/src/internals/LocalPackageImplementation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/NativeRNAppZungCodePushModule.d.ts +3 -0
- package/lib/typescript/commonjs/src/internals/NativeRNAppZungCodePushModule.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/RNAppZungCodePushModuleSpec.d.ts +36 -0
- package/lib/typescript/commonjs/src/internals/RNAppZungCodePushModuleSpec.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/RemotePackageImplementation.d.ts +18 -0
- package/lib/typescript/commonjs/src/internals/RemotePackageImplementation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/getConfiguration.d.ts +3 -0
- package/lib/typescript/commonjs/src/internals/getConfiguration.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/getCurrentPackage.d.ts +2 -0
- package/lib/typescript/commonjs/src/internals/getCurrentPackage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/getPromisifiedSdk.d.ts +13 -0
- package/lib/typescript/commonjs/src/internals/getPromisifiedSdk.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/shouldUpdateBeIgnored.d.ts +3 -0
- package/lib/typescript/commonjs/src/internals/shouldUpdateBeIgnored.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/types.d.ts +16 -0
- package/lib/typescript/commonjs/src/internals/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/utils/log.d.ts +2 -0
- package/lib/typescript/commonjs/src/internals/utils/log.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/utils/request-fetch-adapter.d.ts +3 -0
- package/lib/typescript/commonjs/src/internals/utils/request-fetch-adapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/internals/version.d.ts +2 -0
- package/lib/typescript/commonjs/src/internals/version.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/notifyAppReady.d.ts +6 -0
- package/lib/typescript/commonjs/src/notifyAppReady.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/restartApp.d.ts +7 -0
- package/lib/typescript/commonjs/src/restartApp.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/sync.d.ts +17 -0
- package/lib/typescript/commonjs/src/sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/types.d.ts +196 -0
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
- package/lib/typescript/module/package.json +1 -0
- package/lib/typescript/module/src/CodePush.d.ts +24 -0
- package/lib/typescript/module/src/CodePush.d.ts.map +1 -0
- package/lib/typescript/module/src/allowRestart.d.ts +5 -0
- package/lib/typescript/module/src/allowRestart.d.ts.map +1 -0
- package/lib/typescript/module/src/checkForUpdates.d.ts +9 -0
- package/lib/typescript/module/src/checkForUpdates.d.ts.map +1 -0
- package/lib/typescript/module/src/clearUpdates.d.ts +8 -0
- package/lib/typescript/module/src/clearUpdates.d.ts.map +1 -0
- package/lib/typescript/module/src/disallowRestart.d.ts +5 -0
- package/lib/typescript/module/src/disallowRestart.d.ts.map +1 -0
- package/lib/typescript/module/src/enums/CheckFrequency.enum.d.ts +18 -0
- package/lib/typescript/module/src/enums/CheckFrequency.enum.d.ts.map +1 -0
- package/lib/typescript/module/src/enums/DeploymentStatus.enum.d.ts +14 -0
- package/lib/typescript/module/src/enums/DeploymentStatus.enum.d.ts.map +1 -0
- package/lib/typescript/module/src/enums/InstallMode.enum.d.ts +27 -0
- package/lib/typescript/module/src/enums/InstallMode.enum.d.ts.map +1 -0
- package/lib/typescript/module/src/enums/SyncStatus.enum.d.ts +46 -0
- package/lib/typescript/module/src/enums/SyncStatus.enum.d.ts.map +1 -0
- package/lib/typescript/module/src/enums/UpdateState.enum.d.ts +21 -0
- package/lib/typescript/module/src/enums/UpdateState.enum.d.ts.map +1 -0
- package/lib/typescript/module/src/getUpdateMetadata.d.ts +9 -0
- package/lib/typescript/module/src/getUpdateMetadata.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +17 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/AcquisitionSdk.d.ts +3 -0
- package/lib/typescript/module/src/internals/AcquisitionSdk.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/LocalPackageImplementation.d.ts +17 -0
- package/lib/typescript/module/src/internals/LocalPackageImplementation.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/NativeRNAppZungCodePushModule.d.ts +3 -0
- package/lib/typescript/module/src/internals/NativeRNAppZungCodePushModule.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/RNAppZungCodePushModuleSpec.d.ts +36 -0
- package/lib/typescript/module/src/internals/RNAppZungCodePushModuleSpec.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/RemotePackageImplementation.d.ts +18 -0
- package/lib/typescript/module/src/internals/RemotePackageImplementation.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/getConfiguration.d.ts +3 -0
- package/lib/typescript/module/src/internals/getConfiguration.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/getCurrentPackage.d.ts +2 -0
- package/lib/typescript/module/src/internals/getCurrentPackage.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/getPromisifiedSdk.d.ts +13 -0
- package/lib/typescript/module/src/internals/getPromisifiedSdk.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/shouldUpdateBeIgnored.d.ts +3 -0
- package/lib/typescript/module/src/internals/shouldUpdateBeIgnored.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/types.d.ts +16 -0
- package/lib/typescript/module/src/internals/types.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/utils/log.d.ts +2 -0
- package/lib/typescript/module/src/internals/utils/log.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/utils/request-fetch-adapter.d.ts +3 -0
- package/lib/typescript/module/src/internals/utils/request-fetch-adapter.d.ts.map +1 -0
- package/lib/typescript/module/src/internals/version.d.ts +2 -0
- package/lib/typescript/module/src/internals/version.d.ts.map +1 -0
- package/lib/typescript/module/src/notifyAppReady.d.ts +6 -0
- package/lib/typescript/module/src/notifyAppReady.d.ts.map +1 -0
- package/lib/typescript/module/src/restartApp.d.ts +7 -0
- package/lib/typescript/module/src/restartApp.d.ts.map +1 -0
- package/lib/typescript/module/src/sync.d.ts +17 -0
- package/lib/typescript/module/src/sync.d.ts.map +1 -0
- package/lib/typescript/module/src/types.d.ts +196 -0
- package/lib/typescript/module/src/types.d.ts.map +1 -0
- package/package.json +79 -29
- package/react-native.config.js +8 -8
- package/scripts/generateBundledResourcesHash.js +1 -1
- package/scripts/getFilesInFolder.js +1 -1
- package/scripts/recordFilesBeforeBundleCommand.js +1 -1
- package/src/CodePush.tsx +108 -0
- package/src/allowRestart.ts +6 -0
- package/src/checkForUpdates.ts +109 -0
- package/src/clearUpdates.ts +9 -0
- package/src/disallowRestart.ts +6 -0
- package/src/enums/CheckFrequency.enum.ts +19 -0
- package/src/enums/DeploymentStatus.enum.ts +14 -0
- package/src/enums/InstallMode.enum.ts +31 -0
- package/src/enums/SyncStatus.enum.ts +53 -0
- package/src/enums/UpdateState.enum.ts +24 -0
- package/src/getUpdateMetadata.ts +23 -0
- package/src/index.ts +18 -0
- package/src/internals/AcquisitionSdk.ts +3 -0
- package/src/internals/LocalPackageImplementation.ts +45 -0
- package/src/internals/NativeRNAppZungCodePushModule.ts +3 -0
- package/src/internals/RNAppZungCodePushModuleSpec.ts +54 -0
- package/src/internals/RemotePackageImplementation.ts +69 -0
- package/src/internals/getConfiguration.ts +12 -0
- package/src/internals/getCurrentPackage.ts +6 -0
- package/src/internals/getPromisifiedSdk.ts +72 -0
- package/src/internals/shouldUpdateBeIgnored.ts +76 -0
- package/src/internals/types.ts +18 -0
- package/{logging.js → src/internals/utils/log.ts} +1 -3
- package/src/internals/utils/request-fetch-adapter.ts +58 -0
- package/src/internals/version.ts +2 -0
- package/src/notifyAppReady.ts +94 -0
- package/src/reactNative.d.ts +34 -0
- package/src/restartApp.ts +10 -0
- package/src/sync.ts +272 -0
- package/src/types.ts +237 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +29 -12
- package/windows/CodePush/CodePushConfig.cpp +3 -3
- package/windows/CodePush/CodePushConfig.h +3 -3
- package/windows/CodePush/CodePushNativeModule.cpp +27 -27
- package/windows/CodePush/CodePushNativeModule.h +4 -4
- package/windows/CodePush/CodePushTelemetryManager.cpp +12 -12
- package/windows/CodePush/CodePushTelemetryManager.h +1 -1
- package/.azurepipelines/build-rn-code-push-1es.yml +0 -104
- package/.azurepipelines/test-rn-code-push.yml +0 -94
- package/.config/CredScanSuppressions.json +0 -14
- package/AlertAdapter.js +0 -24
- package/CONTRIBUTING.md +0 -134
- package/CodePush.js +0 -671
- package/SECURITY.md +0 -41
- package/android/app/src/main/java/com/microsoft/codepush/react/CodePushBuilder.java +0 -37
- package/android/app/src/main/java/com/microsoft/codepush/react/CodePushDialog.java +0 -102
- package/docs/multi-deployment-testing-android.md +0 -148
- package/docs/multi-deployment-testing-ios.md +0 -59
- package/ios/CodePush/Base64/Base64/MF_Base64Additions.h +0 -34
- package/ios/CodePush/Base64/Base64/MF_Base64Additions.m +0 -252
- package/ios/CodePush/Base64/README.md +0 -47
- package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithm.h +0 -69
- package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.h +0 -16
- package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.m +0 -51
- package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.h +0 -15
- package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.m +0 -55
- package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.h +0 -24
- package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.m +0 -41
- package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.h +0 -28
- package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.m +0 -205
- package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.h +0 -103
- package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.m +0 -322
- package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.h +0 -37
- package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.m +0 -145
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.h +0 -35
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.m +0 -551
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTRSAlgorithm.h +0 -23
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.h +0 -43
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.m +0 -230
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.h +0 -31
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.m +0 -113
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.h +0 -38
- package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.m +0 -500
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.h +0 -18
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.m +0 -214
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.h +0 -23
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.m +0 -29
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.h +0 -19
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.m +0 -68
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.h +0 -18
- package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.m +0 -72
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.h +0 -67
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.m +0 -111
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.h +0 -119
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.m +0 -307
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.h +0 -94
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.m +0 -619
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.h +0 -164
- package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.m +0 -514
- package/ios/CodePush/JWT/Core/Coding/JWTCoding.h +0 -24
- package/ios/CodePush/JWT/Core/Coding/JWTCoding.m +0 -11
- package/ios/CodePush/JWT/Core/FrameworkSupplement/JWT.h +0 -52
- package/ios/CodePush/JWT/Core/FrameworkSupplement/Map.modulemap +0 -5
- package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.h +0 -28
- package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.m +0 -70
- package/ios/CodePush/JWT/Core/Supplement/JWTDeprecations.h +0 -22
- package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.h +0 -34
- package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.m +0 -73
- package/ios/CodePush/JWT/LICENSE +0 -19
- package/ios/CodePush/JWT/README.md +0 -489
- package/ios/CodePush/SSZipArchive/Info.plist +0 -26
- package/ios/CodePush/SSZipArchive/README.md +0 -1
- package/ios/CodePush/SSZipArchive/SSZipArchive.h +0 -178
- package/ios/CodePush/SSZipArchive/SSZipArchive.m +0 -1496
- package/ios/CodePush/SSZipArchive/SSZipCommon.h +0 -71
- package/ios/CodePush/SSZipArchive/Supporting Files/PrivacyInfo.xcprivacy +0 -23
- package/ios/CodePush/SSZipArchive/include/ZipArchive.h +0 -25
- package/ios/CodePush/SSZipArchive/minizip/LICENSE +0 -17
- package/ios/CodePush/SSZipArchive/minizip/mz.h +0 -273
- package/ios/CodePush/SSZipArchive/minizip/mz_compat.c +0 -1306
- package/ios/CodePush/SSZipArchive/minizip/mz_compat.h +0 -346
- package/ios/CodePush/SSZipArchive/minizip/mz_crypt.c +0 -187
- package/ios/CodePush/SSZipArchive/minizip/mz_crypt.h +0 -65
- package/ios/CodePush/SSZipArchive/minizip/mz_crypt_apple.c +0 -526
- package/ios/CodePush/SSZipArchive/minizip/mz_os.c +0 -348
- package/ios/CodePush/SSZipArchive/minizip/mz_os.h +0 -176
- package/ios/CodePush/SSZipArchive/minizip/mz_os_posix.c +0 -350
- package/ios/CodePush/SSZipArchive/minizip/mz_strm.c +0 -556
- package/ios/CodePush/SSZipArchive/minizip/mz_strm.h +0 -132
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.c +0 -383
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.h +0 -42
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.c +0 -269
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.h +0 -48
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_os.h +0 -40
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_os_posix.c +0 -203
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.c +0 -334
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.h +0 -46
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.c +0 -429
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.h +0 -43
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.c +0 -360
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.h +0 -46
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.c +0 -389
- package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.h +0 -43
- package/ios/CodePush/SSZipArchive/minizip/mz_zip.c +0 -2782
- package/ios/CodePush/SSZipArchive/minizip/mz_zip.h +0 -262
- package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.c +0 -1942
- package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.h +0 -285
- package/package-mixins.js +0 -68
- package/request-fetch-adapter.js +0 -52
- package/scripts/postlink/android/postlink.js +0 -87
- package/scripts/postlink/ios/postlink.js +0 -116
- package/scripts/postlink/run.js +0 -11
- package/scripts/postunlink/android/postunlink.js +0 -74
- package/scripts/postunlink/ios/postunlink.js +0 -87
- package/scripts/postunlink/run.js +0 -11
- package/scripts/tools/linkToolsAndroid.js +0 -57
- package/scripts/tools/linkToolsIos.js +0 -130
- package/tslint.json +0 -32
- package/typings/react-native-code-push.d.ts +0 -455
- package/windows-legacy/CodePush/CodePush.csproj +0 -128
- package/windows-legacy/CodePush/CodePushUtils.cs +0 -47
- package/windows-legacy/CodePush/FileUtils.cs +0 -40
- package/windows-legacy/CodePush/Properties/AssemblyInfo.cs +0 -29
- package/windows-legacy/CodePush/Properties/CodePush.rd.xml +0 -33
- package/windows-legacy/CodePush/UpdateManager.cs +0 -305
- package/windows-legacy/CodePush/UpdateUtils.cs +0 -46
- package/windows-legacy/CodePush.Net46/Adapters/Http/HttpProgress.cs +0 -28
- package/windows-legacy/CodePush.Net46/Adapters/Storage/ApplicationDataContainer.cs +0 -106
- package/windows-legacy/CodePush.Net46/CodePush.Net46.csproj +0 -103
- package/windows-legacy/CodePush.Net46/CodePushUtils.cs +0 -158
- package/windows-legacy/CodePush.Net46/FileUtils.cs +0 -55
- package/windows-legacy/CodePush.Net46/Properties/AssemblyInfo.cs +0 -36
- package/windows-legacy/CodePush.Net46/UpdateManager.cs +0 -330
- package/windows-legacy/CodePush.Net46/UpdateUtils.cs +0 -70
- package/windows-legacy/CodePush.Net46/packages.config +0 -5
- package/windows-legacy/CodePush.Net46.Test/ApplicationDataContainerTest.cs +0 -105
- package/windows-legacy/CodePush.Net46.Test/CodePush.Net46.Test.csproj +0 -137
- package/windows-legacy/CodePush.Net46.Test/Properties/AssemblyInfo.cs +0 -36
- package/windows-legacy/CodePush.Net46.Test/TelemetryManagerTest.cs +0 -117
- package/windows-legacy/CodePush.Net46.Test/app.config +0 -11
- package/windows-legacy/CodePush.Net46.Test/packages.config +0 -4
- package/windows-legacy/CodePush.Shared/CodePush.Shared.projitems +0 -22
- package/windows-legacy/CodePush.Shared/CodePush.Shared.shproj +0 -13
- package/windows-legacy/CodePush.Shared/CodePushConstants.cs +0 -35
- package/windows-legacy/CodePush.Shared/CodePushNativeModule.cs +0 -329
- package/windows-legacy/CodePush.Shared/CodePushReactPackage.cs +0 -235
- package/windows-legacy/CodePush.Shared/CodePushUtils.cs +0 -70
- package/windows-legacy/CodePush.Shared/InstallMode.cs +0 -9
- package/windows-legacy/CodePush.Shared/MinimumBackgroundListener.cs +0 -44
- package/windows-legacy/CodePush.Shared/SettingsManager.cs +0 -148
- package/windows-legacy/CodePush.Shared/TelemetryManager.cs +0 -250
- package/windows-legacy/CodePush.Shared/UpdateState.cs +0 -9
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// JWTAlgorithmHSBase.m
|
|
3
|
-
// JWT
|
|
4
|
-
//
|
|
5
|
-
// Created by Lobanov Dmitry on 13.03.16.
|
|
6
|
-
// Copyright © 2016 Karma. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "JWTAlgorithmHSBase.h"
|
|
10
|
-
#import "JWTBase64Coder.h"
|
|
11
|
-
#import <CommonCrypto/CommonCrypto.h>
|
|
12
|
-
#import <CommonCrypto/CommonHMAC.h>
|
|
13
|
-
|
|
14
|
-
NSString *const JWTAlgorithmNameHS256 = @"HS256";
|
|
15
|
-
NSString *const JWTAlgorithmNameHS384 = @"HS384";
|
|
16
|
-
NSString *const JWTAlgorithmNameHS512 = @"HS512";
|
|
17
|
-
|
|
18
|
-
@interface JWTAlgorithmHSBase () @end
|
|
19
|
-
|
|
20
|
-
@implementation JWTAlgorithmHSBase
|
|
21
|
-
|
|
22
|
-
- (size_t)ccSHANumberDigestLength {
|
|
23
|
-
@throw [[NSException alloc] initWithName:NSInternalInconsistencyException reason:@"ccSHANumberDigestLength property should be overriden" userInfo:nil];
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
- (uint32_t)ccHmacAlgSHANumber {
|
|
27
|
-
@throw [[NSException alloc] initWithName:NSInternalInconsistencyException reason:@"ccHmacAlgSHANumber property should be overriden" userInfo:nil];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
- (NSData *)signHash:(NSData *)hash key:(NSData *)key error:(NSError *__autoreleasing *)error {
|
|
31
|
-
size_t amount = self.ccSHANumberDigestLength;
|
|
32
|
-
size_t fullSize = amount * sizeof(unsigned char);
|
|
33
|
-
unsigned char* cHMAC = malloc(fullSize);
|
|
34
|
-
CCHmacAlgorithm ccAlg = self.ccHmacAlgSHANumber;
|
|
35
|
-
|
|
36
|
-
CCHmac(ccAlg, key.bytes, key.length, hash.bytes, hash.length, cHMAC);
|
|
37
|
-
|
|
38
|
-
NSData *result = [[NSData alloc] initWithBytes:cHMAC length:fullSize];
|
|
39
|
-
free(cHMAC);
|
|
40
|
-
return result;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
- (BOOL)verifyHash:(NSData *)hash signature:(NSData *)signature key:(NSData *)key error:(NSError *__autoreleasing *)error {
|
|
44
|
-
NSData *expectedSignatureData = [self signHash:hash key:key error:error];
|
|
45
|
-
return [expectedSignatureData isEqualToData:signature];
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
- (NSString *)name;
|
|
49
|
-
{
|
|
50
|
-
return @"HSBase";
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
- (NSData *)encodePayload:(NSString *)theString withSecret:(NSString *)theSecret;
|
|
54
|
-
{
|
|
55
|
-
NSData *inputData = [theString dataUsingEncoding:NSUTF8StringEncoding];
|
|
56
|
-
NSData *secretData = [theSecret dataUsingEncoding:NSUTF8StringEncoding];
|
|
57
|
-
//[JWTBase64Coder dataWithBase64UrlEncodedString:theSecret];
|
|
58
|
-
return [self encodePayloadData:inputData withSecret:secretData];
|
|
59
|
-
// const char *cString = [theString cStringUsingEncoding:NSUTF8StringEncoding];
|
|
60
|
-
// const char *cSecret = [theSecret cStringUsingEncoding:NSUTF8StringEncoding];
|
|
61
|
-
//
|
|
62
|
-
// size_t amount = self.ccSHANumberDigestLength;
|
|
63
|
-
// size_t fullSize = amount * sizeof(unsigned char);
|
|
64
|
-
// unsigned char* cHMAC = malloc(fullSize);
|
|
65
|
-
// CCHmacAlgorithm ccAlg = self.ccHmacAlgSHANumber;
|
|
66
|
-
//
|
|
67
|
-
// CCHmac(ccAlg, cSecret, strlen(cSecret), cString, strlen(cString), cHMAC);
|
|
68
|
-
//
|
|
69
|
-
// NSData *returnData = [[NSData alloc] initWithBytes:cHMAC length:fullSize];
|
|
70
|
-
// free(cHMAC);
|
|
71
|
-
// return returnData;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
- (NSData *)encodePayloadData:(NSData *)theStringData withSecret:(NSData *)theSecretData
|
|
75
|
-
{
|
|
76
|
-
return [self signHash:theStringData key:theSecretData error:nil];
|
|
77
|
-
// size_t amount = self.ccSHANumberDigestLength;
|
|
78
|
-
// size_t fullSize = amount * sizeof(unsigned char);
|
|
79
|
-
// unsigned char* cHMAC = malloc(fullSize);
|
|
80
|
-
// CCHmacAlgorithm ccAlg = self.ccHmacAlgSHANumber;
|
|
81
|
-
//
|
|
82
|
-
// CCHmac(ccAlg, theSecretData.bytes, [theSecretData length], theStringData.bytes, [theStringData length], cHMAC);
|
|
83
|
-
//
|
|
84
|
-
// NSData *returnData = [[NSData alloc] initWithBytes:cHMAC length:fullSize];
|
|
85
|
-
// free(cHMAC);
|
|
86
|
-
// return returnData;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
- (BOOL)verifySignedInput:(NSString *)input withSignature:(NSString *)signature verificationKey:(NSString *)verificationKey
|
|
90
|
-
{
|
|
91
|
-
NSData *verificationKeyData = [verificationKey dataUsingEncoding:NSUTF8StringEncoding];
|
|
92
|
-
return [self verifySignedInput:input withSignature:signature verificationKeyData:verificationKeyData];
|
|
93
|
-
// NSData *expectedSignatureData = [self encodePayload:input withSecret:verificationKey];
|
|
94
|
-
// NSString *expectedSignature = [JWTBase64Coder base64UrlEncodedStringWithData:expectedSignatureData];
|
|
95
|
-
//
|
|
96
|
-
// return [expectedSignature isEqualToString:signature];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
- (BOOL)verifySignedInput:(NSString *)input withSignature:(NSString *)signature verificationKeyData:(NSData *)verificationKeyData {
|
|
100
|
-
NSData *signatureData = [JWTBase64Coder dataWithBase64UrlEncodedString:signature];
|
|
101
|
-
NSData *inputData = [input dataUsingEncoding:NSUTF8StringEncoding];//[JWTBase64Coder dataWithBase64UrlEncodedString:input];
|
|
102
|
-
return [self verifyHash:inputData signature:signatureData key:verificationKeyData error:nil ];
|
|
103
|
-
// const char *cString = [input cStringUsingEncoding:NSUTF8StringEncoding];
|
|
104
|
-
// NSData *inputData = [NSData dataWithBytes:cString length:strlen(cString)];
|
|
105
|
-
//
|
|
106
|
-
// NSData *expectedSignatureData = [self encodePayloadData:inputData withSecret:verificationKeyData];
|
|
107
|
-
// NSString *expectedSignature = [JWTBase64Coder base64UrlEncodedStringWithData:expectedSignatureData];
|
|
108
|
-
//
|
|
109
|
-
// return [expectedSignature isEqualToString:signature];
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
@end
|
|
113
|
-
|
|
114
|
-
@interface JWTAlgorithmHSFamilyMember : JWTAlgorithmHSBase @end
|
|
115
|
-
@implementation JWTAlgorithmHSFamilyMember @end
|
|
116
|
-
|
|
117
|
-
@interface JWTAlgorithmHS256 : JWTAlgorithmHSBase @end
|
|
118
|
-
@interface JWTAlgorithmHS384 : JWTAlgorithmHSBase @end
|
|
119
|
-
@interface JWTAlgorithmHS512 : JWTAlgorithmHSBase @end
|
|
120
|
-
|
|
121
|
-
@implementation JWTAlgorithmHS256
|
|
122
|
-
|
|
123
|
-
- (size_t)ccSHANumberDigestLength {
|
|
124
|
-
return CC_SHA256_DIGEST_LENGTH;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
- (uint32_t)ccHmacAlgSHANumber {
|
|
128
|
-
return kCCHmacAlgSHA256;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
- (NSString *)name {
|
|
132
|
-
return @"HS256";
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
@end
|
|
136
|
-
|
|
137
|
-
@implementation JWTAlgorithmHS384
|
|
138
|
-
|
|
139
|
-
- (size_t)ccSHANumberDigestLength {
|
|
140
|
-
return CC_SHA384_DIGEST_LENGTH;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
- (uint32_t)ccHmacAlgSHANumber {
|
|
144
|
-
return kCCHmacAlgSHA384;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
- (NSString *)name {
|
|
148
|
-
return @"HS384";
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
@end
|
|
152
|
-
|
|
153
|
-
@implementation JWTAlgorithmHS512
|
|
154
|
-
|
|
155
|
-
- (size_t)ccSHANumberDigestLength {
|
|
156
|
-
return CC_SHA512_DIGEST_LENGTH;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
- (uint32_t)ccHmacAlgSHANumber {
|
|
160
|
-
return kCCHmacAlgSHA512;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
- (NSString *)name {
|
|
164
|
-
return @"HS512";
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
@end
|
|
168
|
-
|
|
169
|
-
@interface JWTAlgorithmHSFamilyMemberMutable : JWTAlgorithmHSFamilyMember
|
|
170
|
-
@property (assign, nonatomic, readwrite) size_t ccSHANumberDigestLength;
|
|
171
|
-
@property (assign, nonatomic, readwrite) uint32_t ccHmacAlgSHANumber;
|
|
172
|
-
@property (copy, nonatomic, readwrite) NSString *name;
|
|
173
|
-
@end
|
|
174
|
-
|
|
175
|
-
@implementation JWTAlgorithmHSFamilyMemberMutable
|
|
176
|
-
|
|
177
|
-
@synthesize ccSHANumberDigestLength = _ccSHANumberDigestLength;
|
|
178
|
-
@synthesize ccHmacAlgSHANumber = _ccHmacAlgSHANumber;
|
|
179
|
-
@synthesize name = _name;
|
|
180
|
-
|
|
181
|
-
- (size_t)ccSHANumberDigestLength {
|
|
182
|
-
return _ccSHANumberDigestLength;
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
- (uint32_t)ccHmacAlgSHANumber {
|
|
186
|
-
return _ccHmacAlgSHANumber;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
@end
|
|
190
|
-
|
|
191
|
-
@implementation JWTAlgorithmHSBase (Create)
|
|
192
|
-
|
|
193
|
-
+ (instancetype)algorithm256 {
|
|
194
|
-
return [JWTAlgorithmHS256 new];
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
+ (instancetype)algorithm384 {
|
|
198
|
-
return [JWTAlgorithmHS384 new];
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
+ (instancetype)algorithm512 {
|
|
202
|
-
return [JWTAlgorithmHS512 new];
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
@end
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// JWTAlgorithmDataHolder.h
|
|
3
|
-
// JWT
|
|
4
|
-
//
|
|
5
|
-
// Created by Lobanov Dmitry on 31.08.16.
|
|
6
|
-
// Copyright © 2016 Karma. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import <Foundation/Foundation.h>
|
|
10
|
-
#import "JWTAlgorithm.h"
|
|
11
|
-
#import "JWTDeprecations.h"
|
|
12
|
-
#import "JWTBase64Coder.h"
|
|
13
|
-
|
|
14
|
-
// TODO: available in 3.0
|
|
15
|
-
// All methods with secret as NSString in algorithms will be deprecated or removed.
|
|
16
|
-
|
|
17
|
-
@protocol JWTAlgorithmDataHolderProtocol <NSObject, NSCopying>
|
|
18
|
-
/**
|
|
19
|
-
The verification key to use when encoding/decoding a JWT in data form
|
|
20
|
-
*/
|
|
21
|
-
@property (copy, nonatomic, readwrite) NSData *internalSecretData;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
The <JWTAlgorithm> to use for encoding a JWT
|
|
25
|
-
*/
|
|
26
|
-
@property (strong, nonatomic, readwrite) id <JWTAlgorithm> internalAlgorithm;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
The <JWTStringCoder__Protocol> string coder. It converts data to string and vice versa.
|
|
30
|
-
*/
|
|
31
|
-
@property (strong, nonatomic, readwrite) id <JWTStringCoder__Protocol> internalStringCoder;
|
|
32
|
-
@end
|
|
33
|
-
|
|
34
|
-
@interface JWTAlgorithmBaseDataHolder : NSObject <JWTAlgorithmDataHolderProtocol>
|
|
35
|
-
|
|
36
|
-
#pragma mark - Getters
|
|
37
|
-
/**
|
|
38
|
-
The verification key to use when encoding/decoding a JWT
|
|
39
|
-
*/
|
|
40
|
-
@property (copy, nonatomic, readonly) NSString *internalSecret;
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
The algorithm name to use for decoding the JWT. Required unless force decode is true
|
|
44
|
-
*/
|
|
45
|
-
@property (copy, nonatomic, readonly) NSString *internalAlgorithmName;
|
|
46
|
-
|
|
47
|
-
#pragma mark - Setters
|
|
48
|
-
/**
|
|
49
|
-
Sets jwtSecret and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
|
|
50
|
-
*/
|
|
51
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmBaseDataHolder *(^secret)(NSString *secret);
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
Sets jwtSecretData and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
|
|
55
|
-
*/
|
|
56
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmBaseDataHolder *(^secretData)(NSData *secretData);
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
Sets jwtAlgorithm and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
|
|
60
|
-
*/
|
|
61
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmBaseDataHolder *(^algorithm)(id<JWTAlgorithm>algorithm);
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
Sets jwtAlgorithmName and returns the JWTAlgorithmBaseDataHolder to allow for method chaining. See list of names in appropriate headers.
|
|
65
|
-
*/
|
|
66
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmBaseDataHolder *(^algorithmName)(NSString *algorithmName);
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
Sets stringCoder and returns the JWTAlgorithmBaseDataHolder to allow for method chaining. See list of names in appropriate headers.
|
|
70
|
-
*/
|
|
71
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmBaseDataHolder *(^stringCoder)(id<JWTStringCoder__Protocol> stringCoder);
|
|
72
|
-
@end
|
|
73
|
-
|
|
74
|
-
@protocol JWTAlgorithmDataHolderCreateProtocol <NSObject>
|
|
75
|
-
|
|
76
|
-
+ (instancetype)createWithAlgorithm256;
|
|
77
|
-
+ (instancetype)createWithAlgorithm384;
|
|
78
|
-
+ (instancetype)createWithAlgorithm512;
|
|
79
|
-
|
|
80
|
-
@end
|
|
81
|
-
|
|
82
|
-
@interface JWTAlgorithmNoneDataHolder : JWTAlgorithmBaseDataHolder @end
|
|
83
|
-
@interface JWTAlgorithmHSFamilyDataHolder : JWTAlgorithmBaseDataHolder <JWTAlgorithmDataHolderCreateProtocol>
|
|
84
|
-
@end
|
|
85
|
-
@protocol JWTCryptoKeyProtocol;
|
|
86
|
-
@interface JWTAlgorithmRSFamilyDataHolder : JWTAlgorithmBaseDataHolder <JWTAlgorithmDataHolderCreateProtocol>
|
|
87
|
-
#pragma mark - Getters
|
|
88
|
-
/**
|
|
89
|
-
The passphrase for the PKCS12 blob, which represents the certificate containing the private key for the RS algorithms.
|
|
90
|
-
*/
|
|
91
|
-
@property (copy, nonatomic, readonly) NSString *internalPrivateKeyCertificatePassphrase;
|
|
92
|
-
@property (copy, nonatomic, readonly) NSString *internalKeyExtractorType;
|
|
93
|
-
@property (strong, nonatomic, readonly) id<JWTCryptoKeyProtocol> internalSignKey;
|
|
94
|
-
@property (strong, nonatomic, readonly) id<JWTCryptoKeyProtocol> internalVerifyKey;
|
|
95
|
-
#pragma mark - Setters
|
|
96
|
-
/**
|
|
97
|
-
Sets jwtPrivateKeyCertificatePassphrase and returns the JWTAlgorithmRSFamilyDataHolder to allow for method chaining
|
|
98
|
-
*/
|
|
99
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmRSFamilyDataHolder *(^privateKeyCertificatePassphrase)(NSString *privateKeyCertificatePassphrase);
|
|
100
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmRSFamilyDataHolder *(^keyExtractorType)(NSString *keyExtractorType);
|
|
101
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmRSFamilyDataHolder *(^signKey)(id<JWTCryptoKeyProtocol> signKey);
|
|
102
|
-
@property (copy, nonatomic, readonly) JWTAlgorithmRSFamilyDataHolder *(^verifyKey)(id<JWTCryptoKeyProtocol> verifyKey);
|
|
103
|
-
@end
|
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// JWTAlgorithmDataHolder.m
|
|
3
|
-
// JWT
|
|
4
|
-
//
|
|
5
|
-
// Created by Lobanov Dmitry on 31.08.16.
|
|
6
|
-
// Copyright © 2016 Karma. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "JWTAlgorithmDataHolder.h"
|
|
10
|
-
#import "JWTAlgorithmFactory.h"
|
|
11
|
-
#import "JWTAlgorithmNone.h"
|
|
12
|
-
#import "JWTRSAlgorithm.h"
|
|
13
|
-
#import "JWTAlgorithmHSBase.h"
|
|
14
|
-
#import "JWTAlgorithmRSBase.h"
|
|
15
|
-
#import "JWTBase64Coder.h"
|
|
16
|
-
|
|
17
|
-
@interface JWTAlgorithmBaseDataHolder()
|
|
18
|
-
// not needed by algorithm adoption.
|
|
19
|
-
// @property (copy, nonatomic, readwrite) NSData *internalSecretData;
|
|
20
|
-
// @property (strong, nonatomic, readwrite) id <JWTAlgorithm> internalAlgorithm;
|
|
21
|
-
|
|
22
|
-
#pragma mark - Setters
|
|
23
|
-
/**
|
|
24
|
-
Sets jwtSecret and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
|
|
25
|
-
*/
|
|
26
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^secret)(NSString *secret);
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
Sets jwtSecretData and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
|
|
30
|
-
*/
|
|
31
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^secretData)(NSData *secretData);
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
Sets jwtAlgorithm and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
|
|
35
|
-
*/
|
|
36
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^algorithm)(id<JWTAlgorithm>algorithm);
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
Sets jwtAlgorithmName and returns the JWTAlgorithmBaseDataHolder to allow for method chaining. See list of names in appropriate headers.
|
|
40
|
-
*/
|
|
41
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^algorithmName)(NSString *algorithmName);
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
Sets stringCoder and returns the JWTAlgorithmBaseDataHolder to allow for method chaining. See list of names in appropriate headers.
|
|
45
|
-
*/
|
|
46
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^stringCoder)(id<JWTStringCoder__Protocol> stringCoder);
|
|
47
|
-
@end
|
|
48
|
-
|
|
49
|
-
@interface JWTAlgorithmBaseDataHolder (Convertions)
|
|
50
|
-
|
|
51
|
-
- (NSData *)dataFromString:(NSString *)string;
|
|
52
|
-
- (NSString *)stringFromData:(NSData *)data;
|
|
53
|
-
|
|
54
|
-
@end
|
|
55
|
-
|
|
56
|
-
@implementation JWTAlgorithmBaseDataHolder (Convertions)
|
|
57
|
-
#pragma mark - Convertions
|
|
58
|
-
- (NSData *)dataFromString:(NSString *)string {
|
|
59
|
-
NSData *result = [self.internalStringCoder dataWithString:string];
|
|
60
|
-
|
|
61
|
-
if (result == nil) {
|
|
62
|
-
// tell about it?!
|
|
63
|
-
NSLog(@"%@ %@ something went wrong. Data is not base64encoded", self.debugDescription, NSStringFromSelector(_cmd));
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
return result;// ?: [string dataUsingEncoding:NSUTF8StringEncoding];
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
- (NSString *)stringFromData:(NSData *)data {
|
|
70
|
-
NSString *result = [self.internalStringCoder stringWithData:data];
|
|
71
|
-
|
|
72
|
-
if (result == nil) {
|
|
73
|
-
NSLog(@"%@ %@ something went wrong. String is not base64encoded", self.debugDescription, NSStringFromSelector(_cmd));
|
|
74
|
-
}
|
|
75
|
-
return result ?: [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
|
|
76
|
-
}
|
|
77
|
-
@end
|
|
78
|
-
|
|
79
|
-
@interface JWTAlgorithmBaseDataHolder (Fluent)
|
|
80
|
-
- (void)setupFluent;
|
|
81
|
-
@end
|
|
82
|
-
|
|
83
|
-
@implementation JWTAlgorithmBaseDataHolder (Fluent)
|
|
84
|
-
#pragma mark - Fluent
|
|
85
|
-
- (instancetype)secretData:(NSData *)secretData {
|
|
86
|
-
self.internalSecretData = secretData;
|
|
87
|
-
return self;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
- (instancetype)secret:(NSString *)secret {
|
|
91
|
-
self.internalSecretData = [self dataFromString:secret];
|
|
92
|
-
return self;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
- (instancetype)algorithm:(id<JWTAlgorithm>)algorithm {
|
|
96
|
-
self.internalAlgorithm = algorithm;
|
|
97
|
-
return self;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
- (instancetype)algorithmName:(NSString *)algorithmName {
|
|
101
|
-
self.internalAlgorithm = [JWTAlgorithmFactory algorithmByName:algorithmName];
|
|
102
|
-
return self;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
- (instancetype)stringCoder:(id<JWTStringCoder__Protocol>)stringCoder {
|
|
106
|
-
self.internalStringCoder = stringCoder;
|
|
107
|
-
return self;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
- (void)setupFluent {
|
|
111
|
-
__weak typeof(self) weakSelf = self;
|
|
112
|
-
self.secret = ^(NSString *secret) {
|
|
113
|
-
return [weakSelf secret:secret];
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
self.secretData = ^(NSData *secretData) {
|
|
117
|
-
return [weakSelf secretData:secretData];
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
self.algorithm = ^(id<JWTAlgorithm> algorithm) {
|
|
121
|
-
return [weakSelf algorithm:algorithm];
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
self.algorithmName = ^(NSString *algorithmName) {
|
|
125
|
-
return [weakSelf algorithmName:algorithmName];
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
self.stringCoder = ^(id <JWTStringCoder__Protocol> stringCoder) {
|
|
129
|
-
return [weakSelf stringCoder:stringCoder];
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
@end
|
|
133
|
-
|
|
134
|
-
@interface JWTAlgorithmBaseDataHolder (Debug)
|
|
135
|
-
- (NSDictionary *)debugInformation;
|
|
136
|
-
@end
|
|
137
|
-
@implementation JWTAlgorithmBaseDataHolder (Debug)
|
|
138
|
-
- (NSString *)debugDescription {
|
|
139
|
-
return [[self debugInformation] debugDescription];
|
|
140
|
-
}
|
|
141
|
-
- (NSDictionary *)debugInformation {
|
|
142
|
-
return @{
|
|
143
|
-
@"algorithmName" : self.internalAlgorithmName ?: @"unknown",
|
|
144
|
-
@"algorithm" : [self.internalAlgorithm debugDescription] ?: @"unknown",
|
|
145
|
-
@"secretData" : [self.internalSecretData debugDescription] ?: @"unknown",
|
|
146
|
-
@"stringCoder" : [self.internalStringCoder debugDescription] ?: @"unknown"
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
@end
|
|
151
|
-
|
|
152
|
-
@implementation JWTAlgorithmBaseDataHolder
|
|
153
|
-
@synthesize internalAlgorithm;
|
|
154
|
-
@synthesize internalSecretData;
|
|
155
|
-
@synthesize internalStringCoder = _internalStringCoder;
|
|
156
|
-
|
|
157
|
-
- (id<JWTStringCoder__Protocol>)internalStringCoder {
|
|
158
|
-
return _internalStringCoder ?: [JWTBase64Coder new];
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
#pragma mark - Custom Getters
|
|
162
|
-
- (NSString *)internalAlgorithmName {
|
|
163
|
-
return [self.internalAlgorithm name];
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
- (NSString *)internalSecret {
|
|
167
|
-
return [self stringFromData:self.internalSecretData];
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
- (instancetype)init {
|
|
171
|
-
self = [super init];
|
|
172
|
-
if (self) {
|
|
173
|
-
[self setupFluent];
|
|
174
|
-
}
|
|
175
|
-
return self;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
#pragma mark - Copy
|
|
179
|
-
- (id)copyWithZone:(NSZone *)zone {
|
|
180
|
-
JWTAlgorithmBaseDataHolder *holder = [self.class new];
|
|
181
|
-
holder.internalAlgorithm = self.internalAlgorithm;
|
|
182
|
-
holder.internalSecretData = self.internalSecretData;
|
|
183
|
-
holder.internalStringCoder = self.internalStringCoder;
|
|
184
|
-
return holder;
|
|
185
|
-
}
|
|
186
|
-
@end
|
|
187
|
-
|
|
188
|
-
@interface JWTAlgorithmBaseDataHolder(Create)
|
|
189
|
-
- (instancetype)initWithAlgorithmName:(NSString *)name;
|
|
190
|
-
@end
|
|
191
|
-
|
|
192
|
-
@implementation JWTAlgorithmBaseDataHolder(Create)
|
|
193
|
-
- (instancetype)initWithAlgorithmName:(NSString *)name {
|
|
194
|
-
return [self init].algorithmName(name);
|
|
195
|
-
}
|
|
196
|
-
@end
|
|
197
|
-
|
|
198
|
-
@implementation JWTAlgorithmNoneDataHolder
|
|
199
|
-
- (instancetype)init {
|
|
200
|
-
if (self = [super init]) {
|
|
201
|
-
self.internalAlgorithm = [JWTAlgorithmFactory algorithmByName:JWTAlgorithmNameNone];
|
|
202
|
-
self.internalSecretData = nil;
|
|
203
|
-
}
|
|
204
|
-
return self;
|
|
205
|
-
}
|
|
206
|
-
@end
|
|
207
|
-
|
|
208
|
-
@implementation JWTAlgorithmHSFamilyDataHolder
|
|
209
|
-
+ (instancetype)createWithAlgorithm256 {
|
|
210
|
-
return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameHS256];
|
|
211
|
-
}
|
|
212
|
-
+ (instancetype)createWithAlgorithm384 {
|
|
213
|
-
return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameHS384];
|
|
214
|
-
}
|
|
215
|
-
+ (instancetype)createWithAlgorithm512 {
|
|
216
|
-
return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameHS512];
|
|
217
|
-
}
|
|
218
|
-
@end
|
|
219
|
-
|
|
220
|
-
@interface JWTAlgorithmRSFamilyDataHolder()
|
|
221
|
-
#pragma mark - Getters
|
|
222
|
-
@property (copy, nonatomic, readwrite) NSString *internalPrivateKeyCertificatePassphrase;
|
|
223
|
-
@property (copy, nonatomic, readwrite) NSString *internalKeyExtractorType;
|
|
224
|
-
@property (strong, nonatomic, readwrite) id<JWTCryptoKeyProtocol> internalSignKey;
|
|
225
|
-
@property (strong, nonatomic, readwrite) id<JWTCryptoKeyProtocol> internalVerifyKey;
|
|
226
|
-
#pragma mark - Setters
|
|
227
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^privateKeyCertificatePassphrase)(NSString *privateKeyCertificatePassphrase);
|
|
228
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^keyExtractorType)(NSString *keyExtractorType);
|
|
229
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^signKey)(id<JWTCryptoKeyProtocol> signKey);
|
|
230
|
-
@property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^verifyKey)(id<JWTCryptoKeyProtocol> verifyKey);
|
|
231
|
-
@end
|
|
232
|
-
|
|
233
|
-
@implementation JWTAlgorithmRSFamilyDataHolder (Debug)
|
|
234
|
-
- (NSDictionary *)debugInformation {
|
|
235
|
-
NSDictionary *add = @{@"privateKeyCertificatePassphrase" : self.internalPrivateKeyCertificatePassphrase ?: @"unknown",
|
|
236
|
-
@"keyExtractorType" : self.internalKeyExtractorType ?: @"unknown",
|
|
237
|
-
@"signKey" : [self.signKey debugDescription] ?: @"unknown",
|
|
238
|
-
@"verifyKey" : [self.verifyKey debugDescription] ?: @"unknown"
|
|
239
|
-
};
|
|
240
|
-
NSMutableDictionary *result = [[super debugInformation] mutableCopy];
|
|
241
|
-
[result addEntriesFromDictionary:add];
|
|
242
|
-
return result;
|
|
243
|
-
}
|
|
244
|
-
@end
|
|
245
|
-
|
|
246
|
-
@implementation JWTAlgorithmRSFamilyDataHolder
|
|
247
|
-
|
|
248
|
-
#pragma mark - Initialization
|
|
249
|
-
+ (instancetype)createWithAlgorithm256 {
|
|
250
|
-
return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameRS256];
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
+ (instancetype)createWithAlgorithm384 {
|
|
254
|
-
return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameRS384];
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
+ (instancetype)createWithAlgorithm512 {
|
|
258
|
-
return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameRS512];
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
#pragma mark - Getters
|
|
262
|
-
- (id<JWTAlgorithm>)internalAlgorithm {
|
|
263
|
-
id <JWTAlgorithm> algorithm = [super internalAlgorithm];
|
|
264
|
-
if ([algorithm conformsToProtocol:@protocol(JWTRSAlgorithm)]) {
|
|
265
|
-
// copy?
|
|
266
|
-
id<JWTRSAlgorithm>currentAlgorithm = [(id <JWTRSAlgorithm>)algorithm copyWithZone:nil];
|
|
267
|
-
currentAlgorithm.privateKeyCertificatePassphrase = self.internalPrivateKeyCertificatePassphrase;
|
|
268
|
-
currentAlgorithm.keyExtractorType = self.internalKeyExtractorType;
|
|
269
|
-
currentAlgorithm.signKey = self.internalSignKey;
|
|
270
|
-
currentAlgorithm.verifyKey = self.internalVerifyKey;
|
|
271
|
-
algorithm = currentAlgorithm;
|
|
272
|
-
}
|
|
273
|
-
return algorithm;
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
#pragma mark - Setters
|
|
277
|
-
- (instancetype)privateKeyCertificatePassphrase:(NSString *)passphrase {
|
|
278
|
-
self.internalPrivateKeyCertificatePassphrase = passphrase;
|
|
279
|
-
return self;
|
|
280
|
-
}
|
|
281
|
-
- (instancetype)keyExtractorType:(NSString *)type {
|
|
282
|
-
self.internalKeyExtractorType = type;
|
|
283
|
-
return self;
|
|
284
|
-
}
|
|
285
|
-
- (instancetype)signKey:(id<JWTCryptoKeyProtocol>)key {
|
|
286
|
-
self.internalSignKey = key;
|
|
287
|
-
return self;
|
|
288
|
-
}
|
|
289
|
-
- (instancetype)verifyKey:(id<JWTCryptoKeyProtocol>)key {
|
|
290
|
-
self.internalVerifyKey = key;
|
|
291
|
-
return self;
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
#pragma mark - Copy
|
|
295
|
-
- (id)copyWithZone:(NSZone *)zone {
|
|
296
|
-
JWTAlgorithmRSFamilyDataHolder *holder = [super copyWithZone:zone];
|
|
297
|
-
holder.internalPrivateKeyCertificatePassphrase = self.internalPrivateKeyCertificatePassphrase;
|
|
298
|
-
holder.internalKeyExtractorType = self.internalKeyExtractorType;
|
|
299
|
-
holder.internalSignKey = self.internalSignKey;
|
|
300
|
-
holder.internalVerifyKey = self.internalVerifyKey;
|
|
301
|
-
return holder;
|
|
302
|
-
}
|
|
303
|
-
@end
|
|
304
|
-
|
|
305
|
-
@implementation JWTAlgorithmRSFamilyDataHolder (Fluent)
|
|
306
|
-
- (void)setupFluent {
|
|
307
|
-
[super setupFluent];
|
|
308
|
-
__weak typeof(self) weakSelf = self;
|
|
309
|
-
self.privateKeyCertificatePassphrase = ^(NSString *privateKeyCertificatePassphrase) {
|
|
310
|
-
return [weakSelf privateKeyCertificatePassphrase:privateKeyCertificatePassphrase];
|
|
311
|
-
};
|
|
312
|
-
self.keyExtractorType = ^(NSString *keyExtractorType) {
|
|
313
|
-
return [weakSelf keyExtractorType:keyExtractorType];
|
|
314
|
-
};
|
|
315
|
-
self.signKey = ^(id<JWTCryptoKeyProtocol> key){
|
|
316
|
-
return [weakSelf signKey:key];
|
|
317
|
-
};
|
|
318
|
-
self.verifyKey = ^(id<JWTCryptoKeyProtocol> key){
|
|
319
|
-
return [weakSelf verifyKey:key];
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
@end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// JWTAlgorithmDataHolderChain.h
|
|
3
|
-
// JWT
|
|
4
|
-
//
|
|
5
|
-
// Created by Lobanov Dmitry on 02.10.16.
|
|
6
|
-
// Copyright © 2016 Karma. All rights reserved.
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import <Foundation/Foundation.h>
|
|
10
|
-
#import "JWTAlgorithmDataHolder.h"
|
|
11
|
-
|
|
12
|
-
@interface JWTAlgorithmDataHolderChain : NSObject
|
|
13
|
-
|
|
14
|
-
@property (strong, nonatomic, readonly) NSArray *holders;
|
|
15
|
-
|
|
16
|
-
#pragma mark - Initialization
|
|
17
|
-
- (instancetype)initWithHolders:(NSArray *)holders;
|
|
18
|
-
- (instancetype)initWithHolder:(id<JWTAlgorithmDataHolderProtocol>)holder;
|
|
19
|
-
|
|
20
|
-
#pragma mark - Appending
|
|
21
|
-
- (instancetype)chainByAppendingChain:(JWTAlgorithmDataHolderChain *)chain;
|
|
22
|
-
- (instancetype)chainByAppendingHolders:(NSArray *)holders;
|
|
23
|
-
- (instancetype)chainByAppendingHolder:(id<JWTAlgorithmDataHolderProtocol>)holder;
|
|
24
|
-
|
|
25
|
-
#pragma mark - Create
|
|
26
|
-
+ (instancetype)chainWithHolders:(NSArray *)holders;
|
|
27
|
-
+ (instancetype)chainWithHolder:(id<JWTAlgorithmDataHolderProtocol>)holder;
|
|
28
|
-
@end
|
|
29
|
-
|
|
30
|
-
@interface JWTAlgorithmDataHolderChain (HoldersPopulation)
|
|
31
|
-
- (NSArray *)singleAlgorithm:(id<JWTAlgorithm>)algorithm withManySecretData:(NSArray *)secretsData;
|
|
32
|
-
- (NSArray *)singleSecretData:(NSData *)secretData withManyAlgorithms:(NSArray *)algorithms;
|
|
33
|
-
|
|
34
|
-
- (instancetype)chainByPopulatingAlgorithm:(id<JWTAlgorithm>)algorithm withManySecretData:(NSArray *)secretsData;
|
|
35
|
-
- (instancetype)chainByPopulatingSecretData:(NSData *)secretData withManyAlgorithms:(NSArray *)algorithms;
|
|
36
|
-
|
|
37
|
-
@end
|