virgil-crypto 2.3.0 → 3.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -0
- data/.gitmodules +0 -0
- data/.travis.yml +13 -0
- data/Gemfile +0 -0
- data/README.md +113 -9
- data/Rakefile +0 -0
- data/ext/native/src/.clang-format +37 -0
- data/ext/native/src/.gitignore +3 -0
- data/ext/native/src/.travis.yml +2 -1
- data/ext/native/src/CMakeLists.txt +66 -63
- data/ext/native/src/ChangeLog +114 -2
- data/ext/native/src/Dockerfile_Golang +29 -8
- data/ext/native/src/Jenkinsfile +61 -50
- data/ext/native/src/LICENSE +0 -0
- data/ext/native/src/README.md +137 -167
- data/ext/native/src/VERSION +1 -1
- data/ext/native/src/benchmark.md +140 -0
- data/ext/native/src/benchmark/CMakeLists.txt +0 -0
- data/ext/native/src/benchmark/benchmark_cipher.cxx +0 -0
- data/ext/native/src/benchmark/benchmark_hash.cxx +0 -0
- data/ext/native/src/benchmark/benchmark_keys.cxx +0 -0
- data/ext/native/src/benchmark/benchmark_pythia.cxx +61 -0
- data/ext/native/src/benchmark/benchmark_random.cxx +0 -0
- data/ext/native/src/benchmark/benchmark_signer.cxx +0 -0
- data/ext/native/src/ci/install-dependencies.sh +8 -12
- data/ext/native/src/ci/publish-docs.sh +107 -22
- data/ext/native/src/ci/travis-deployment-key.enc +0 -0
- data/ext/native/src/cmake/TransitiveArgs.cmake +78 -0
- data/ext/native/src/cmake/TransitiveToolchainArgs.cmake +105 -0
- data/ext/native/src/cmake/add_mono_metadata.cmake +103 -0
- data/ext/native/src/cmake/apple.cmake +56 -11
- data/ext/native/src/cmake/aux_source_directory_to_file.cmake +0 -0
- data/ext/native/src/cmake/check_pointer_size.cmake +0 -0
- data/ext/native/src/cmake/copy_all_files.cmake +0 -0
- data/ext/native/src/cmake/file_regex_replace.cmake +0 -0
- data/ext/native/src/cmake/find_host_utils.cmake +0 -0
- data/ext/native/src/cmake/uppercase_first_char.cmake +0 -0
- data/ext/native/src/cmake/uppercase_namespaces.cmake +3 -0
- data/ext/native/src/cmake/virgil_depends.cmake +0 -0
- data/ext/native/src/cmake/virgil_depends_local.cmake +2 -0
- data/ext/native/src/docs/.gitignore +0 -0
- data/ext/native/src/lib/CMakeLists.txt +59 -1
- data/ext/native/src/lib/Doxyfile.in +1 -1
- data/ext/native/src/lib/Info.plist.in +0 -0
- data/ext/native/src/lib/cmake/config.cmake.in +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilByteArrayUtils.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilChunkCipher.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilCipherBase.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilContentInfo.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilCrypto.h +13 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilCryptoError.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilCustomParams.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilKeyPair.h +30 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilSignerBase.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilStreamCipher.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilStreamSigner.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilTinyCipher.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/VirgilVersion.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilAsymmetricCipher.h +17 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilHKDF.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilPBKDF.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/VirgilSystemCryptoError.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/asn1/VirgilAsn1Compatible.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSContent.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSContentInfo.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSEncryptedContent.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSEnvelopedData.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSKeyTransRecipient.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/foundation/cms/VirgilCMSPasswordRecipient.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFS.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSEncryptedMessage.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSInitiatorPrivateInfo.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSInitiatorPublicInfo.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSPrivateKey.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSPublicKey.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSResponderPrivateInfo.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSResponderPublicInfo.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pfs/VirgilPFSSession.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/primitive/VirgilOperationCipher.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/primitive/VirgilOperationDH.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/primitive/VirgilOperationHash.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/primitive/VirgilOperationKDF.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/primitive/VirgilOperationRandom.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/VirgilPythia.h +181 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/VirgilPythiaBlindResult.h +89 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/VirgilPythiaContext.h +72 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/VirgilPythiaError.h +161 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/VirgilPythiaProveResult.h +89 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/VirgilPythiaTransformResult.h +91 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/VirgilPythiaTransformationKeyPair.h +87 -0
- data/ext/native/src/lib/include/virgil/crypto/pythia/virgil_pythia_c.h +203 -0
- data/ext/native/src/lib/include/virgil/crypto/stream/VirgilBytesDataSink.h +0 -0
- data/ext/native/src/lib/include/virgil/crypto/stream/VirgilBytesDataSource.h +0 -0
- data/ext/native/src/lib/mainpage.dox +6 -0
- data/ext/native/src/lib/module.modulemap +7 -0
- data/ext/native/src/lib/src/VirgilAsn1Alg.cxx +0 -0
- data/ext/native/src/lib/src/VirgilAsn1Alg.h +0 -0
- data/ext/native/src/lib/src/VirgilAsn1Compatible.cxx +0 -0
- data/ext/native/src/lib/src/VirgilAsymmetricCipher.cxx +82 -0
- data/ext/native/src/lib/src/VirgilByteArrayUtils.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCMSContent.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCMSContentInfo.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCMSEncryptedContent.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCMSEnvelopedData.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCMSKeyTransRecipient.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCMSPasswordRecipient.cxx +0 -0
- data/ext/native/src/lib/src/VirgilChunkCipher.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCipherBase.cxx +0 -0
- data/ext/native/src/lib/src/VirgilConfig.cxx +51 -0
- data/ext/native/src/lib/src/VirgilConfig.h.in +43 -1
- data/ext/native/src/lib/src/VirgilContentInfo.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCryptoError.cxx +0 -0
- data/ext/native/src/lib/src/VirgilCustomParams.cxx +0 -0
- data/ext/native/src/lib/src/VirgilDataSink.cxx +0 -0
- data/ext/native/src/lib/src/VirgilHKDF.cxx +0 -0
- data/ext/native/src/lib/src/VirgilKeyPair.cxx +19 -0
- data/ext/native/src/lib/src/VirgilOID.h +0 -0
- data/ext/native/src/lib/src/VirgilPBKDF.cxx +0 -0
- data/ext/native/src/lib/src/VirgilSignerBase.cxx +0 -0
- data/ext/native/src/lib/src/VirgilStreamCipher.cxx +0 -0
- data/ext/native/src/lib/src/VirgilStreamSigner.cxx +0 -0
- data/ext/native/src/lib/src/VirgilSystemCryptoError.cxx +0 -0
- data/ext/native/src/lib/src/VirgilTagFilter.cxx +0 -0
- data/ext/native/src/lib/src/VirgilTagFilter.h +0 -0
- data/ext/native/src/lib/src/VirgilTinyCipher.cxx +0 -0
- data/ext/native/src/lib/src/VirgilVersion.cxx.in +0 -0
- data/ext/native/src/lib/src/mbedtls_context.h +0 -0
- data/ext/native/src/lib/src/mbedtls_context_policy_spec.h +0 -0
- data/ext/native/src/lib/src/mbedtls_type_utils.h +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFS.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSEncryptedMessage.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSInitiatorPrivateInfo.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSInitiatorPublicInfo.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSPrivateKey.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSPublicKey.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSResponderPrivateInfo.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSResponderPublicInfo.cxx +0 -0
- data/ext/native/src/lib/src/pfs/VirgilPFSSession.cxx +0 -0
- data/ext/native/src/lib/src/primitive/VirgilOperationCipher.cxx +0 -0
- data/ext/native/src/lib/src/primitive/VirgilOperationDH.cxx +0 -0
- data/ext/native/src/lib/src/primitive/VirgilOperationHash.cxx +0 -0
- data/ext/native/src/lib/src/primitive/VirgilOperationKDF.cxx +0 -0
- data/ext/native/src/lib/src/primitive/VirgilOperationRandom.cxx +0 -0
- data/ext/native/src/lib/src/pythia/VirgilPythia.cxx +202 -0
- data/ext/native/src/lib/src/pythia/VirgilPythiaContext.cxx +116 -0
- data/ext/native/src/lib/src/pythia/VirgilPythiaError.cxx +58 -0
- data/ext/native/src/lib/src/pythia/virgil_pythia_c.cxx +129 -0
- data/ext/native/src/lib/src/stream/VirgilBytesDataSink.cxx +0 -0
- data/ext/native/src/lib/src/stream/VirgilBytesDataSource.cxx +0 -0
- data/ext/native/src/lib/src/utils.h +3 -2
- data/ext/native/src/libs_ext/mbedtls/configs/config.h +0 -0
- data/ext/native/src/libs_ext/mbedtls/configs/config_desktop.h +0 -0
- data/ext/native/src/libs_ext/mbedtls/mbedtls.cmake +0 -0
- data/ext/native/src/{cmake/cmake_args.cmake → libs_ext/pythia/pythia.cmake} +24 -28
- data/ext/native/src/libs_ext/rapidjson/rapidjson.cmake +0 -0
- data/ext/native/src/libs_ext/tinyformat/cmake/config.cmake.in +0 -0
- data/ext/native/src/libs_ext/tinyformat/tinyformat.cmake +0 -0
- data/ext/native/src/migration-2.0.md +0 -0
- data/ext/native/src/tests/CMakeLists.txt +0 -0
- data/ext/native/src/tests/catch.hpp +0 -0
- data/ext/native/src/tests/data/test_data_pfs_with_otc.json +0 -0
- data/ext/native/src/tests/data/test_data_pfs_without_otc.json +0 -0
- data/ext/native/src/tests/deterministic_keys.h +293 -0
- data/ext/native/src/tests/rsa_keys.h +229 -123
- data/ext/native/src/tests/test_asn1_writer.cxx +0 -0
- data/ext/native/src/tests/test_asymmetric_cipher.cxx +65 -0
- data/ext/native/src/tests/test_base64.cxx +0 -0
- data/ext/native/src/tests/test_byte_array_utils.cxx +0 -0
- data/ext/native/src/tests/test_chunk_cipher.cxx +0 -0
- data/ext/native/src/tests/test_cipher.cxx +8 -4
- data/ext/native/src/tests/test_cipher_base.cxx +0 -0
- data/ext/native/src/tests/test_contract_copy_move.cxx +4 -1
- data/ext/native/src/tests/test_data_pfs.h +0 -0
- data/ext/native/src/tests/test_hash.cxx +0 -0
- data/ext/native/src/tests/test_hkdf.cxx +0 -0
- data/ext/native/src/tests/test_key_pair.cxx +65 -3
- data/ext/native/src/tests/test_pbe.cxx +0 -0
- data/ext/native/src/tests/test_pbkdf.cxx +0 -0
- data/ext/native/src/tests/test_pfs.cxx +0 -0
- data/ext/native/src/tests/test_pythia.cxx +157 -0
- data/ext/native/src/tests/test_random.cxx +0 -0
- data/ext/native/src/tests/test_runner.cxx +0 -0
- data/ext/native/src/tests/test_signer.cxx +0 -0
- data/ext/native/src/tests/test_stream_cipher.cxx +0 -0
- data/ext/native/src/tests/test_stream_data_source.cxx +0 -0
- data/ext/native/src/tests/test_symmetric_cipher.cxx +0 -0
- data/ext/native/src/tests/test_tag_filter.cxx +0 -0
- data/ext/native/src/tests/test_tiny_cipher.cxx +0 -0
- data/ext/native/src/utils/build.bat +0 -0
- data/ext/native/src/utils/build.sh +238 -68
- data/ext/native/src/utils/zip.vbs +0 -0
- data/ext/native/src/virgil-crypto.sublime-project +15 -0
- data/ext/native/src/wrappers/asmjs/CMakeLists.txt +0 -8
- data/ext/native/src/wrappers/emsdk/CMakeLists.txt +2 -2
- data/ext/native/src/wrappers/emsdk/error.js +0 -0
- data/ext/native/src/wrappers/emsdk/example.html +152 -31
- data/ext/native/src/wrappers/emsdk/helpers.js +140 -135
- data/ext/native/src/wrappers/emsdk/patch_embind.pl +0 -0
- data/ext/native/src/wrappers/emsdk/wrapper.cxx +55 -0
- data/ext/native/src/wrappers/go/CMakeLists.txt +6 -5
- data/ext/native/src/wrappers/java/CMakeLists.txt +27 -4
- data/ext/native/src/wrappers/java/src/JniLoader.java +167 -0
- data/ext/native/src/wrappers/java/src/VirgilStreamDataSink.java +0 -0
- data/ext/native/src/wrappers/java/src/VirgilStreamDataSource.java +0 -0
- data/ext/native/src/wrappers/net/CMakeLists.txt +41 -8
- data/ext/native/src/wrappers/net/cmake/UseCSharp.cmake +5 -5
- data/ext/native/src/wrappers/net/src/VirgilStreamDataSink.cs +0 -0
- data/ext/native/src/wrappers/net/src/VirgilStreamDataSource.cs +0 -0
- data/ext/native/src/wrappers/nodejs/checksum.txt +66 -0
- data/ext/native/src/wrappers/php/CMakeLists.txt +2 -5
- data/ext/native/src/wrappers/php/tests/CMakeLists.txt +6 -0
- data/ext/native/src/wrappers/php/tests/VirgilChunkCipher_Test.php.in +0 -0
- data/ext/native/src/wrappers/php/tests/VirgilCustomParams_Test.php.in +0 -0
- data/ext/native/src/wrappers/php/tests/VirgilKDF_Test.php.in +0 -0
- data/ext/native/src/wrappers/php/tests/VirgilPBE_Test.php.in +0 -0
- data/ext/native/src/wrappers/php/tests/VirgilPBKDF_Test.php.in +0 -0
- data/ext/native/src/wrappers/php/tests/VirgilPythia_Test.php.in +87 -0
- data/ext/native/src/wrappers/php/tests/VirgilStreamCipher_Test.php.in +0 -0
- data/ext/native/src/wrappers/php/tests/VirgilStreamSigner_Test.php.in +0 -0
- data/ext/native/src/wrappers/php/tests/VirgilVersion_Test.php.in +0 -0
- data/ext/native/src/wrappers/python/CMakeLists.txt +4 -1
- data/ext/native/src/wrappers/ruby/CMakeLists.txt +4 -1
- data/ext/native/src/wrappers/swig/common.i +0 -0
- data/ext/native/src/wrappers/swig/csharp/FixedArray.i +0 -0
- data/ext/native/src/wrappers/swig/csharp/VirgilByteArray.i +0 -0
- data/ext/native/src/wrappers/swig/csharp/common.i +0 -0
- data/ext/native/src/wrappers/swig/csharp/csharphead.swg.in +0 -0
- data/ext/native/src/wrappers/swig/go/common.i.in +7 -0
- data/ext/native/src/wrappers/swig/java/VirgilByteArray.i +0 -0
- data/ext/native/src/wrappers/swig/java/common.i +6 -0
- data/ext/native/src/wrappers/swig/php/common.i +0 -0
- data/ext/native/src/wrappers/swig/php/php7/VirgilByteArray.i +0 -0
- data/ext/native/src/wrappers/swig/util.i +0 -0
- data/ext/native/src/wrappers/swig/wrapper.i.in +18 -7
- data/ext/native/src/wrappers/webasm/CMakeLists.txt +0 -8
- data/ext/rakefile.rb +77 -56
- data/lib/virgil/crypto.rb +53 -9
- data/lib/virgil/crypto/access_token_signer.rb +79 -0
- data/lib/virgil/crypto/bytes.rb +81 -17
- data/lib/virgil/crypto/card_crypto.rb +115 -0
- data/lib/virgil/crypto/crypto_exception.rb +40 -0
- data/lib/virgil/crypto/hash_algorithm.rb +82 -0
- data/lib/virgil/crypto/key_pair.rb +41 -0
- data/lib/virgil/crypto/key_pair_type.rb +98 -0
- data/lib/virgil/crypto/private_key.rb +40 -0
- data/lib/virgil/crypto/private_key_exporter.rb +67 -0
- data/lib/virgil/crypto/public_key.rb +40 -0
- data/lib/virgil/crypto/{virgil_stream_data_sink.rb → stream_data_sink.rb} +12 -12
- data/lib/virgil/crypto/{virgil_stream_data_source.rb → stream_data_source.rb} +12 -12
- data/lib/virgil/crypto/validation.rb +59 -0
- data/lib/virgil/crypto/version.rb +35 -1
- data/lib/virgil/crypto/virgil_crypto.rb +595 -0
- data/lib/virgil/native_crypto.rb +80 -60
- data/lib/virgil/os.rb +40 -6
- data/secrets.tar.enc +0 -0
- data/virgil-crypto.gemspec +6 -7
- metadata +62 -12
- data/ext/native/src/cmake/android.toolchain.cmake +0 -1697
@@ -42,6 +42,138 @@
|
|
42
42
|
#ifndef VIRGIL_CRYPTO_TEST_RAS_KEYS_H
|
43
43
|
#define VIRGIL_CRYPTO_TEST_RAS_KEYS_H
|
44
44
|
|
45
|
+
|
46
|
+
//---------------------------------------------------------------------------
|
47
|
+
// RSA 4096
|
48
|
+
//---------------------------------------------------------------------------
|
49
|
+
constexpr char kRSA_4096_Password[] = "password";
|
50
|
+
|
51
|
+
constexpr char kRSA_4096_Public[] = "-----BEGIN PUBLIC KEY-----\n"
|
52
|
+
"MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA6gd3rC3nA16FQDPP+tWm\n"
|
53
|
+
"6PBJ5cEguD0fmKo0QOdmXrUiWP8U4bXfTd+gzxykLaUgz/2NwWqUNW/gpFedaeY3\n"
|
54
|
+
"+SDUw+R+/YZ1qHmaxP93PMczGsbrla2GVqZpoj+SpoPHtOnkBRA81jsTdUl35I5p\n"
|
55
|
+
"y255gESkm8QakeMY1IKNvKJEOnnHQzOvo1gZzURRfSiDUtfW9WHXmRQH6t5hMM+0\n"
|
56
|
+
"yEy7dUKVdQRbfkputoXYhRj+qeMSiVmu6m7euW5rtA3gPk8tSvLHbmTnQQSE6Zb/\n"
|
57
|
+
"NruuxssKYu0eZBcHqxW71CabtVTbrEibzW5FhUx/mtVLTcB9WZa4JNvrVK/YOMmF\n"
|
58
|
+
"UMVwiVFgCIxeT9/+qpiSNd7SacbfldbHIZu81MVv1tmX/wS819FChbAJyFKFfDVG\n"
|
59
|
+
"fSk4kzLG/O424nTtDLlGOC1pct0Y+H73OTLYZ4jbWMFJFAWAREm3/yCp2cFFyult\n"
|
60
|
+
"OVoyyVGtBAB+uvSmviMntJOSg8fyX0Y6L4RMYqYVfc1J6aozXU8IUMydeHbZ51ZE\n"
|
61
|
+
"3a/fKEnLKl1zjtZfprN9xewxn2HDiz50qzMWK124H+tFuF9eMdr2nohof0uIrI1S\n"
|
62
|
+
"AIIcNgiFeuGifsjHY9hXCO+tU9+itOIflhZc/BJKrJ31z2qu70GeXlee1TENLQw+\n"
|
63
|
+
"QhNXNSC91MIiFWJAkQibX6sCAwEAAQ==\n"
|
64
|
+
"-----END PUBLIC KEY-----\n";
|
65
|
+
|
66
|
+
constexpr char kRSA_4096_Private[] = "-----BEGIN ENCRYPTED PRIVATE KEY-----\n"
|
67
|
+
"MIIJszBdBgkqhkiG9w0BBQ0wUDAvBgkqhkiG9w0BBQwwIgQQqO4VolScOYHQ/XvZ\n"
|
68
|
+
"CmXw4QICEo8wCgYIKoZIhvcNAgowHQYJYIZIAWUDBAEqBBD1dI3XzHxfp3zZqVzb\n"
|
69
|
+
"XfnYBIIJUAoXr5Z7AStPwl4QWSuyDCZDRNBeIdURocEPPfSWzlhZ5oqZysKiRwLs\n"
|
70
|
+
"ZJywdmWnr7Rt5TYfc2Nv9mZ4qG1EomsDTmr+sB97fgcg+Y9O4ysD/D68e+UnmBnq\n"
|
71
|
+
"R6deNqSqrqUpptameZbQQRuI71MbPTd2SF1qEPYh96+923tJJbazbhezjeOR29nc\n"
|
72
|
+
"V+oLwBzEnPOn+EBvNBwBfJ3B910MzpfgsvQKq7gXDFINudp/zWueeEEszFn+fR69\n"
|
73
|
+
"1md0X6voJLZBAXjHBJEYUfyiKo3CPa4GT4vVldKev1DTr4d4zi/LwRQ04uwVUzcn\n"
|
74
|
+
"2T/h3FjTXvxAx1sy4BU80S5Ar9kbtttVUjm/KyEkUTsKiDEWfVEH7P2mSQB4SWTm\n"
|
75
|
+
"woUez8Rbt0k+NDJ6TKfXTMrr4jdfamSCQIeuOXicfTZOZWApxMPQ0b5BmzLps/r4\n"
|
76
|
+
"jmVdCYE4PNRtCaf4c1DCWDqKzb6TkrwJM0JVLD5bKcGBNZUKOKi0/Q+QEWv6tHui\n"
|
77
|
+
"Zn8/Q+j5ZZvLSSO7Yh20vrDbb991fhUVI4IlFOCuFLZhm3TOaB5aVvQNaYwgWbzl\n"
|
78
|
+
"CsMHoloY65voisizmNa8/iqygxBnbVG6hITON7c96OhXJ0QWTQrpEZrLz+sxEDlN\n"
|
79
|
+
"mZ8MFGoHvv6lqFnJ4udF08bwpZsimbKJXRe+39pRc7kZyB0GafbLw+cVotAqF+HC\n"
|
80
|
+
"y8gTu+GVuZOa1/litqvsFn6ozlVyn3Pmo3fA3+xsem/QwxtBxTf31JnzzSuL8M/Z\n"
|
81
|
+
"XVguIEFjwxWK57WH9bnLadAYm0WN32Qo20lBdLokIf7XwU17z2oBds+tbdE/fQxl\n"
|
82
|
+
"OGjqv3cvS3uNmJK7kHciIXAc+kX7DB05anQl6fNH0YkyW6lx3pzoGVsMsin8Idcx\n"
|
83
|
+
"wy15o8VUdzce5Y6Vn5JIXT52+iJZ8nTiRiSnciBj64XfLjlMFUwyyriAuDErmynw\n"
|
84
|
+
"gCrKw1kzTT1dNbMsPfOBCOQGCLDsymb85xruqcrBgiCF6MAbA67CbdcBY4vmQRHT\n"
|
85
|
+
"GxaIm92IjoqJ8aNQSO+Phz3mLPUcwu2If2A6K4pJkOlj7QHN22pIjEkrUr9B6lgH\n"
|
86
|
+
"M+oSd6ap6K1f5qIqO5I84vsFuC3pLTNIZkZNtc2t1KC4NqYa+BGiDgaycQP3YW9k\n"
|
87
|
+
"DmTB2lGHhHtfzupL4kxK6siMpU337tZYT6OatKERXKNM1JTz/FWRKiZ4HB0Yn85p\n"
|
88
|
+
"P8QikXRfQY+SxK4jMwKiXFDszmfIBS9yaIa24WyZBRs0avedYR5tWs6IGPr36yTU\n"
|
89
|
+
"kLdwo52ZxqT5ZrasfBmZ1nmg2pWCYy3yswMjQ0fJFs+amczniCAIXqAfdPy3A8kB\n"
|
90
|
+
"HdessZ5519QMYGaWN95D4i5ZbFnImIKeAaMFPI095LGiI0D2X0oRBOqAjXkoAfIX\n"
|
91
|
+
"wgzijpfkiXorWBC+A1Hh70NkPXbB/NUtQrQW1zo/twNaaLrZOX5oG/LlyzngNwan\n"
|
92
|
+
"y8N9VeO9SYFfrVmg0DjpzEbbGT8scyUN40pHSdU8mXasgU2sGVL8wbFzYNdGHL0J\n"
|
93
|
+
"EtbLOPilRFytDyG7N6DdisCs2EZpqpavvFvm2Asl/0zewU1Zn0TXksbBpLg1mHE1\n"
|
94
|
+
"+46fhRM67xILqME+dBTsFIbX3RinIPJGGrj/iNDtaM+OClvvgGV1se7Ia1sgxqPx\n"
|
95
|
+
"NFvbGyyMdTiaQKYdGOJchgkr0ejKdkM/8JFscFamAHbNyJvwsEbv7zdqx4Lwl/8R\n"
|
96
|
+
"gutc0gI3xSmXMklqYf4G+BLiJCrNhVemljNBbyaGfMiX7stTBuGKIhmPZzL6Lc2f\n"
|
97
|
+
"F6WWNtBvE7nJPXi5tlHYmqk53Ma+SuSAAQzv1TerLIkXglVlRHES4wUSh6fGDjJ3\n"
|
98
|
+
"zWwBAstjZQ+vRUgubPvFejPxM97YJIaH+ziZWDHJaBDaxGbbCASiWJKx1VRLslzL\n"
|
99
|
+
"ZsXc9/9Am2GbTeHvtFEqbxdi7lnmfqKYIH3zoLk9eT0TPiA3NLZG2byHYdAcZsPd\n"
|
100
|
+
"iPtOuDOLu6MgY7LOBXiepLsdbGs9OZQOF6c+yPkJnPcIv+Xg2JppG2e2fFUlw8Y4\n"
|
101
|
+
"uz4iezouYjPEAtSaO5BwdS7FaeCbtxkhYwqpQpO31eCVwdXk+c69X3gHYiK+uNOO\n"
|
102
|
+
"EQNSKXrtLjS916L4WWgunvFY92D/8nPjKVgWjcXMYYis4tVpKXQhdz0uz7ZT3FHq\n"
|
103
|
+
"zd/8/59qYjGFbRFzCajMmrg26PV+1LQ4OTYcuP0P7JuEye9P4I0efnuWN5f8Kohn\n"
|
104
|
+
"5qM/4sG/qDydl2imzaClt0lbiMS4XnVmP+ymPNvfB/SJHkDy8JfGP59elc/Mf1D0\n"
|
105
|
+
"LgDsUpTr31jdHXkK8OGLNXyWjL3hFJnmNaRvn2A+GHns01mVM9Mas9FbRkS3G7As\n"
|
106
|
+
"uaHVBXg1n0FfjY2sQkYjmwtWO/TZkuN1Bz9ABQq1YUWoeRVtsSBeFJRY1jQw36fp\n"
|
107
|
+
"r5zoLKQsaydRxYWMjD+f1Y7OYvhYf9KRYMJwVJMI+GWMLOL2PBJqsBjwm8MV8xO2\n"
|
108
|
+
"tsgFfACOqGi7TSKEsOlvUVgWNntocnKPRNjcXczCdxOC2J5zMS+k0l0t7vkVJdz3\n"
|
109
|
+
"2EzHqd/6Txl1pKRByuQ/tIBdDuhEQ/M+sbZjwkHZt2zrgss4ji8JdKJX2EZj4KMx\n"
|
110
|
+
"HW4ZwTFsosaed3KZ8vGaYJ+nhsDl63OEXClDmjS3wqmW3l3bXQNdx6UCtk3C5vdF\n"
|
111
|
+
"n0z4/MDgM58foHeca4kz4JkTzmqWUkCCCvq880y7ATR0azxG0n7xHEEGUVXjGmz7\n"
|
112
|
+
"0IBKGe9VV9SNGLVo55kacdmqMJ6C92lfEgdUV5bJrhH0lg2Y14L1fR1aDCaTcfSy\n"
|
113
|
+
"W2W7pa+qc1ZqBlzEqvKL60XFBkPL/qw63nd9p2O5XkOl3LFYT+V0A50Kg3GaImAW\n"
|
114
|
+
"MVVAr3CpizYNW8cXOa0ctH6ZTm2fkFING09F8KjRlJBc1jGihIGXR/hilpKMbNEm\n"
|
115
|
+
"l/IVZtLOgaNYyZ++g9JQuZoAU3jUps0tM2AoLr2fk/g5MAdd+ItHbnY6dQgj+QBz\n"
|
116
|
+
"UlMNjZgcmQHujBMqsVu+7CDLZlwHsanE1n4O4wtVM1Dj/VX4ahTUIWivG5FCIvRO\n"
|
117
|
+
"YkSPLq4s8RfA5UTFlRyqrKlwn6Nt8jssNwkSVGtO+hnZOYnN+1Z/+veZjnJkUCZ2\n"
|
118
|
+
"NYO8SftfX9X6D4GMbhSzqDM9kQBG+gYjK+yffeYLV2E8j/SQ0qwt\n"
|
119
|
+
"-----END ENCRYPTED PRIVATE KEY-----\n";
|
120
|
+
|
121
|
+
constexpr char kRSA_4096_Private_Plain[] = "-----BEGIN RSA PRIVATE KEY-----\n"
|
122
|
+
"MIIJKQIBAAKCAgEA6gd3rC3nA16FQDPP+tWm6PBJ5cEguD0fmKo0QOdmXrUiWP8U\n"
|
123
|
+
"4bXfTd+gzxykLaUgz/2NwWqUNW/gpFedaeY3+SDUw+R+/YZ1qHmaxP93PMczGsbr\n"
|
124
|
+
"la2GVqZpoj+SpoPHtOnkBRA81jsTdUl35I5py255gESkm8QakeMY1IKNvKJEOnnH\n"
|
125
|
+
"QzOvo1gZzURRfSiDUtfW9WHXmRQH6t5hMM+0yEy7dUKVdQRbfkputoXYhRj+qeMS\n"
|
126
|
+
"iVmu6m7euW5rtA3gPk8tSvLHbmTnQQSE6Zb/NruuxssKYu0eZBcHqxW71CabtVTb\n"
|
127
|
+
"rEibzW5FhUx/mtVLTcB9WZa4JNvrVK/YOMmFUMVwiVFgCIxeT9/+qpiSNd7Sacbf\n"
|
128
|
+
"ldbHIZu81MVv1tmX/wS819FChbAJyFKFfDVGfSk4kzLG/O424nTtDLlGOC1pct0Y\n"
|
129
|
+
"+H73OTLYZ4jbWMFJFAWAREm3/yCp2cFFyultOVoyyVGtBAB+uvSmviMntJOSg8fy\n"
|
130
|
+
"X0Y6L4RMYqYVfc1J6aozXU8IUMydeHbZ51ZE3a/fKEnLKl1zjtZfprN9xewxn2HD\n"
|
131
|
+
"iz50qzMWK124H+tFuF9eMdr2nohof0uIrI1SAIIcNgiFeuGifsjHY9hXCO+tU9+i\n"
|
132
|
+
"tOIflhZc/BJKrJ31z2qu70GeXlee1TENLQw+QhNXNSC91MIiFWJAkQibX6sCAwEA\n"
|
133
|
+
"AQKCAgEA0YLT6SnC6apB4qM/61BAN8N+dJh8IVRfJ/4f/4bph5njYQcje5mliwLL\n"
|
134
|
+
"5P7AIDj3chyNPn2ap2g8FQR24SqAK6DvuVujMHaieKw9GWWXKqsunic9GueZH5Ol\n"
|
135
|
+
"d+Iv+LB7JgRJ5RqPTD7hAZw/IDc6kSuazHEnaGecXcSQIxepqhkeubbx48Cu2a3y\n"
|
136
|
+
"k2g5B7IwNwcR4uWv7NQY7nQdUGRydOr021o7kOHQwvQBv5d9qlIhEpg9rQbD6A5P\n"
|
137
|
+
"iHRJKY1Olpmtc657SeI9gWB5WOGcIzTMmB2Hc97R2Usgy1IOsDPMK/8HFmp+SOAS\n"
|
138
|
+
"ju5YQpX272mHDqA2xJC5UjyGdvg6RsmfEw3DlELX5S+zuXWdRCf18wV7FJnRXZWj\n"
|
139
|
+
"UHgtdFtR8eNyiHoDCkRSh3H96obbJTf/3IoSY/urChB6+JhXsryusLgNpCasbKTI\n"
|
140
|
+
"gK7dHq9ejl7VSM8EbI5IeyfRPxwhi3EvQVg2MVfqbkpcohb1jS886AIc+/b+fhQE\n"
|
141
|
+
"AsYnsDzAIrK8VDwVpbipdMiQiz/Bt+QR/h3jo3g++3U5L9vo0A0VQPH0nUJKJneI\n"
|
142
|
+
"d7zS35lFQYzQL+cAJTBBvSQEUtFCXQcU0ehoMRgGsUb6/oQZtQuADXtjGLoJKLtc\n"
|
143
|
+
"HPpGlg9Jc3QcIu10/yJ9/zEtJXfO5XHkUXCdruakRGopOStHt+kCggEBAP3XuDnJ\n"
|
144
|
+
"ATgpUA6WVSovVbvBSMmRUZcHxFOBo28SXClbINdlG08pDB7NnKrqFIOWFR2qKG4x\n"
|
145
|
+
"ZUGP2pfqyXmIrf8ng7hpsifhftAqJ+XDEtCT71Rvcn6iz9hDudaWcBZxQ+Gsfn32\n"
|
146
|
+
"+lDUjg/MDgYE9RecgEoXQlvSZkhTG8UUGHbasfcpQ2HcUnhlUn+GVpC2TpXhg2Gk\n"
|
147
|
+
"KmaeIldN5CSJIYDlLOHINC1yULA+Cqgx/H7ud9AaL741LtskbURHek9SCmnt3wdX\n"
|
148
|
+
"y+Yu+Q9M87W254jM6g6J5QObumiJH6cpZg21hQ8OIJD0Vyq7Jth8aKW3snKIkdIu\n"
|
149
|
+
"PN2ywsFiA295nPUCggEBAOwEo9mCpKM9MqTFb/njDr/Qa8ZZbpUTnkPVXHmtg2B0\n"
|
150
|
+
"CEgJH3Pj6xhFkxE9xlk09Y9T+zCFG44qd85lXKjY09zA21o4kMgDfyuHGVEeI7Qc\n"
|
151
|
+
"+m5njPgsFu/RsibjYzsJpOLMfKrGyCT12PC6JzHeDkKqeZEy0dB7INoNRl0DYAVt\n"
|
152
|
+
"ikRVVWsekqDBZPfJmkqIiyP7uTbXZxiSvrRlHct+Yi86QIsecArfYfXuahXtwaq5\n"
|
153
|
+
"SJZ71W9/NqEMhy80AbX7QaORV+/2+V8Vh+hZCf+WTbyRO3w14l57m6z3+8EMxnu6\n"
|
154
|
+
"bfJwbUJSFlO2rMHH7gSaQGeFswYZTBmi0X+k8EAhJh8CggEBAJP7dHzLf5h8DR3T\n"
|
155
|
+
"6iZDnhls3sATpZsEfiGoi9yuuWeqpoSrfrYxWc2DVHgXKopjrj+y+Qr0ZPFJqcey\n"
|
156
|
+
"qm3djoIXSSTzCVdSkBlO2h+KD6fk9jslFXxZ8g1Dvk0pOoL62PXxF3TbzKXepEr1\n"
|
157
|
+
"TJ+ZuEBhjjCjSp45FEPJn4DO7Ewtxl4uggfE55ckimmpqUGH5lxeMbd0evuD6MU4\n"
|
158
|
+
"tW3PO+bms7mUe0abRArawF+5dFeTMenxui+K1ZwPqluJx/YB/+wtLj4botS4QZ33\n"
|
159
|
+
"4IPo8yW/QBvlq8rkuFFEz10mN0Z6se1K8RVQPJi+rjC6pk8lvjQjBc+gAP/FvN/8\n"
|
160
|
+
"AcC1BxkCggEATESrlgxLm5yZEvniV4PyLjXxveUEgRQX3p/CBGf3vmGAk5avHUoX\n"
|
161
|
+
"nH5PKhEmWYltmOVwlJtO7j/2+zFyIfX/cKS5vYvt7VSD8dL0cWwl6Xw7yRWZTlEh\n"
|
162
|
+
"EFpZEYwFcvyI1elyl9UotBjmA9SD+e9h+FUSd8NOXeqMESqdBE2k59wgBDj3I2h7\n"
|
163
|
+
"xYr5T8FMJK2/GN+tWHV/EUfKbI0Idcvfepd+Z/ZsCndpNonWqkNsg/jf5hEaRa98\n"
|
164
|
+
"PcrInI5XxzDsYykCm77ZkspoYsLzIi617CuaZ2caQaH8CocQSbARK8Zw5RlDlVzl\n"
|
165
|
+
"biPn667p0X7vNQTVdzERkG829+Ka6H5NzQKCAQBTrzGD+WO64tt8AbdNB3BwXrq1\n"
|
166
|
+
"Os4CYVGKtKCxFxYPRXmuFQjNeUFNZFwX5EisWj68pRdBr2tEYirceCtcSf3c0znw\n"
|
167
|
+
"yjvXWvHXRqN5cyz8Dl5ueFju8Tgs5d3dMUYROBE1/KrcNJXjITU3JMxmoXLHKxGi\n"
|
168
|
+
"+BU+2GwQQWPtl5JE8m7O8i013ZhwHydZWwLrRkCxUB+BQjCnef0Q+3mShSl1ac3W\n"
|
169
|
+
"IyUTUxzO5e11aFYj7TQiIY9hcte6DIbE8Zgmds05PkImgDvwwYfXWSeKY9WMUHRr\n"
|
170
|
+
"Swy0Bwhwqnuv4S5egCq6MexGU669C1W7fr6oy5wRDhwpT/H12zN+n9h+AZe+\n"
|
171
|
+
"-----END RSA PRIVATE KEY-----\n";
|
172
|
+
|
173
|
+
|
174
|
+
//---------------------------------------------------------------------------
|
175
|
+
// RSA 8192
|
176
|
+
//---------------------------------------------------------------------------
|
45
177
|
constexpr char kRSA_8192_Password[] = "password";
|
46
178
|
|
47
179
|
constexpr char kRSA_8192_Public[] = "-----BEGIN PUBLIC KEY-----\n"
|
@@ -173,130 +305,104 @@ constexpr char kRSA_8192_Private[] = "-----BEGIN ENCRYPTED PRIVATE KEY-----\n"
|
|
173
305
|
"gts=\n"
|
174
306
|
"-----END ENCRYPTED PRIVATE KEY-----\n";
|
175
307
|
|
176
|
-
constexpr char kRSA_8192_Public_Plain[] = "-----BEGIN PUBLIC KEY-----\n"
|
177
|
-
"MIIEIjANBgkqhkiG9w0BAQEFAAOCBA8AMIIECgKCBAEAjQG6LZvY4H5JVg3HuKzk\n"
|
178
|
-
"sPZX2CuA4+J3Ucu4tGyd/6IaDMvFxjod+PC8tjEmOgp2YtKw9sLHpPqPw0pIkeSS\n"
|
179
|
-
"umn0OALdaMXmQxmZ8ErECoGQePXpkYEsKdR7jzuaQH6kLOvDCC5HgghaMoXNzxOH\n"
|
180
|
-
"xGuAqnN4AAp+t4F4CsrJ0NvvsxDdegr/PVs/gXgQVrG4oFdlNNGa1JYNwB/+K/VB\n"
|
181
|
-
"4vg5ro4hlgmAjm7lCdK529sLsxVCTs+R/q+SAEXiZw43r6Nyu8qyFwq82uJ83JBw\n"
|
182
|
-
"f/AfF3MbFMf0mvGjryvenMWDEuReXnSFqr4dXkSNaq2+R5JE8D3VZxrRPJvJ/B5F\n"
|
183
|
-
"8LgGHRNNx5LTdQx28knz139w4KEWxsHnlMETeAkgUo7DD7iYtYmLNHSnNORWO58+\n"
|
184
|
-
"m2jCkm3ZMvTLtcl5obc8tNVR3hIZB/uqQMNQ19r2643kiY8y31sXODJmX7lNHg9w\n"
|
185
|
-
"yX0Iv4KaGJeztYQK3FER/+m+xKJP+OpalTIAR4gCAPz3WK040w8vvze+yZVA4Zc8\n"
|
186
|
-
"8eoP9oO79GilfjjYwP11qXUI5aI79HTSwc+xLfPPSR5evPrpp1M9xZ5iPYKZAiUV\n"
|
187
|
-
"XHNYyu2fIoRrY7z6cDCPb+gp3GIbmWbv4dBDiuml3v+r3oq/0b1Zn19RF4sL/HyT\n"
|
188
|
-
"W0a7vehzlgWDDvlMUZj3/4X/X7tCAZ0rfQ4Ymc5Zb7QRKwQXq3mPNt4mhexa8n1G\n"
|
189
|
-
"605WxPM7DNggfBtORccO5SSpC+GlBEnVKBu6Z67rLD417TFboS+EoYMWexY8lfJH\n"
|
190
|
-
"eni5qShftt79UYPALs6iarM/j9ZrRlf9RrpPZ8tAMSberpwquE3y4NvYbRa5JmoI\n"
|
191
|
-
"qoy7sA5DDYvWSLI7N8FS9wFxuyYhhp2es1Z3v6H8PYRNgCPs8smngG/PZpv4Hyr5\n"
|
192
|
-
"Ozrw6xF2zzhp+t7ilC3uGkn9fLovSD5Y9K9Qf5X6CTl8l0HKjyJG8/HerYByE+BM\n"
|
193
|
-
"XpJdrGSaHJLkpkruJc/IAVUVLtoHojOpfNyoUbblJxwrEz/RLWk6pbmwK9Ae09CV\n"
|
194
|
-
"R+dEcnLeiCUtxPGSpuurIsGyy9Gdr5NG4VDX/p01/K9wrMK2cUdlt6n5Ut0I/Eti\n"
|
195
|
-
"zrB06AuI7Nlippg63lhkKR8By4R1oMDltE0QhL+tN0/YWJV8mD0KcK+v4gBHP9r1\n"
|
196
|
-
"sYnUN3Qadh6OfsPMznukXo260dI7HNTNdBeaT6LP4Br42HLJdOePPRrhRSaItRr9\n"
|
197
|
-
"mLm3w1MGcEeRpuU3Yj9vnhMZbzS+BsUAOAZgvhZgkSRhyNyETPqTAHNHagGQ/Lbw\n"
|
198
|
-
"evj7lNFbzaOKLlLQw6e7DTe2cGj1H+T3XxEhT/hgvnMlWa3KawIFYLOly+3u74Yw\n"
|
199
|
-
"EQIDAQAB\n"
|
200
|
-
"-----END PUBLIC KEY-----\n";
|
201
|
-
|
202
308
|
constexpr char kRSA_8192_Private_Plain[] = "-----BEGIN RSA PRIVATE KEY-----\n"
|
203
|
-
"
|
204
|
-
"
|
205
|
-
"
|
206
|
-
"
|
207
|
-
"
|
208
|
-
"
|
209
|
-
"
|
210
|
-
"
|
211
|
-
"+
|
212
|
-
"
|
213
|
-
"
|
214
|
-
"
|
215
|
-
"
|
216
|
-
"
|
217
|
-
"
|
218
|
-
"
|
219
|
-
"
|
220
|
-
"
|
221
|
-
"
|
222
|
-
"
|
223
|
-
"
|
224
|
-
"
|
225
|
-
"
|
226
|
-
"
|
227
|
-
"
|
228
|
-
"
|
229
|
-
"
|
230
|
-
"
|
231
|
-
"
|
232
|
-
"
|
233
|
-
"
|
234
|
-
"
|
235
|
-
"
|
236
|
-
"
|
237
|
-
"
|
238
|
-
"
|
239
|
-
"
|
240
|
-
"
|
241
|
-
"
|
242
|
-
"
|
243
|
-
"
|
244
|
-
"
|
245
|
-
"
|
246
|
-
"
|
247
|
-
"
|
248
|
-
"
|
249
|
-
"
|
250
|
-
"
|
251
|
-
"
|
252
|
-
"
|
253
|
-
"
|
254
|
-
"
|
255
|
-
"
|
256
|
-
"
|
257
|
-
"
|
258
|
-
"
|
259
|
-
"
|
260
|
-
"
|
261
|
-
"
|
262
|
-
"
|
263
|
-
"
|
264
|
-
"
|
265
|
-
"
|
266
|
-
"
|
267
|
-
"
|
268
|
-
"
|
269
|
-
"
|
270
|
-
"
|
271
|
-
"
|
272
|
-
"
|
273
|
-
"
|
274
|
-
"
|
275
|
-
"
|
276
|
-
"
|
277
|
-
"
|
278
|
-
"
|
279
|
-
"
|
280
|
-
"
|
281
|
-
"
|
282
|
-
"
|
283
|
-
"
|
284
|
-
"
|
285
|
-
"/
|
286
|
-
"
|
287
|
-
"
|
288
|
-
"
|
289
|
-
"
|
290
|
-
"
|
291
|
-
"
|
292
|
-
"
|
293
|
-
"
|
294
|
-
"
|
295
|
-
"
|
296
|
-
"
|
297
|
-
"
|
298
|
-
"
|
299
|
-
"
|
309
|
+
"MIISKAIBAAKCBAEAtWIfF94niOYRV8JKvX9CRzlxWCeGyv6RNTma1zRZq2lKHBFc\n"
|
310
|
+
"+5j5I4eqPPVQ4Xfb4fVkB/Vua1zLSRT49G8Xf/9KvfavHUZG/8ft2VzyAIuxmVbS\n"
|
311
|
+
"t1UToOGut/kCsstFQkC0X7Jny66ETh6inV4k/BiVYm1hJCap/k6o7briD8vayKrz\n"
|
312
|
+
"PpzK2LRVnFDiVjreFNI2aoUDQhWbdSSOQdI4FJWuYypgOWnZWcCIOtCG7s5D9HON\n"
|
313
|
+
"lFR/C011AQekrB3e0rxMMlp6s2IH+9PSmHmlFkgDX8Jn5CfkpQbT0CTEvVnfcb7/\n"
|
314
|
+
"RbX+gxsvDO3HRL6Fzhzo/uliwNa0rbAzWYidBamWCXsox8z1Cfd4VMf70FnRPgLL\n"
|
315
|
+
"oeQk0LulFwbzZZSfi16lMaAtTcnj9GI0dlZY0e83kZDHP/Udrq/FqCvOeIYeRZAv\n"
|
316
|
+
"q5mRtPuGvqr0wR0owgZaPg4lf+IoBlj/JAJRUjUSty1LLfR/1p0I0rntzzHyQfWJ\n"
|
317
|
+
"a6MQi9e4n1zvK5TITnK7iRm5zAOm7SYWNs8HPMuCNtTOidt1pyaU9wpZZ+3BPM8C\n"
|
318
|
+
"YTy89QNi9tUfv2+QqaA1OHjf519Tb4zgJZTl1SnDYzG8HNyVu+R083NnpPMedmGs\n"
|
319
|
+
"LI09GvjWtkW3imrGk//Ll9e92Wxb2/8qB8DbPnPh5JI5SWrvY5fcEVsv7jTEsM2F\n"
|
320
|
+
"lCg/hFXkIwMmwt9PLKMESpCxP39ldX7lCayovNlpJzK82alLPttgarP0YX3rwEUV\n"
|
321
|
+
"EURUPhwYF7j5IiVxRl5HumuRXP0bHexn1aJ0obuAM1mhC/9v6w0dFJiptbIp2Drd\n"
|
322
|
+
"KC80BnWQZpXzxfxcCMvOlP1SuSZCQ7e2c82X34UWUXIiGRszdFCL/Y6Zvaz5OF42\n"
|
323
|
+
"5Tuh86+mK3zZ8hX1+1UYFmhRsCRkEwYOAs4W3tn+rSU01XNByWxWb1pxCSjntVNZ\n"
|
324
|
+
"QgeqOgDVMXihzwxMtBa/C9LiPNKzSlmQIOg2g599d4LyAAPExevRVDb7eRmZEGZz\n"
|
325
|
+
"Ql/ve4VjzjpqynDUfvQG6ABXy4OMcWEo5byGAsRByR288yQzEPxW6+GtwVubAy/0\n"
|
326
|
+
"EP6PqM3Vu4BiKZcHJkcFYyRvNY2i0MI5Nibxrm94mgmJYw9kPU/RvOSRYGmdhhZa\n"
|
327
|
+
"Y3hQJPf0wTUphKLPJ3BxxzT8dIsRLeL+xPVD+9okwQ5OiuPG6iCT758fc5DVQYmy\n"
|
328
|
+
"vwZMwmPzqp7RlaoFT0VYcv+0WDBUnC+6R+SURQ9b0oS/9eRLq4uhJgkYFmyU5FhF\n"
|
329
|
+
"AwXoQjtm5b2i+xJ1ctVmNUwh5f6hoJcmx/KPSOLk5teZy4WK9p5APVI8ApwwvJH2\n"
|
330
|
+
"gs0qohIjFT4H6vppaK/K5XVMvZYech/237gz8wIDAQABAoIEAHC5NyulI5q/qH2K\n"
|
331
|
+
"wNo9sVoER/2KKwoS5PlYAHPIFAYkHCuPWuL9sa+0C0dxCb/ltmAaGf2cOPA+LhQQ\n"
|
332
|
+
"FZwLQmaIqNGf8jpWR5+Eh7uzOK7AIjJys+e91sIAH440Eco965/+CFsEy97YaV8H\n"
|
333
|
+
"SPZV4NRPDt+prFpEMRdbmT6NCxrYDPLy0tLRrHq6sA3Ccrc2RHhaH/lZCqpSNVe6\n"
|
334
|
+
"zTH4zGN2lncIid6EetB9h+xNVd4pkC/mdFF/pajHjXSDZIKW2bjLzuroMiMzRFTr\n"
|
335
|
+
"0pBx4PgU7wvfDKPNaxpoQNC1WRN4PBY7pfeT4EVoang1ecauRQfQDbkGIBpKFOVw\n"
|
336
|
+
"gKke7r7rItRnlvN827hC9KRz2Homp5RLNnQ5DewvAa1q4274y6JYwn8x1ZXnZ2Sk\n"
|
337
|
+
"d4gnp3Foonczq7CCy9yZXlRiTSG38C45KncRrGz2eEocgplVXtQeEI1KS2HLkiZH\n"
|
338
|
+
"vuCJFDLryuLOIk/ACIa+9xHG/RTsLGtzheC/6XOPMCzSG81Q3J9sTEIrG72/c0kk\n"
|
339
|
+
"h1+ukAfnTdh3rpgcLGUh5CgXZXLiXlpFKGx3y9LVNPbDgsR9OEFC0HB1JmlrY7YK\n"
|
340
|
+
"re6NN7yfBM+rxAWHzQKFO21lBj+L3B2kG9VgPV560S1b7HH4Y8rsiIGoUVNDNV9m\n"
|
341
|
+
"l59T6q1IZVWgzjtjWrzhTqH2srXtR13y9HxJz50Ep6D3LYeTEd83RKAW54N45UOw\n"
|
342
|
+
"VgmL64XTWgacFKWNR2heo7cuzBsfT6WWjWuXUq4SJkHWQZ4s2FKP7t8AU40BF/X0\n"
|
343
|
+
"Aqx0m1heo4ISSY+YtyqYOOcNv95nLMXo/yXtK/r0Vop7tNqF/wWZUDDib3IqbTrb\n"
|
344
|
+
"BDtc0PGBpdhqrbj1Rhz7/CYIZL7dbljy4NU0bTCtu1XZekjO3CqS/MHkOoAOrqP7\n"
|
345
|
+
"+RGxo7CO+u/cLrC6AWJ+H3dEb/B1nPwF6mkx0D8SizdH5UyRku/drXakh6riOr0P\n"
|
346
|
+
"A48gOXUEryNtbIzjYHWagosJ/aDaOSp7G2uQcq7R/ey9qCs9jraBJnQaBoPpksD5\n"
|
347
|
+
"XKIgbtxs/gXo+d7/fabVmPRk7JlE2t7qAnlSqz7PlhwRtqZtSDAEBG9iiKwnMiS+\n"
|
348
|
+
"otJgbpvjdrOon0l3rBFa1k4sGN6wz0okCF/7jpsbCotDHLi9WbWGhLH0WwQ266l5\n"
|
349
|
+
"CDtnaD7HX9zTuBhTqzXUcqs30XinCHnN5u+K7a5mxNpmPYzgBN5ZCDeM453xXl66\n"
|
350
|
+
"V72FgaZAfmbgy2sgGw/Be6eTtNC7NM9C7STOQwGTE5HxkszR6qsyMK7L+xebFdE1\n"
|
351
|
+
"4SbkuaWEsjlPm9k1k9+ycdWtB2mp/KOYyfbiojLqVXoPNkEzP17I3YnNn24RlmLb\n"
|
352
|
+
"2HteWtECggIBAN+iIw6iiuT+orAfl9Bch+/9WVEXSi7sUrCC9crUcryaTlYe4sU3\n"
|
353
|
+
"b0InkDrJatAigKxxfCWRXdDgL7qRD0juU7D2Dw0RP6p1Hv7j7Cv2PcXZIHgK8ra6\n"
|
354
|
+
"xExMyKVhFNulYJoFjdWOtg/qwNIAcEoaAw59l9pfGu8Q7h7avGNrCPnIsL/y0qr2\n"
|
355
|
+
"k8Ewrufpksm/SyJnUnHI44tniYH1B7GVh+1RA23H/dLOT3wQuNTSHFDbzmphLiIm\n"
|
356
|
+
"2L2EXIslsEDVRWi7BRbsvfn+N8SIb8Nn8LoSvCHHpUqaGIj3mrTsNyOBHe2he2NN\n"
|
357
|
+
"+muY/KMTvXOLSzfP0bXLps0byPleqpZ5kHStdHX0lHTiRU6gh6d+Jz2VL5Fd8vBJ\n"
|
358
|
+
"C3OymZNvZy6UeUplj1esHQDQfQkqMvI9+N4kAXiwYo3N3o7WwUaOr/9Wrt1/yttX\n"
|
359
|
+
"Y0Ev1asjUMk7SHvZXnHPpXgcRTiDV90RWFYEgrj67jcqHgtz5OU6ySTHyWU5mbAZ\n"
|
360
|
+
"wfvjNKPnPwAgXQUUbFQYFN4irH2wmF5XwfqEd7TfpNSpaOixDkvefXyQ0liK1VXL\n"
|
361
|
+
"qLu3/s/417hxys6e8ViIRozmJMPBoYqXTZEP/CIkd7CyjFV1zrWg0mu0KqA1Ld8H\n"
|
362
|
+
"D/fMig2D8nxLBoUqRKLlNfzIYBbapQbf4jd5ojBoJQN0RvDg1OWXyL9bAoICAQDP\n"
|
363
|
+
"opKwuXIvjlc/0d9QP3Sr+OSLAkbrjbIkaoiWtFsiX6hPE91Gb8lU1tEvAk+Z6P7T\n"
|
364
|
+
"jpS45z9Uw5w/u6vMHqJsykVNPBe0D4fxepv1S/QrD0RGTC4Y39VhFOi8EPmx/fIq\n"
|
365
|
+
"nTg4dor/o6boB1X7sgcVXfIT1m35dFPSv0XpyDQgMIu4KhxptIVtou/hoAODd3uY\n"
|
366
|
+
"dmoo74iT7DDtXLy5EdHnfoiasatqYi3qmcbvOaP0pg916FioSfGtINq1HDi8EsrU\n"
|
367
|
+
"QTTIDixB1i62JqRvrObxCPJkq44Nmsh19361mvuAu7sniN2nB979D/o5KPHn2iVu\n"
|
368
|
+
"5/eRGmdCK5ziHmGx2nxI/T1WMv7nyGA/clQOKgXmPNgpHMZsGFDly76m4zPMUL72\n"
|
369
|
+
"9IyyOKl8/CmfVVjCUMBHr6+Wq7YoY3eZzoQdhVVDVcWhaY8SMoXklNdVrYfyMJIp\n"
|
370
|
+
"sfovcIGQJKU/uzegfNteaVfRn1w977Ihs1nMzeNDX/2S0ciZacxiDpK7PkuW+mX+\n"
|
371
|
+
"0lGtyhX8pDoNT3Gfp3EZE6PBZxX9kJcPMegS2jsxpuMbokBBNAWoOgTiqyal7jWR\n"
|
372
|
+
"Lme+ncLb6sFHrNLYpYKox9AO92NzC5IK7BzY1S04zixElLAqNAkuifYeck4pYjtn\n"
|
373
|
+
"Kc3Fwujm5y/fqaAy7agXK4/JH5JJzb/2Eg4ydElZSQKCAgB8qLDKE6lBBQBDFRlX\n"
|
374
|
+
"OH0+Ngd3wHfFuE5PvnCs48ghghJwxz65mLEYO12Wp3g3FUSM26XMez/Ek3OHmBzh\n"
|
375
|
+
"FpjoaADz082dgzQH+Z1I1DaS9vm2cMPjQDD0J0khhwBNf95dfQMXLDoonT9m0H/H\n"
|
376
|
+
"jsBtb20aeTFWWiWiZWPmN2AFfO2p0f3E9zZd1nlpJTaB53RGdTnr24ObzddE7gWf\n"
|
377
|
+
"5C6lByfWJklDHWYJTnj5iTXnjN9/RTSmLOlcm0/K8PNS8I+EVdv8b3Nmy2Li1vsV\n"
|
378
|
+
"/faegpsEaXmmIEfU8dD3UUVbMToxoHZbYLhbCiip7vMIWXlQXzQTFragVwCsoSyO\n"
|
379
|
+
"PK1dnOLybafjj836ilmT8CqHlYWyjqBBeTY9BC2/lbX6rSD/a6V/xZ1VOuK4HSHR\n"
|
380
|
+
"DuKPUZrQX+JQEZYiIWwTnK5Ws0c+iWHW6tuVFskQYNtDkRxSjVSsNIeUcI3VdsGf\n"
|
381
|
+
"pW+MY29LFfV8Iqok0DGj5iUBr6yAFJ+rHnCXrItHYjwoIeI4Vq4cImBfgwyL88i7\n"
|
382
|
+
"rkefEgB4fsIvGVA1hZzmhduFeGUInjtVW/Vuzp3n6Fq3ohbfHpKCO1S4bgHIbUNT\n"
|
383
|
+
"Mgw29KYjkhh2EtFPQiA79q3VA9VPANXVIOaxxv6dkhO1XU0BJhKkiwiRJFEL7E1Z\n"
|
384
|
+
"i6taKR9TxHn9du+kjm+enAF3SQKCAgEAo9myEp21Gwwjk+xFYmlA47jceUoJtzax\n"
|
385
|
+
"HoWnVe3rgPulsQmG81+hrD59ArC7KkSwWzhH6oYp9vUKJ00s7D48hMc12xYRynj7\n"
|
386
|
+
"GTddPTx76UL56NOTCPQRybObWVW4BZrVcIVy6TO6yrNVMgMf+ihp6JWjQ75SOKlw\n"
|
387
|
+
"wH1KaYsgf0pv55vrogrfxD3xOMZyH1u5f/3qFnW3/KtFjPpCv3TthNXYbOLJ14C0\n"
|
388
|
+
"pU5Gq198H8Kvrqb015DKk4m6rXMg3mGiB8+RHFH64NVpNTrXRn1WHV2nEoRC7D95\n"
|
389
|
+
"84WkSyGLWPJMZY1fBMF0WZUzK8pA42rFYXjSZ4JDe/c4rUO2aoh0zZBxx8UkXLpG\n"
|
390
|
+
"IatR43+L+j2HgyH+/yxNIpoe0Em5BYGuwOkI4ldOgJ/pJKBQE79vjOJ6GNdWPxcH\n"
|
391
|
+
"Oau7nCQsvZ9A/vhy+7Q87r36E9WF0zw7C4Y0XR1WUO5qLRnLcu00m5NbxsMQIpw1\n"
|
392
|
+
"oNyMf871iaSFUUgVGeNgcvz3E6W8Nt9Qf79uz0sLALyERx6rFocm+9gAwM1dkCR6\n"
|
393
|
+
"4HXMopvuXGdLDvKB7DJmSHPIiSrwq76ILRJGsiiCrdLaRXp/RJGPwysy56yXoSC/\n"
|
394
|
+
"VbkvpnjLX+lrC4+eWR+JI12hiDNBtOyc3fMiO+5splJH+CM+lRHwNKCereMpKO6h\n"
|
395
|
+
"jkh/RZd4jmkCggIAdY3VwTI+4iI151RlQNufK06EjPoR+8eWeakfzZCOL2xyzPjR\n"
|
396
|
+
"Xzgqt31uVqRxyFikiCMkOgjpFK7JJYwMKGqPzCrhqh2NBLIG/aR7OW2OHKxBtfRl\n"
|
397
|
+
"BdiiOLMtSo4PrZu6EBU+a77H8iL4rCizxoCFu09BlFoRFv0aNHyLwxmVg0nORxXg\n"
|
398
|
+
"a21490oz2CYO1dVvWnUI5PZtUAex/9YvzXzcM6hB7ghignT0O3v2GxqPQQjKelOb\n"
|
399
|
+
"JonV8jnTK6Y1d5fXHf+NSTyfRcZTcX7fXRvrX/TfDgfeSJTBlOnHpJTY5Hayj9Hv\n"
|
400
|
+
"44yLMEYF88H087ZBbwQQCB8Tpq4pHNCuW5vSZFpyA9joEJemG6ugzzc+Pp4gDutK\n"
|
401
|
+
"lSeLVL0U+JZKNNYDBtJPX6QQJH+KQ617cglvrNSld/hPtKGWhrN9JNBQBkSKaJld\n"
|
402
|
+
"vckL2BJfNiVcDAohTiWizkd0G6qGkaCYDvOjfQyQL4b5Nw/0WGOuQAbt/3LGSYW2\n"
|
403
|
+
"5R4jWbE5Sh/ttASb02UpMMxG1QpEyXReeIi7B2OkX1kIv5XSwV1N5ja+Zz4dD0HG\n"
|
404
|
+
"2TkSiXXIJjTsxpqwNlEjbswRawNEJ2olh6YmmUwogGDV7aGEQAcIK2aaqdHrGtwB\n"
|
405
|
+
"F+eUskJJpN+iCO9cNSrBFvNPoDcociuzSwrpMUis8vn8STb4gDjVpr7pYeU=\n"
|
300
406
|
"-----END RSA PRIVATE KEY-----\n";
|
301
407
|
|
302
408
|
#endif /* VIRGIL_CRYPTO_TEST_RAS_KEYS_H */
|
File without changes
|
@@ -40,6 +40,7 @@
|
|
40
40
|
*/
|
41
41
|
|
42
42
|
#include "catch.hpp"
|
43
|
+
#include "deterministic_keys.h"
|
43
44
|
|
44
45
|
#include <virgil/crypto/VirgilByteArray.h>
|
45
46
|
#include <virgil/crypto/foundation/VirgilAsymmetricCipher.h>
|
@@ -49,6 +50,7 @@ using virgil::crypto::hex2bytes;
|
|
49
50
|
using virgil::crypto::bytes2str;
|
50
51
|
using virgil::crypto::bytes2hex;
|
51
52
|
using virgil::crypto::VirgilByteArray;
|
53
|
+
using virgil::crypto::VirgilKeyPair;
|
52
54
|
using virgil::crypto::foundation::VirgilAsymmetricCipher;
|
53
55
|
|
54
56
|
static const char* const kPublicKey1 =
|
@@ -179,3 +181,66 @@ TEST_CASE("Asymmetric Cipher - Keys Validation", "[asymmetric-cipher]") {
|
|
179
181
|
REQUIRE_THROWS(VirgilAsymmetricCipher::isPrivateKeyEncrypted(str2bytes(kMalformedPrivateKey2)));
|
180
182
|
}
|
181
183
|
}
|
184
|
+
|
185
|
+
TEST_CASE("Asymmetric Cipher - Deterministic Key Pair generation", "[asymmetric-cipher]") {
|
186
|
+
VirgilAsymmetricCipher cipher;
|
187
|
+
VirgilByteArray strongKeyMaterial = hex2bytes(kDeterministic_KeyMaterial);
|
188
|
+
VirgilByteArray weakKeyMaterial = VirgilByteArray(31, 0xAB);
|
189
|
+
VirgilByteArray strongEnaughKeyMaterial = VirgilByteArray(32, 0xAB);
|
190
|
+
|
191
|
+
SECTION("key material with length 31 fail") {
|
192
|
+
REQUIRE_THROWS(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::RSA_256, weakKeyMaterial));
|
193
|
+
}
|
194
|
+
|
195
|
+
SECTION("key material with length 32 pass") {
|
196
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::RSA_256, strongEnaughKeyMaterial));
|
197
|
+
}
|
198
|
+
|
199
|
+
SECTION("check RSA_256") {
|
200
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::RSA_256, strongKeyMaterial));
|
201
|
+
REQUIRE(kDeterministic_RSA_256_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
202
|
+
REQUIRE(kDeterministic_RSA_256_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
203
|
+
}
|
204
|
+
|
205
|
+
SECTION("check RSA_8192") {
|
206
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::RSA_8192, strongKeyMaterial));
|
207
|
+
REQUIRE(kDeterministic_RSA_8192_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
208
|
+
REQUIRE(kDeterministic_RSA_8192_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
209
|
+
}
|
210
|
+
|
211
|
+
SECTION("check EC_SECP192R1") {
|
212
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::EC_SECP192R1, strongKeyMaterial));
|
213
|
+
REQUIRE(kDeterministic_EC_SECP192R1_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
214
|
+
REQUIRE(kDeterministic_EC_SECP192R1_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
215
|
+
}
|
216
|
+
|
217
|
+
SECTION("check EC_SECP521R1") {
|
218
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::EC_SECP521R1, strongKeyMaterial));
|
219
|
+
REQUIRE(kDeterministic_EC_SECP521R1_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
220
|
+
REQUIRE(kDeterministic_EC_SECP521R1_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
221
|
+
}
|
222
|
+
|
223
|
+
SECTION("check EC_BP512R1") {
|
224
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::RSA_256, strongKeyMaterial));
|
225
|
+
REQUIRE(kDeterministic_RSA_256_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
226
|
+
REQUIRE(kDeterministic_RSA_256_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
227
|
+
}
|
228
|
+
|
229
|
+
SECTION("check EC_SECP256K1") {
|
230
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::EC_SECP256K1, strongKeyMaterial));
|
231
|
+
REQUIRE(kDeterministic_EC_SECP256K1_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
232
|
+
REQUIRE(kDeterministic_EC_SECP256K1_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
233
|
+
}
|
234
|
+
|
235
|
+
SECTION("check FAST_EC_X25519") {
|
236
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::FAST_EC_X25519, strongKeyMaterial));
|
237
|
+
REQUIRE(kDeterministic_FAST_EC_X25519_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
238
|
+
REQUIRE(kDeterministic_FAST_EC_X25519_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
239
|
+
}
|
240
|
+
|
241
|
+
SECTION("check FAST_EC_ED25519") {
|
242
|
+
REQUIRE_NOTHROW(cipher.genKeyPairFromKeyMaterial(VirgilKeyPair::Algorithm::FAST_EC_ED25519, strongKeyMaterial));
|
243
|
+
REQUIRE(kDeterministic_FAST_EC_ED25519_Public == bytes2str(cipher.exportPublicKeyToPEM()));
|
244
|
+
REQUIRE(kDeterministic_FAST_EC_ED25519_Private == bytes2str(cipher.exportPrivateKeyToPEM()));
|
245
|
+
}
|
246
|
+
}
|
File without changes
|