├── .circleci └── config.yml ├── .dockerignore ├── .gitignore ├── CHANGELOG.md ├── COPYING ├── README.md ├── VERSION ├── dev_cert ├── grpc │ ├── ca.crt │ ├── ca.key │ ├── client.crt │ ├── client.csr │ ├── client.key │ ├── gen_cert.sh │ ├── server.crt │ ├── server.csr │ └── server.key └── telemetry_grpc │ ├── ca.key │ ├── cert.conf │ ├── server1.crt │ └── server1.csr ├── docker ├── Dockerfile ├── Dockerfile-mq ├── Dockerfile-mq.stretch-slim ├── Dockerfile-telemetry ├── benchmark.yml ├── build.sh ├── docker-compose.build.yml ├── docker-compose.mq.dev.yml ├── docker-compose.redis.dev.yml ├── docker-compose.telemetry.yml ├── docker-compose.telemetry_proxy.yml ├── docker-compose.test_dev.yml ├── docker-compose.test_external_crypto.yml ├── docker-compose.yml ├── docker-entrypoint.sh ├── start-api-test.sh ├── start-api-test_external_crypto.sh └── start-api.sh ├── main-server ├── .eslintrc.js ├── babel.config.json ├── dev_https_key │ ├── cert.pem │ └── key.pem ├── dev_key │ ├── behind_proxy │ │ ├── encryption_keys │ │ │ ├── proxy1_as4 │ │ │ ├── proxy1_as4.pub │ │ │ ├── proxy1_idp4 │ │ │ ├── proxy1_idp4.pub │ │ │ ├── proxy1_rp4 │ │ │ ├── proxy1_rp4.pub │ │ │ ├── proxy2_as5 │ │ │ ├── proxy2_as5.pub │ │ │ ├── proxy2_idp5 │ │ │ ├── proxy2_idp5.pub │ │ │ ├── proxy2_rp5 │ │ │ └── proxy2_rp5.pub │ │ ├── keys │ │ │ ├── proxy1_as4 │ │ │ ├── proxy1_as4.pub │ │ │ ├── proxy1_idp4 │ │ │ ├── proxy1_idp4.pub │ │ │ ├── proxy1_rp4 │ │ │ ├── proxy1_rp4.pub │ │ │ ├── proxy2_as5 │ │ │ ├── proxy2_as5.pub │ │ │ ├── proxy2_idp5 │ │ │ ├── proxy2_idp5.pub │ │ │ ├── proxy2_rp5 │ │ │ └── proxy2_rp5.pub │ │ └── master_keys │ │ │ ├── proxy1_as4_master │ │ │ ├── proxy1_as4_master.pub │ │ │ ├── proxy1_idp4_master │ │ │ ├── proxy1_idp4_master.pub │ │ │ ├── proxy1_rp4_master │ │ │ ├── proxy1_rp4_master.pub │ │ │ ├── proxy2_as5_master │ │ │ ├── proxy2_as5_master.pub │ │ │ ├── proxy2_idp5_master │ │ │ ├── proxy2_idp5_master.pub │ │ │ ├── proxy2_rp5_master │ │ │ └── proxy2_rp5_master.pub │ ├── encryptedDevKeyPassphrase │ ├── encryption_keys │ │ ├── as1 │ │ ├── as1.pub │ │ ├── as2 │ │ ├── as2.pub │ │ ├── as3 │ │ ├── as3.pub │ │ ├── idp1 │ │ ├── idp1.pub │ │ ├── idp2 │ │ ├── idp2.pub │ │ ├── idp3 │ │ ├── idp3.pub │ │ ├── ndid1 │ │ ├── ndid1.pub │ │ ├── proxy1 │ │ ├── proxy1.pub │ │ ├── proxy2 │ │ ├── proxy2.pub │ │ ├── rp1 │ │ ├── rp1.pub │ │ ├── rp2 │ │ ├── rp2.pub │ │ ├── rp3 │ │ └── rp3.pub │ ├── generate_ec_key_pair.sh │ ├── generate_ed25519_key_pair.sh │ ├── generate_rsa_key_pair.sh │ ├── keys │ │ ├── as1 │ │ ├── as1.encrypted │ │ ├── as1.pub │ │ ├── as2 │ │ ├── as2.pub │ │ ├── as3 │ │ ├── as3.pub │ │ ├── ec_prime256v1_1.pem │ │ ├── ec_prime256v1_1.pub.pem │ │ ├── ec_secp256k1_1.pem │ │ ├── ec_secp256k1_1.pub.pem │ │ ├── ec_secp384r1_1.pem │ │ ├── ec_secp384r1_1.pub.pem │ │ ├── ed25519_1.pem │ │ ├── ed25519_1.pub.pem │ │ ├── idp1 │ │ ├── idp1.encrypted │ │ ├── idp1.pub │ │ ├── idp2 │ │ ├── idp2.pub │ │ ├── idp3 │ │ ├── idp3.pub │ │ ├── ndid1 │ │ ├── ndid1.pub │ │ ├── proxy1 │ │ ├── proxy1.pub │ │ ├── proxy2 │ │ ├── proxy2.pub │ │ ├── rp1 │ │ ├── rp1.encrypted │ │ ├── rp1.pub │ │ ├── rp2 │ │ ├── rp2.pub │ │ ├── rp3 │ │ └── rp3.pub │ └── master_keys │ │ ├── as1_master │ │ ├── as1_master.encrypted │ │ ├── as1_master.pub │ │ ├── as2_master │ │ ├── as2_master.pub │ │ ├── as3_master │ │ ├── as3_master.pub │ │ ├── idp1_master │ │ ├── idp1_master.encrypted │ │ ├── idp1_master.pub │ │ ├── idp2_master │ │ ├── idp2_master.pub │ │ ├── idp3_master │ │ ├── idp3_master.pub │ │ ├── ndid1_master │ │ ├── ndid1_master.pub │ │ ├── proxy1_master │ │ ├── proxy1_master.pub │ │ ├── proxy2_master │ │ ├── proxy2_master.pub │ │ ├── rp1_master │ │ ├── rp1_master.encrypted │ │ ├── rp1_master.pub │ │ ├── rp2_master │ │ ├── rp2_master.pub │ │ ├── rp3_master │ │ └── rp3_master.pub ├── migration │ └── 0.7.2 │ │ └── change_as_service_callback_url_storage.js ├── package-lock.json ├── package.json └── src │ ├── callback.js │ ├── config.js │ ├── core │ ├── as │ │ ├── data_validator.js │ │ ├── event_handlers.js │ │ ├── index.js │ │ ├── log_payment_received.js │ │ ├── process_data_for_rp.js │ │ ├── register_or_update_as_service.js │ │ └── service_price.js │ ├── as_data_helper.js │ ├── common │ │ ├── close_request.js │ │ ├── create_message.js │ │ ├── create_request.js │ │ ├── index.js │ │ ├── private_message.js │ │ └── thai_citizen_id.js │ ├── debug.js │ ├── identity │ │ ├── accessor.js │ │ ├── add_accessor.js │ │ ├── add_accessor_after_consent.js │ │ ├── add_identity.js │ │ ├── add_identity_after_consent.js │ │ ├── create_identity.js │ │ ├── create_identity_after_consent.js │ │ ├── index.js │ │ ├── notification.js │ │ ├── operation_type.js │ │ ├── revoke_accessor.js │ │ ├── revoke_accessor_after_consent.js │ │ ├── revoke_and_add_accessor.js │ │ ├── revoke_and_add_accessor_after_consent.js │ │ ├── revoke_identity_association.js │ │ ├── revoke_identity_association_after_consent.js │ │ ├── update_ial.js │ │ ├── update_laal.js │ │ ├── update_lial.js │ │ ├── upgrade_identity_mode.js │ │ └── upgrade_identity_mode_after_consent.js │ ├── idp │ │ ├── contract_request.js │ │ ├── contract_request.test.js │ │ ├── create_response.js │ │ ├── event_handlers.js │ │ ├── index.js │ │ └── request_message_padded_hash.js │ ├── message.js │ ├── ndid │ │ ├── data_schema_validator.js │ │ └── index.js │ ├── node.js │ ├── node_callback.js │ ├── proxy │ │ ├── event_handlers.js │ │ └── index.js │ ├── request.js │ ├── request_process_manager.js │ ├── rp │ │ ├── event_handlers.js │ │ ├── index.js │ │ └── process_as_data.js │ └── service_price.js │ ├── data_url.js │ ├── db │ ├── cache │ │ ├── index.js │ │ └── redis.js │ ├── data │ │ ├── index.js │ │ └── redis.js │ ├── long_term │ │ ├── index.js │ │ └── redis.js │ ├── redis.js │ ├── redis_common.js │ ├── telemetry │ │ ├── index.js │ │ └── redis.js │ └── telemetry_events │ │ ├── index.js │ │ └── redis.js │ ├── dev_init.js │ ├── env_var_validate.js │ ├── external_crypto_service.js │ ├── functions.js │ ├── http_server │ ├── index.js │ └── routes │ │ ├── config.js │ │ ├── debug.js │ │ ├── index.js │ │ ├── middleware │ │ ├── api_key_handler.js │ │ ├── error_handler.js │ │ ├── helpers.js │ │ ├── ready_handler.js │ │ ├── role_handler.js │ │ └── validation.js │ │ ├── reinit_node_keys.js │ │ ├── server_info.js │ │ ├── v4 │ │ ├── as.js │ │ ├── identity.js │ │ ├── identity_request.js │ │ ├── idp.js │ │ ├── index.js │ │ ├── ndid.js │ │ ├── node.js │ │ ├── proxy.js │ │ ├── rp.js │ │ ├── utility.js │ │ └── version.js │ │ ├── v5 │ │ ├── as.js │ │ ├── identity.js │ │ ├── identity_request.js │ │ ├── idp.js │ │ ├── index.js │ │ ├── ndid.js │ │ ├── node.js │ │ ├── private_http_header.js │ │ ├── proxy.js │ │ ├── rp.js │ │ ├── utility.js │ │ └── version.js │ │ ├── v6 │ │ ├── as.js │ │ ├── identity.js │ │ ├── identity_request.js │ │ ├── idp.js │ │ ├── index.js │ │ ├── ndid.js │ │ ├── node.js │ │ ├── private_http_header.js │ │ ├── proxy.js │ │ ├── rp.js │ │ ├── utility.js │ │ └── version.js │ │ └── validator │ │ ├── index.js │ │ └── json_schema │ │ ├── config.js │ │ ├── ndid_v4.js │ │ ├── ndid_v5.js │ │ ├── ndid_v6.js │ │ ├── v4.js │ │ ├── v5.js │ │ └── v6.js │ ├── logger.js │ ├── master-worker-interface │ ├── client.js │ ├── message.js │ └── server.js │ ├── mode.js │ ├── mq │ ├── grpc_client.js │ ├── index.js │ └── message │ │ ├── index.js │ │ ├── index.test.js │ │ ├── json_schema.js │ │ ├── type.js │ │ └── validator.js │ ├── node.js │ ├── prometheus │ ├── http_server │ │ ├── index.js │ │ └── routes.js │ └── index.js │ ├── role.js │ ├── server.js │ ├── telemetry │ ├── index.js │ ├── logger.js │ └── token.js │ ├── tendermint │ ├── abci_app_code.js │ ├── http_client.js │ ├── index.js │ ├── ndid.js │ ├── ws_client.js │ └── ws_pool.js │ ├── utils │ ├── asn1parser │ │ ├── index.js │ │ └── structure.js │ ├── crypto.js │ ├── crypto.test.js │ ├── error.js │ ├── index.js │ ├── index.test.js │ ├── long_timeout.js │ ├── node_key.js │ ├── request_status.test.js │ ├── thai_id.js │ └── thai_id.test.js │ └── version.js ├── mq-server ├── .eslintrc.js ├── babel.config.json ├── dev_https_key │ ├── cert.pem │ └── key.pem ├── package-lock.json ├── package.json └── src │ ├── config.js │ ├── env_var_validate.js │ ├── logger.js │ ├── mq_module │ ├── mq_logic.js │ ├── mq_logic.test.js │ ├── mq_protocol.js │ ├── mq_protocol.test.js │ ├── mq_recv.test.js │ ├── mq_recv_controller.js │ ├── mq_recv_socket.js │ ├── mq_send.test.js │ ├── mq_send_controller.js │ └── mq_send_socket.js │ ├── prometheus │ ├── http_server │ │ ├── index.js │ │ └── routes.js │ └── index.js │ ├── server.js │ ├── utils.js │ └── version.js ├── ndid-error ├── .eslintrc.js ├── custom_error.js ├── helpers.js ├── package-lock.json ├── package.json └── type.js ├── ndid-logger ├── .eslintrc.js ├── lib │ └── logger.js ├── package-lock.json └── package.json ├── protos ├── encrypted_mq_message.proto ├── master_worker.proto ├── mq_message.proto ├── mq_protocol_message.proto ├── mq_service.proto ├── ndid_telemetry_api.proto ├── tendermint.proto └── worker_functions.proto ├── refactor-validation.patch ├── scripts ├── build.sh ├── init_dev.sh ├── install_deps.sh ├── run_dev.sh ├── run_dev_api.sh ├── run_dev_external_crypto.sh ├── run_dev_external_crypto_no_init.sh ├── run_dev_master_worker.sh ├── run_dev_master_worker_no_init.sh ├── run_dev_mq.sh ├── run_dev_no_init.sh ├── run_dev_no_init_with_prometheus.sh ├── run_dev_output_to_file.sh ├── run_dev_single_node │ ├── as1.sh │ ├── as2.sh │ ├── idp1.sh │ ├── idp2.sh │ ├── init.sh │ ├── ndid1.sh │ ├── proxy1.sh │ ├── proxy2.sh │ └── rp1.sh ├── run_dev_telemetry.sh ├── run_dev_telemetry_ssl.sh ├── run_dev_telemetry_ssl_self_signed.sh ├── run_dev_with_prometheus.sh └── set_version.sh └── telemetry ├── .eslintrc.js ├── README.md ├── babel.config.json ├── package-lock.json ├── package.json └── src ├── config.js ├── config_validate.js ├── db ├── index.js └── redis.js ├── index.js ├── logger.js ├── telemetry-client ├── grpc.js └── index.js └── token.js /.dockerignore: -------------------------------------------------------------------------------- 1 | main-server/data 2 | main-server/log 3 | 4 | mq-server/log 5 | 6 | # production 7 | **/build 8 | 9 | # dependencies 10 | **/node_modules 11 | 12 | npm-debug.log* 13 | yarn-debug.log* 14 | yarn-error.log* 15 | 16 | # misc 17 | .DS_Store 18 | 19 | *.swp 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | main-server/data 2 | main-server/log 3 | 4 | mq-server/log 5 | 6 | .env 7 | 8 | # production 9 | **/build 10 | 11 | # dependencies 12 | **/node_modules 13 | 14 | npm-debug.log* 15 | yarn-debug.log* 16 | yarn-error.log* 17 | 18 | # misc 19 | .DS_Store 20 | 21 | *.swp 22 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 8.0.2 -------------------------------------------------------------------------------- /dev_cert/grpc/client.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIEmTCCAoECAQAwVDELMAkGA1UEBhMCVEgxEDAOBgNVBAgMB0Jhbmdrb2sxDTAL 3 | BgNVBAoMBE5ESUQxEDAOBgNVBAsMB0RldlRlc3QxEjAQBgNVBAMMCWxvY2FsaG9z 4 | dDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALXeNZTyYqHNriHIBsl+ 5 | 1oZcuwxtI0j76kzmG1nbcoxDjF4vppMN3ihsJz5Hp2jsAkbU9pyqVeMPHpIS2h7w 6 | V6KpGhrAXSoXqImHL5Acv734Yyi3m7aMmpZOFaXFbpPo8SN4v9Xu7lbQb9b9QQFo 7 | Pk/JDOQGAytdYSV6Ma6i9yx9X1nFkEbOOKfDiI8feRLNMenwQ2YiwYMmedP2EJ53 8 | m2seMjgnkloyMjrkgmqASx7d95FXMXjQ6Y0QpAeafJY3isBn91agV37D+47yAc2l 9 | g7pllM0n9xopR69QZPZLK+hAsCaZ+nViCjUEy+VOXd2VWcstaXbRuIR5EChSYc6r 10 | RpeGOri5TGpiwwy1qWrpULyufcxm9b0ABIMiFry5rIjq368h2PX9HT8QEV16UYNl 11 | rnM0fQ8fEW1Koc3j+azXNwvG3X1mDdrNU9wD/ipRzjdQ+oZe/MvvZ50jxtOA8qJq 12 | rblvz2xAvzydTR3vUZpCBSZZGiwcsHAWkA0nbpx5++wR30fh/7RAleUI5EvPPKMK 13 | hjhmQd9Gmdi9JejELvxUvENzPuOYd5eTWbSuUWPkvtOvLV5mwOU3xmreclW18+SJ 14 | 5ZBmRopbe9QhB5YTukKltiEgrj2C6cDb38k/bYW0LvvzK9wtB/JyG39/6lJa+Nrz 15 | JJsbOB6Gs6kI4uIElLGOzmzzAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAgEAYPyi 16 | wIVzgCjhg9+uXs91GnkYERAvzBLizJkFXI7un2zLAA02Dsfjc3HeMJBMdQicOtwy 17 | AIhI24eXJhWgeU5qcIgg7bMln0KQIFWB/FwbUwSLvDIpfAP+PxPxVvJMM/UBYQ7W 18 | VsMxcaL5uddZzUg81RPSHlaHp9VBZSwxU5BctFB0TY8RHtp7gD4wR2Bl5vtyC51I 19 | LEJgcW8xAV3q/2ilFVmUO89pDweY0vIM1PjvL5YdOVOF9qJUODL3M+rf1J/jl8+Y 20 | IYrtXCJ2ArbC3jaCFwmIwt6BHv3NO6j7f85gzmq5FdkF8cvVlQ2buc1wSZhgXvtW 21 | cdThLEEKpGF7QK9Jrwo8cINax/wSi489vSxBrpCs65Qu0uRCHQnq70Tp5IJfwAmG 22 | cRk1EvnVAHeANaGog+tZOq3RPlIsc29lyvgmRs8YTp1J0Lf8gpQsOOgI4cWCh3J4 23 | lmnAhAAiifxqAc6eVF22o8lQL6cLdvGQPf3PIW7moJv4rJiHPLAl9ETx963a9Qp4 24 | GK6dhnVRdXQBRMFz+EzXxw9o6iQHUP8Dc7xg6xXQJiCgb6cM1ewlweR2HgdVp2TQ 25 | K1XIalW+BB3TT/vG9jzun7WHIuz1+q02obvLzakwVvtuXOKcUL1V/nBX/W0bBcny 26 | kJ0bgYn58ziQPqHJ6isyaOhJvonBjjYBd1E/RdU= 27 | -----END CERTIFICATE REQUEST----- 28 | -------------------------------------------------------------------------------- /dev_cert/grpc/gen_cert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "Generating certificates ..." 4 | 5 | openssl genrsa -out ca.key 4096 6 | 7 | openssl req -new -x509 -days 36500 -key ca.key -out ca.crt -subj "/C=TH/ST=Bangkok/O=NDID/OU=DevTest/CN=ca" 8 | 9 | openssl genrsa -out server.key 4096 10 | 11 | openssl req -new -key server.key -out server.csr -subj "/C=TH/ST=Bangkok/O=NDID/OU=DevTest/CN=localhost" 12 | 13 | openssl x509 -req -days 36500 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt 14 | 15 | openssl rsa -in server.key -out server.key 16 | 17 | openssl genrsa -out client.key 4096 18 | 19 | openssl req -new -key client.key -out client.csr -subj "/C=TH/ST=Bangkok/O=NDID/OU=DevTest/CN=localhost" 20 | 21 | openssl x509 -req -days 36500 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt 22 | 23 | openssl rsa -in client.key -out client.key -------------------------------------------------------------------------------- /dev_cert/grpc/server.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIEmTCCAoECAQAwVDELMAkGA1UEBhMCVEgxEDAOBgNVBAgMB0Jhbmdrb2sxDTAL 3 | BgNVBAoMBE5ESUQxEDAOBgNVBAsMB0RldlRlc3QxEjAQBgNVBAMMCWxvY2FsaG9z 4 | dDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKTCYj+fTOXUZznCKwHA 5 | Y3PfIhDhHBWrH2EYo40HiGP7R8jMO7M0mIU7qdIA4h2uO9ghkZVpXtbh5+y4DR5C 6 | GukqhvbTHi7IV6YW7Z5jcPLny1b9k4GTlQr1xdLuM+Yc8SAilUWXEEn9v8gRXiXU 7 | Ww9z3DatCDkWjlwx2Q363y5r3DsdVAv8pNX+ZBMkRHR2UkEWHfWEFQvtKHZs4cjy 8 | Dr9PCMs96dTqexwWPy+dzzoWa3hBW9fA8cn9TYxR+UYBF46rZobatHIsXuRgJ3+s 9 | 6andTPXDg5mwklI5DnLuKHQAb4GQHxcbRNUwdRXRbXQhnnZwytdK2Si0RuwU7/mL 10 | EGVHA2Z9XnJ7uU5x+818Sdu05MbUTeIDn9Rixf11M1yPncJZW+vN4Ne7jZT+t5Xz 11 | B9n5cCIekC+HNkteYglPRBFcOIvmBJsmhI8xL51vgDN0Vs2XuXUAMj5Jc/zVChA6 12 | vbHM2FeYa6LhQwMBj01v8k4JkpjHEc4uYef3FGN9byztdsCy8C/7ZGOEBUiPqvls 13 | pd9wX5ECQYBtPUrSwW9fNG4Z4ZdlX29A3XlqO+Anep2H8+jxh8dSZ3PV+sCzuJ9N 14 | egUE4QBdENrDV91muvJH+6pfBqJ3ccw7AOmtzYgqf1xaR3b/lsTwPibAqV7A/uuj 15 | OnqpkgBJ1czwn2zj4L5GcX7zAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAgEACsg2 16 | s0rIJ0KtW7XhdLmv5HcMfper5AGHo+CuMocKE2HmV3iljUtPyN2RoVirXCmk0n5V 17 | wNsrJDM4M+J0cNh+t/C6t6Jyaz91Bwvii5R5SAWx20g2F+S15w37sD+sPqkE8TLV 18 | 37ZBZeeQmrI5NahLcOrctUzsTM+D7sOQtjirSFISf0zkoqfa9NCysqmdKG9KqebC 19 | wbe++xOI/rxsWmUNhJ3GibVrAJ4V/E/Y8TJlaS1EIgrWW/cdXKPhEP/2TNND3Yn3 20 | rXpm8P5Qs0KOyuKe1emPOx+9z7IlOmXUwqWbCwS8dEr6SvTXMfNSGxdl4hZn75I8 21 | d0oNCfsOwP/hMTtBY+4fcBZKmKZMupUgwbdQHoqzd4PCVa64c6PqwYEnhiphuo3O 22 | 3/DautWZkgURPwggYzh/S0EOSFBHxjUFEbC7VdWP0uqsKJQjTVSas0uvsG+hfTEb 23 | 2uKxruWrfdtqORbPELjGaGzh2Mbbtsj9ri3eVOqtO21DVuP0DygK+3cMXIgQ0r1a 24 | w0TsYHlU9WvrV3AzQ6nehVXFf8mLGIhAxrIM6Y+N33NSBSXkn408KOv/7dbZIDBr 25 | c9ovaAjN/DZH9WM9Q2aMEF5267fnjpzemTSgrhgAHFLagv1NIEiybTqEsouwwNXN 26 | RNIaav3vbzkLnJe8V0QXH1QIwBt9UFC0YjQPAr0= 27 | -----END CERTIFICATE REQUEST----- 28 | -------------------------------------------------------------------------------- /dev_cert/telemetry_grpc/ca.key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAyIclhutJ3k8hnP4H6/FOBg1+eGSRg/TCbHcI0BADEHqnGnHO 3 | MUvlSmvdpSiBwAfruGSiCY82+kOzC2t69/WI/DrisjQ/adt/pX+NW9zD228hdj2m 4 | fWgXl05HyLn23RdVGI6tYhl2FbOR/l7zuLHR8n9NwjApIPpWkTFgn8aHyOUhGgnn 5 | 2LZsCMXCkuDhWEgAeBICYjX80HkNdGzttWNQiXsVToZl5C/KWt1c+FPNPneETX0K 6 | CVg0YxdRsWn0kjDXmBdpbfBHIMGuNfwqaOsGbam1sJ+K0wtZdae8ob1ZzUd57+is 7 | 9vWi5jyd5dzZtvawCv4d5nb8qlVs3Dxs9TMAdwIDAQABAoIBAQCv8uVanNkT1xsH 8 | RV5uCC0N4ok12ghUYE64HTn+Vg5aR0SYT4M8ffuScVLpt8EhXdHW2XXULXVv4jcX 9 | rhcXurmXl5OSCYYavB4keObv06WGxNv3g+Cx6MPKX0VdOs8A75gbFBXOHckfAZD4 10 | QRhY1q4AuPLhkKCF7yJGA61khC5gdh0LxhJJZhQqijjA3Q+r/0+Gj1zwMB6BSLDM 11 | yIb3/LLjox57S1t2nhBYe3OyYcsyk2mKDYqHC7C93GAov0RhTC93oU++4psPt/tc 12 | lrvYIz73bXKxx38Jx/JQbR1/0p45XYZ5SQgwsWZuLPuVwFXegNpJwmSU0tYPS4gP 13 | fc1rzocBAoGBAPOunYmJUefDyzGAhDAmF/LNMahjEjdokpAgOqsU7VaFCXdoRpyL 14 | tsdGMmQdhu4Tou2Vh3EPrdHKuYPWtNzA6WFRRNYmaH2uYWqcp1O+e9cV4P3HRV4e 15 | 606ebpk60EM8mjG7mvC8h2sJ0cioUML/PoMiBA39DhpT2lkEI14wphkNAoGBANKq 16 | F3iYpqD46ZltcGuiqgTPEOoq9Yx8qtxldrIHKG4e1+S1e/IUjFsFOs1XyMBOKqbT 17 | 69GVIfICcMKTw9mz29SRZY+TGESXwhWipzbCg5ik8SHDMuxgnNq5KrAYN3X1sx+k 18 | 65LxYJTjmKlZxbuw7DSOPqnzIppi3iAeKXRMeZaTAoGAWjvywhdDaRsrhu0cBehV 19 | PeeV19C30iS7APuuPePF7x/cXYcTfqyNxkTMLB5y9H34+xk/yjIQH3t+Lr+2wXf9 20 | 87dwUgxu7PtBv4S6wVvr572GTvMXUL8KS1aHhd4teHhccMYTnclyK8S7Fh6dqVdz 21 | AoP6FGP8cOtUE1pg7mP9XZECgYEAxZnYVD1TpxB0BX9bAQteUQ5tfkj3dGSH3B2s 22 | PYdrTAfQWG5HKaZOlR4NrwkVfBSV+1AzFa6+XYQegtUZ0z3bCMOtMQQ3sjdrTOH5 23 | 2OqRh3/H0vSG8qQY3SzstqqwcwwZjagjc/zHrEDkNI3JZKmqlg2LB9zQ62GrmxLP 24 | rZACSNMCgYEApYw5xVNDDDZMqspYs1g9rt8Iiqazy/NOjtBtDgvwLAzzoZLNjTAy 25 | moRl6I/fYB5AoaLRVuvbIwOERUJd7scpqr9SI9DxQaz/KUPH0PdK4uMVNvM5znRC 26 | cxEUuXDzxvW1tSVX91bmbweq2yjt2dIII7y30v0RKgg64v8iAIDf23g= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /dev_cert/telemetry_grpc/cert.conf: -------------------------------------------------------------------------------- 1 | [ req ] 2 | default_bits = 2048 3 | prompt = no 4 | default_md = sha256 5 | req_extensions = req_ext 6 | distinguished_name = dn 7 | 8 | [ dn ] 9 | C = TH 10 | ST = Bangkok 11 | L = Bangkok 12 | O = Blockfint 13 | OU = Dev 14 | emailAddress = dev@blockfint.com 15 | CN = blockfint.com 16 | 17 | [ req_ext ] 18 | subjectAltName = @alt_names 19 | 20 | [ alt_names ] 21 | DNS.1 = localhost 22 | DNS.2 = blockfint.com 23 | DNS.3 = www.blockfint.com -------------------------------------------------------------------------------- /dev_cert/telemetry_grpc/server1.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIID5DCCAsygAwIBAgIUR35AMc5TKXLy+vv6qW/QWCFGl34wDQYJKoZIhvcNAQEL 3 | BQAwgY0xCzAJBgNVBAYTAlRIMRAwDgYDVQQIDAdCYW5na29rMRAwDgYDVQQHDAdC 4 | YW5na29rMRIwEAYDVQQKDAlCbG9ja2ZpbnQxDDAKBgNVBAsMA0RldjEgMB4GCSqG 5 | SIb3DQEJARYRZGV2QGJsb2NrZmludC5jb20xFjAUBgNVBAMMDWJsb2NrZmludC5j 6 | b20wHhcNMjAxMTI1MTQzOTI1WhcNMzAxMTIzMTQzOTI1WjCBjTELMAkGA1UEBhMC 7 | VEgxEDAOBgNVBAgMB0Jhbmdrb2sxEDAOBgNVBAcMB0Jhbmdrb2sxEjAQBgNVBAoM 8 | CUJsb2NrZmludDEMMAoGA1UECwwDRGV2MSAwHgYJKoZIhvcNAQkBFhFkZXZAYmxv 9 | Y2tmaW50LmNvbTEWMBQGA1UEAwwNYmxvY2tmaW50LmNvbTCCASIwDQYJKoZIhvcN 10 | AQEBBQADggEPADCCAQoCggEBAMiHJYbrSd5PIZz+B+vxTgYNfnhkkYP0wmx3CNAQ 11 | AxB6pxpxzjFL5Upr3aUogcAH67hkogmPNvpDswtrevf1iPw64rI0P2nbf6V/jVvc 12 | w9tvIXY9pn1oF5dOR8i59t0XVRiOrWIZdhWzkf5e87ix0fJ/TcIwKSD6VpExYJ/G 13 | h8jlIRoJ59i2bAjFwpLg4VhIAHgSAmI1/NB5DXRs7bVjUIl7FU6GZeQvylrdXPhT 14 | zT53hE19CglYNGMXUbFp9JIw15gXaW3wRyDBrjX8KmjrBm2ptbCfitMLWXWnvKG9 15 | Wc1Hee/orPb1ouY8neXc2bb2sAr+HeZ2/KpVbNw8bPUzAHcCAwEAAaM6MDgwNgYD 16 | VR0RBC8wLYIJbG9jYWxob3N0gg1ibG9ja2ZpbnQuY29tghF3d3cuYmxvY2tmaW50 17 | LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAKBBDqvlwWt616XPy9DUoJogVKLbhH7C8 18 | qBZ68Sob5jWfJDJxhRRKYHotoPfxMGMCjgHsuHrtfRX1QHrw+D8LUngMbSP1tjDU 19 | LojAuoV12HLk93ffW6sQ3IfbKfOu4dVaSBg6iAcseb3u6ex6RCLp7mKeR0fnYv3x 20 | MoWkF1I3JAI81nac+5EMbE1ZpbqyEIL12NzHQB/JE/gNyU2+NkgaZUqyJx5ecNaJ 21 | pjDkrHWFmNkyuIY48WQ55RMBqGfYbREPyMc1t1RycoVDBgWXxRcuEVQJbG7qQb3x 22 | NMHw0zfgH5/vS2kAbqLpgYZdIcvzWH9mcH5GULOKexhaM3fS4iH7hA== 23 | -----END CERTIFICATE----- 24 | -------------------------------------------------------------------------------- /dev_cert/telemetry_grpc/server1.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIDHDCCAgQCAQAwgY0xCzAJBgNVBAYTAlRIMRAwDgYDVQQIDAdCYW5na29rMRAw 3 | DgYDVQQHDAdCYW5na29rMRIwEAYDVQQKDAlCbG9ja2ZpbnQxDDAKBgNVBAsMA0Rl 4 | djEgMB4GCSqGSIb3DQEJARYRZGV2QGJsb2NrZmludC5jb20xFjAUBgNVBAMMDWJs 5 | b2NrZmludC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIhyWG 6 | 60neTyGc/gfr8U4GDX54ZJGD9MJsdwjQEAMQeqcacc4xS+VKa92lKIHAB+u4ZKIJ 7 | jzb6Q7MLa3r39Yj8OuKyND9p23+lf41b3MPbbyF2PaZ9aBeXTkfIufbdF1UYjq1i 8 | GXYVs5H+XvO4sdHyf03CMCkg+laRMWCfxofI5SEaCefYtmwIxcKS4OFYSAB4EgJi 9 | NfzQeQ10bO21Y1CJexVOhmXkL8pa3Vz4U80+d4RNfQoJWDRjF1GxafSSMNeYF2lt 10 | 8Ecgwa41/Cpo6wZtqbWwn4rTC1l1p7yhvVnNR3nv6Kz29aLmPJ3l3Nm29rAK/h3m 11 | dvyqVWzcPGz1MwB3AgMBAAGgSTBHBgkqhkiG9w0BCQ4xOjA4MDYGA1UdEQQvMC2C 12 | CWxvY2FsaG9zdIINYmxvY2tmaW50LmNvbYIRd3d3LmJsb2NrZmludC5jb20wDQYJ 13 | KoZIhvcNAQELBQADggEBAIVbKf7IUrSv7qXpPN40MvT+R5xBGLeQjymh1SBOUDRY 14 | jqaHNHAJ2JQF5ADZxDKSmrn1iWAdmU406bk00Ib/pawsd4ubxLZSmOL2N6QwWDhI 15 | jtMIdO3gHspGHti8oJr+BtaMcJoqL4Tj6Ze6dJYs+tEEIcwqtWpYvAf85OMjc1FC 16 | B/5DS0v3gebZ+ERRRxCrPS/F2XHGLRNOkB6uwTkC4krA3WSyM++RlLIZmPSN2PJ0 17 | 2I92C3R4kh8SaWmxa3+cyC/JjgN4G/5mPWIwL2C/Q7RdKBG8oovQRxyGMfEkdtn5 18 | 2LtFw1X5gUkPpIyUYlXYkOU6acV0Dod8+TmjzwPZ+gY= 19 | -----END CERTIFICATE REQUEST----- 20 | -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:20-alpine3.20 AS build 2 | 3 | WORKDIR /tmp 4 | 5 | # RUN sed -i -e 's/http:/https:/' /etc/apk/repositories 6 | 7 | RUN apk update && apk add --no-cache --virtual .build-deps \ 8 | python3 \ 9 | g++ \ 10 | make \ 11 | git 12 | 13 | COPY ./ndid-logger/package*.json /tmp/api/ndid-logger/ 14 | COPY ./main-server/package*.json /tmp/api/main-server/ 15 | 16 | WORKDIR /tmp/api/ndid-logger 17 | RUN npm install && npm prune --production 18 | 19 | WORKDIR /tmp/api/main-server 20 | RUN npm install 21 | 22 | COPY ./ndid-error /tmp/api/ndid-error 23 | COPY ./ndid-logger /tmp/api/ndid-logger 24 | COPY ./main-server /tmp/api/main-server 25 | 26 | RUN npm run build && npm prune --production 27 | 28 | RUN apk del .build-deps 29 | 30 | 31 | FROM node:20-alpine3.20 32 | LABEL maintainer="NDID IT Team " 33 | 34 | # Directory path for persistence data files 35 | ENV DATA_DIRECTORY_PATH=/api/data 36 | 37 | # Set umask to 027 38 | RUN umask 027 && echo "umask 0027" >> /etc/profile 39 | 40 | # RUN sed -i -e 's/http:/https:/' /etc/apk/repositories 41 | COPY --from=build /var/cache/apk /var/cache/apk 42 | RUN apk add --no-cache bash openssl && rm -rf /var/cache/apk 43 | 44 | COPY --from=build /tmp/api/ndid-error /api/ndid-error 45 | COPY --from=build /tmp/api/ndid-logger /api/ndid-logger 46 | COPY --from=build /tmp/api/main-server /api/main-server 47 | 48 | COPY ./protos /api/protos 49 | COPY ./dev_cert /api/dev_cert 50 | COPY COPYING /api/main-server/build 51 | COPY VERSION /api/ 52 | 53 | COPY docker/docker-entrypoint.sh /usr/bin/docker-entrypoint.sh 54 | 55 | WORKDIR /api/main-server 56 | 57 | ENTRYPOINT [ "/usr/bin/docker-entrypoint.sh", "node", "--security-revert=CVE-2023-46809", "/api/main-server/build/server.js" ] 58 | -------------------------------------------------------------------------------- /docker/Dockerfile-mq: -------------------------------------------------------------------------------- 1 | FROM node:20-alpine3.20 AS build 2 | 3 | WORKDIR /tmp 4 | 5 | # RUN sed -i -e 's/http:/https:/' /etc/apk/repositories 6 | 7 | RUN apk update && apk add --no-cache --virtual .build-deps \ 8 | python3 \ 9 | g++ \ 10 | make \ 11 | git \ 12 | file 13 | 14 | COPY ./ndid-logger/package*.json /tmp/api/ndid-logger/ 15 | COPY ./mq-server/package*.json /tmp/api/mq-server/ 16 | 17 | WORKDIR /tmp/api/ndid-logger 18 | RUN npm install && npm prune --production 19 | 20 | WORKDIR /tmp/api/mq-server 21 | RUN npm install 22 | 23 | COPY ./ndid-error /tmp/api/ndid-error 24 | COPY ./ndid-logger /tmp/api/ndid-logger 25 | COPY ./mq-server /tmp/api/mq-server 26 | 27 | RUN npm run build && npm prune --production 28 | 29 | RUN apk del .build-deps 30 | 31 | 32 | FROM node:20-alpine3.20 33 | LABEL maintainer="NDID IT Team " 34 | 35 | # Set umask to 027 36 | RUN umask 027 && echo "umask 0027" >> /etc/profile 37 | 38 | # RUN sed -i -e 's/http:/https:/' /etc/apk/repositories 39 | COPY --from=build /var/cache/apk /var/cache/apk 40 | RUN apk add --no-cache bash openssl && rm -rf /var/cache/apk 41 | 42 | COPY --from=build /tmp/api/ndid-error /api/ndid-error 43 | COPY --from=build /tmp/api/ndid-logger /api/ndid-logger 44 | COPY --from=build /tmp/api/mq-server /api/mq-server 45 | 46 | COPY ./protos /api/protos 47 | COPY ./dev_cert /api/dev_cert 48 | COPY COPYING /api/ 49 | COPY VERSION /api/ 50 | 51 | WORKDIR /api/mq-server 52 | 53 | ENTRYPOINT [ "node", "/api/mq-server/build/server.js" ] 54 | -------------------------------------------------------------------------------- /docker/Dockerfile-mq.stretch-slim: -------------------------------------------------------------------------------- 1 | FROM node:12-stretch-slim as build 2 | 3 | WORKDIR /tmp 4 | 5 | RUN apt-get update && apt-get install -y \ 6 | python \ 7 | g++ \ 8 | make \ 9 | git \ 10 | --no-install-recommends && rm -r /var/lib/apt/lists/* 11 | 12 | COPY ./ndid-logger/package*.json /tmp/api/ndid-logger/ 13 | COPY ./mq-server/package*.json /tmp/api/mq-server/ 14 | 15 | WORKDIR /tmp/api/ndid-logger 16 | RUN npm install && npm prune --production 17 | 18 | WORKDIR /tmp/api/mq-server 19 | RUN npm install 20 | 21 | COPY ./ndid-error /tmp/api/ndid-error 22 | COPY ./ndid-logger /tmp/api/ndid-logger 23 | COPY ./mq-server /tmp/api/mq-server 24 | 25 | RUN npm run build && npm prune --production 26 | 27 | 28 | FROM node:12-stretch-slim 29 | LABEL maintainer="NDID IT Team " 30 | 31 | # Set umask to 027 32 | RUN umask 027 && echo "umask 0027" >> /etc/profile 33 | 34 | RUN apt-get update && apt-get install -y \ 35 | openssl \ 36 | --no-install-recommends && rm -r /var/lib/apt/lists/* 37 | 38 | COPY --from=build /tmp/api/ndid-error /api/ndid-error 39 | COPY --from=build /tmp/api/ndid-logger /api/ndid-logger 40 | COPY --from=build /tmp/api/mq-server /api/mq-server 41 | 42 | COPY ./protos /api/protos 43 | COPY COPYING /api/ 44 | COPY VERSION /api/ 45 | 46 | WORKDIR /api/mq-server 47 | 48 | ENTRYPOINT [ "node", "/api/mq-server/build/server.js" ] 49 | -------------------------------------------------------------------------------- /docker/Dockerfile-telemetry: -------------------------------------------------------------------------------- 1 | FROM node:20-alpine3.20 AS build 2 | 3 | WORKDIR /tmp 4 | 5 | # RUN sed -i -e 's/http:/https:/' /etc/apk/repositories 6 | 7 | RUN apk update && apk add --no-cache --virtual .build-deps \ 8 | python3 \ 9 | g++ \ 10 | make \ 11 | git \ 12 | file 13 | 14 | COPY ./ndid-logger/package*.json /tmp/api/ndid-logger/ 15 | COPY ./telemetry/package*.json /tmp/api/telemetry/ 16 | 17 | WORKDIR /tmp/api/ndid-logger 18 | RUN npm install && npm prune --production 19 | 20 | WORKDIR /tmp/api/telemetry 21 | RUN npm install 22 | 23 | COPY ./ndid-error /tmp/api/ndid-error 24 | COPY ./ndid-logger /tmp/api/ndid-logger 25 | COPY ./telemetry /tmp/api/telemetry 26 | 27 | RUN npm run build && npm prune --production 28 | 29 | RUN apk del .build-deps 30 | 31 | 32 | FROM node:20-alpine3.20 33 | LABEL maintainer="NDID IT Team " 34 | 35 | # Set umask to 027 36 | RUN umask 027 && echo "umask 0027" >> /etc/profile 37 | 38 | # RUN sed -i -e 's/http:/https:/' /etc/apk/repositories 39 | COPY --from=build /var/cache/apk /var/cache/apk 40 | RUN apk add --no-cache bash openssl && rm -rf /var/cache/apk 41 | 42 | COPY --from=build /tmp/api/ndid-error /api/ndid-error 43 | COPY --from=build /tmp/api/ndid-logger /api/ndid-logger 44 | COPY --from=build /tmp/api/telemetry /api/telemetry 45 | 46 | COPY ./protos /api/protos 47 | COPY ./dev_cert /api/dev_cert 48 | COPY COPYING /api/ 49 | COPY VERSION /api/ 50 | 51 | WORKDIR /api/telemetry 52 | 53 | ENTRYPOINT [ "node", "/api/telemetry/build/index.js" ] 54 | -------------------------------------------------------------------------------- /docker/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | BUILD_COMMIT=$(git log -1 --format=%H) BUILD_DATE=$(date) docker-compose -f $(dirname $0)/docker-compose.build.yml build --pull $@ 4 | -------------------------------------------------------------------------------- /docker/docker-compose.build.yml: -------------------------------------------------------------------------------- 1 | version: "3.3" 2 | services: 3 | api: 4 | build: 5 | context: ../ 6 | dockerfile: docker/Dockerfile 7 | labels: 8 | build.commit: ${BUILD_COMMIT} 9 | build.date: ${BUILD_DATE} 10 | image: ${REPO_NAME:-ndidplatform}/api:${DOCKER_TAG:-latest} 11 | 12 | mq: 13 | build: 14 | context: ../ 15 | dockerfile: docker/Dockerfile-mq 16 | labels: 17 | build.commit: ${BUILD_COMMIT} 18 | build.date: ${BUILD_DATE} 19 | image: ${REPO_NAME:-ndidplatform}/mq:${DOCKER_TAG:-latest} 20 | 21 | telemetry-client: 22 | build: 23 | context: ../ 24 | dockerfile: docker/Dockerfile-telemetry 25 | labels: 26 | build.commit: ${BUILD_COMMIT} 27 | build.date: ${BUILD_DATE} 28 | image: ${REPO_NAME:-ndidplatform}/telemetry-client:${DOCKER_TAG:-latest} 29 | -------------------------------------------------------------------------------- /docker/docker-compose.redis.dev.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | api-redis: 4 | image: redis:4-alpine 5 | security_opt: 6 | - no-new-privileges 7 | ports: 8 | - "6379:${REDIS_PORT:-6379}" 9 | # networks: 10 | # - ndidplatform 11 | api-redis-proxy-1: 12 | image: redis:4-alpine 13 | security_opt: 14 | - no-new-privileges 15 | ports: 16 | - "6380:${REDIS_PORT:-6379}" 17 | # networks: 18 | # - ndidplatform 19 | api-redis-proxy-2: 20 | image: redis:4-alpine 21 | security_opt: 22 | - no-new-privileges 23 | ports: 24 | - "6381:${REDIS_PORT:-6379}" 25 | # networks: 26 | # - ndidplatform 27 | 28 | # networks: 29 | # ndidplatform: -------------------------------------------------------------------------------- /docker/docker-compose.telemetry.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | telemetry-client: 4 | image: ndidplatform/telemetry-client:${DOCKER_TAG:-latest} 5 | environment: 6 | - NODE_ID=idp1,idp2,idp3,rp1,as1,as2 7 | - TELEMETRY_DB_HOST=api-redis 8 | - TELEMETRY_DB_PORT=6379 9 | - TELEMETRY_NODE_GRPC_HOST=${TELEMETRY_NODE_GRPC_HOST:-ndid-telemetry-server} 10 | - TELEMETRY_NODE_GRPC_PORT=${TELEMETRY_NODE_GRPC_PORT-8880} 11 | - FLUSH_INTERVAL_SEC=20 12 | security_opt: 13 | - no-new-privileges 14 | networks: 15 | - ndidplatform 16 | 17 | networks: 18 | ndidplatform: 19 | -------------------------------------------------------------------------------- /docker/docker-compose.telemetry_proxy.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | telemetry-client-proxy-1: 4 | image: ndidplatform/telemetry-client:${DOCKER_TAG:-latest} 5 | environment: 6 | - NODE_ID=proxy1_rp4,proxy1_idp4,proxy1_as4 7 | - TELEMETRY_DB_HOST=api-redis-proxy-1 8 | - TELEMETRY_DB_PORT=6379 9 | - TELEMETRY_NODE_GRPC_HOST=${TELEMETRY_NODE_GRPC_HOST:-ndid-telemetry-server} 10 | - TELEMETRY_NODE_GRPC_PORT=${TELEMETRY_NODE_GRPC_PORT-8880} 11 | - FLUSH_INTERVAL_SEC=20 12 | security_opt: 13 | - no-new-privileges 14 | networks: 15 | - ndidplatform 16 | 17 | telemetry-client-proxy-2: 18 | image: ndidplatform/telemetry-client:${DOCKER_TAG:-latest} 19 | environment: 20 | - NODE_ID=proxy2_rp5 21 | - TELEMETRY_DB_HOST=api-redis-proxy-2 22 | - TELEMETRY_DB_PORT=6379 23 | - TELEMETRY_NODE_GRPC_HOST=${TELEMETRY_NODE_GRPC_HOST:-ndid-telemetry-server} 24 | - TELEMETRY_NODE_GRPC_PORT=${TELEMETRY_NODE_GRPC_PORT-8880} 25 | - FLUSH_INTERVAL_SEC=20 26 | security_opt: 27 | - no-new-privileges 28 | networks: 29 | - ndidplatform 30 | 31 | networks: 32 | ndidplatform: 33 | -------------------------------------------------------------------------------- /docker/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | # Ensure that the first argument is node 5 | if [ "$1" != "node" ]; then 6 | set -- "node" "$@" 7 | fi 8 | 9 | # Check existence and owner of DATA_DIRECTORY_PATH 10 | if [ "$1" = "node" -a "$(id -u)" != "0" ]; then 11 | if [ ! -d ${DATA_DIRECTORY_PATH} ]; then 12 | echo "${DATA_DIRECTORY_PATH} is not directory or missing" 13 | exit 1 14 | fi 15 | 16 | user="$(id -u)" 17 | group="$(id -g)" 18 | 19 | if [ ! -z "$(find ${DATA_DIRECTORY_PATH} ! -user $user ! -group $group)" ]; then 20 | echo "${DATA_DIRECTORY_PATH} or the files inside have incorrect owner" 21 | exit 1 22 | fi 23 | fi 24 | 25 | exec "$@" 26 | -------------------------------------------------------------------------------- /main-server/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | es6: true, 5 | node: true, 6 | }, 7 | extends: 'eslint:recommended', 8 | plugins: ['@babel'], 9 | parser: '@babel/eslint-parser', 10 | parserOptions: { 11 | babelOptions: { 12 | configFile: './main-server/babel.config.json', 13 | }, 14 | }, 15 | rules: { 16 | indent: ['off', 2], 17 | 'linebreak-style': ['error', 'unix'], 18 | quotes: ['warn', 'single'], 19 | semi: ['warn', 'always'], 20 | 'no-console': 0, 21 | 'no-unused-vars': 1, 22 | 'no-empty': 1, 23 | 'no-inner-declarations': 1, 24 | 25 | 'generator-star-spacing': 1, 26 | 'array-bracket-spacing': 1, 27 | 'object-shorthand': 1, 28 | 'arrow-parens': 1, 29 | 'no-await-in-loop': 1, 30 | 'no-useless-catch': 1, 31 | 32 | '@babel/new-cap': 1, 33 | '@babel/object-curly-spacing': 0, 34 | }, 35 | overrides: [ 36 | { 37 | files: ['*.test.js'], 38 | env: { 39 | mocha: true, 40 | }, 41 | }, 42 | ], 43 | }; 44 | -------------------------------------------------------------------------------- /main-server/babel.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/env", 5 | { 6 | "targets": { 7 | "node": "current" 8 | } 9 | } 10 | ] 11 | ], 12 | "plugins": ["@babel/transform-runtime"] 13 | } 14 | -------------------------------------------------------------------------------- /main-server/dev_https_key/cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDiDCCAnACCQDcoPDLjV1DFzANBgkqhkiG9w0BAQsFADCBhTELMAkGA1UEBhMC 3 | VEgxEDAOBgNVBAgMB0Jhbmdrb2sxEDAOBgNVBAcMB0Jhbmdrb2sxDTALBgNVBAoM 4 | BE5ESUQxFDASBgNVBAsMC0RldmVsb3BtZW50MQ0wCwYDVQQDDARuZGlkMR4wHAYJ 5 | KoZIhvcNAQkBFg9pbmZvQG5kaWQuY28udGgwHhcNMTgwNjE5MDgwNTM1WhcNMTkw 6 | NjE5MDgwNTM1WjCBhTELMAkGA1UEBhMCVEgxEDAOBgNVBAgMB0Jhbmdrb2sxEDAO 7 | BgNVBAcMB0Jhbmdrb2sxDTALBgNVBAoMBE5ESUQxFDASBgNVBAsMC0RldmVsb3Bt 8 | ZW50MQ0wCwYDVQQDDARuZGlkMR4wHAYJKoZIhvcNAQkBFg9pbmZvQG5kaWQuY28u 9 | dGgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDzxOIv6rl414Xk24ws 10 | G3YxWRjzthzCeeEw5ETnzU/cFwYOSyhLxZPVzwbblXSDfA0+/jePCI17yasWSz5A 11 | U0llLPv6NBm/zM6o0oMU4YxGZArSEG2huQhwwlz5myF6TTLdi4Zcc1TSTnIL/1Hp 12 | u3xMCIZQ0yv9tUsJCLmvqkwYYVpqz96z5xfucXpfwbmUytvNcQ3/21EpVQunrCGf 13 | 9wIuxXtvVkmD0I3NoMEHHEAhdtOygZUawjjb+h+IP7/XfrBIFDiezTdGSjTT9+68 14 | hW7Sgjtyq7EPwL7ZK1B6iNqOP1IFSppFvzPCGqQAryKRMzEKMKmrnE5Ad1I598ux 15 | yyiFAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGinkCjikIYqmdlEuHn3FGPj0lIq 16 | I+4Hi/SGyquXHLob9++oQQpnUk34lMJKD6vyu0KfSDki5ZUCIHP1dUKyOnefFuK6 17 | jrRB9N/a6dhpi9+6ZTYn6H1JPcIXeNqIOQdPYi/Om7TNpUi+N8P64mLVXHaykv9q 18 | qejWDV6WVo8aaskYn5MyYVruAUftzawqiD0wm1QFxk6AR2ccFG8knnbU/25WYeN6 19 | aU5tVgRA3nKLO09hOUI4u0rtxkt4VHh/pWxJhpfJVgZK8aKNA/Hlwh15Z7PO+CSY 20 | e81be0u2bFLZ0tAc50AHmUqxSipx6ea3Vb6SI7Yl3H+0DdjMs1H/2VKSxuA= 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /main-server/dev_https_key/key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDzxOIv6rl414Xk 3 | 24wsG3YxWRjzthzCeeEw5ETnzU/cFwYOSyhLxZPVzwbblXSDfA0+/jePCI17yasW 4 | Sz5AU0llLPv6NBm/zM6o0oMU4YxGZArSEG2huQhwwlz5myF6TTLdi4Zcc1TSTnIL 5 | /1Hpu3xMCIZQ0yv9tUsJCLmvqkwYYVpqz96z5xfucXpfwbmUytvNcQ3/21EpVQun 6 | rCGf9wIuxXtvVkmD0I3NoMEHHEAhdtOygZUawjjb+h+IP7/XfrBIFDiezTdGSjTT 7 | 9+68hW7Sgjtyq7EPwL7ZK1B6iNqOP1IFSppFvzPCGqQAryKRMzEKMKmrnE5Ad1I5 8 | 98uxyyiFAgMBAAECggEBANYSc5Qi7Mg7dOEbEMj3QN9rYCc+KZl70Q/Pltd+DQC5 9 | 016gD/4iv4YHLf2ODWkeer90HrRkjWNFIhMM9tkkixLn40zBjk9Ke730SJsAy+BR 10 | INODC9P3G3typJWq70ZpHx9B1TfBLJ8Xtr3kdTnupORcpB+8oyhFmmSPngmvYu4Q 11 | ccUZ0n6MlV1e48d8iOrLmhhhr3Qlq34lVBwSsRfctFn6sl4UrZY19yLO96p3S69/ 12 | febksYn1t5QXd3F2dtzevOhP4WonvEI/vUCMuw+6AgwitGYe2dXcmchETW5HUFZW 13 | 6GBepTYp8V4oE+vWEP8Vv3MU3IPk4tLFH6xrcSg9R4ECgYEA+iNMybt7RVj3ofT6 14 | YbvNuFmAGFqO/vLfaElXAO1785ErYoCGDj2e/PXT072a9YhObdcSEB4NdqAQnRDJ 15 | 92kx7pDzLIi7eJxOwUvn6jfwDGEwF7IbNJ+yeSAEB05Oqzak9zd1A/lS6JXKDUfa 16 | koG6PQveBCxRjdGc9L1soj3jFCUCgYEA+Xtfuv0Yg9b/2O5wte6KuJ5/N/VU7yjO 17 | AugpU6kna0QWtEYg/yeOqZWLxPfFmGjLCRT8kgfKH/gZ3wSdnS5Fhm5i4B8Mn4p3 18 | twQx7nZalP6PyHuizItbKK2MTY0xJe1a7AcpN5q1XBtCR2nIna8o0rfZwi3z5lz/ 19 | p+Z95Ah4ZOECgYEAgaK70C0vFOCn7jLVdMNtOaaA4Z5FT9I1gInJ4nwx6iiJUJKF 20 | Z2n+NOF+d9VjMu8CnqCBBwNcPOd11MD3uxa0vww2SxVN+5MeqcUaG2QEL5ZK42z1 21 | 9o7xYx75l4O497jpRApkxbt4gXvn7HwZxiYfjDXTSVxio9pHuvtVCryCLFUCgYAV 22 | ZcyHKDATFryo6YKHSCdjwExfC062mIRa4Xix8T8tRxC/c4he+hCVYPs08J9k/A/1 23 | /nPPPpXKeigV5bpzAcX6yrr2SBN4F5M/AkAaGNKaFt9ULa5/5q/x5Di1ahe+DgaP 24 | WeniGAXYGYpsv5jyVVSmBhjKO9DAgFd5Gh7QER3qYQKBgDCqL+3t5mpcLiPHUnhu 25 | +L7KRulaqttioH5VIg5lGuLgToZbe0ymw6mmjoliwJEIyLDi39qIOm2AMho5psmi 26 | 2DpmklVVqpkHwnQxW5fClQSMxhiIPZaYMGg1NHAEUSU9rx0euPdZh7hVoTelDQnV 27 | 2OZs/enkPebOsAfOaIwCNdKN 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/encryption_keys/proxy1_as4.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxqcXLDOb2BT11s61Q43W 3 | HYxhtAOKatnHYhYvOgy5CllsSZ6x5kmnd+rkoraYU2M94XuikZYZ1RO7nB9TUMyj 4 | qs7CzYpZrEAIFZaAtqsKM7bGFufiYPzD6i28iwJwwjBkKrUoQScrFpTweZWypSDV 5 | E6md92Ib0iU8GFZ9vulAlRrMV5SDgsDKGbQzPtA7FTVH+CMAU2f60+7l/ynHtnla 6 | 5eAkiunUl4LxtH3QjDUUazoqfu0HVsP5mmhNL698Y/RxmWMebJyQbah1pXHj+KhD 7 | ESAKR0rMcGDD8s/zzTiaYFaa+Ghuwic8GtT0F/ZElOhBc6QZCQrtAjDQCSZFGrqm 8 | aQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/encryption_keys/proxy1_idp4.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA06UmvpMLJ/PmnC1a/tdp 3 | sMATjA3tNx3DACj5kw9igNP+SGtoakQYVHT3EnUeTzuFWtexov8mM1zQ3w1U9GD1 4 | I9ciTdBiBUoDNVNAOWKqLEFRYy3O9BQgPMcx+owSiOHUWs7RXu1RH7KeGrmKc1bX 5 | AO7+bo5rbylVaEj/wCrvsBDcUQuI6QIkriuVQ6oUAI3RXnCCOvjj3AkTyiWHSqzL 6 | Hz86vxc6K3/ZUq4/W5g45eEFEpAax0Fa/iN+tv/E5nTDV6kbvdyJx5Iv70GdIOkc 7 | y43LPe+tT6dmXs5nBFLUAd/2e+ecrEXaDxjk1jPjuMIO9fgWGbqTwXjiRpeB7LyY 8 | pQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/encryption_keys/proxy1_rp4.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0CC3RqbG2vXMVNGosBqh 3 | mElPVNdgoQ3im9K4oiv5vaJhw5b2UGrHj3yWbT4G9GykITli9FDXXss+9sldSrmi 4 | 4nnsT41LXHSLS+sFwtsFiDbn1MUCkEXcZUv/oTRMyKXPBAdDc6I2T/LrTQxi4CED 5 | 1nqcnaMMcKe2SsmY5vo5e5IYndFVFiYt+t5+qoNpCHSLpCooLgTgKq0jFIzzZCC1 6 | M1ThazeJUJdY14teMdM5fL23Jg1SJ2qrIM4tY5ZO+JvKYw2HbxF4+gathgtcCciu 7 | ZHZptEIR9tBTYy2GCRflW2036eF8rrcBjFKJoo6ojEVU9/UP5trHFHfwti5vKIYm 8 | fQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/encryption_keys/proxy2_as5.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxHx225w00BrurLtcBFIg 3 | f0TJDfMW2zxVut5bE6ndtvcxwxHSJa5plvOTMBgLDuDcL1qCIPzd5pTvOvjVsSNq 4 | IYWx3EFousP3wRcg61cThhpAZBnZUKsXdokR/0gaX9Su6tdjbXeGIuoqDBHAdQOv 5 | kqBN1TvPY8d+9O2TEqCUG6aBPaWL9yPaH8YEI6tEqFZmYCLLFKU2XKiTfrtg4ADo 6 | 1DIqgvTtPnJz5k7WjYxEdloW8Fu3/BNmLDs5L6ju9/RHQ62JllDqw/A324UM/rSZ 7 | 8ONyZ/+a+oh35W1SgboWhEFtcb+A+24kXFQnF6JQ18+aqQYg+eL7FT11l1QIogjT 8 | DQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/encryption_keys/proxy2_idp5.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA18pwTnIKRJfuH/NQ41PG 3 | +QJIEiOmyCHtGoKY6FdwmQP3YkgydOPDDfvdwFt4f8aC+j9qS1ob7pmh/x26ikht 4 | qb2OUB2e8vBkZfUz6Nvd4jw/TzWXt8xtqTIPP9aSKWqBHot4T69NcIo5HB9RH2Tr 5 | nnINlQ9KAWc+i2mLpQ7ItJFjc2hur9dR+6eqaADyCRR8MxAb++kMa0kkgETWujxI 6 | kBJ0VnePkarI3WxPxJDfPLEqG60ozDgzRpDi998EbysfuEBxIAQ089XlSy2ntWBx 7 | 7vTmUmkZ1RTrAQPwwWuEZSaeH2FTIUyy3vweEQgZHdUivtS6y7or+hnZL716cLH1 8 | LQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/encryption_keys/proxy2_rp5.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz54h3G1EmHufkj//69zP 3 | zH/9KbCIP/n1JUmjydcLcWOaCPfzthj/SBBZdC0E7Dw4m++cSKAxUQb9OU6UIBJd 4 | eY0KtKdeCA8d3XYj3EhO2XlOA/LQdPGcFmIzCO1EUd2R7kJS1R0hG7qlB+aLdsRg 5 | 7sc18gcEImqGEFCBHBo+DImKlmnEE8a3fgC2H5R2eAMe04BMmpf3ZU6PspRry15F 6 | OiVx3kXo9jFCzyhtmwhb+46PjcAk3+EFTTwslF3gPp+EzbMsxRvUCjequXSsHfPw 7 | gY3JUMefyiGKSHwqYu33xVZGR3s2liPen3DkvOlSHerpovnwgzYoG4udjm0/gPwM 8 | KwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy1_as4: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAzQB2BELo9iSd836DL/rMgB6765RbUr0GrbE2rT8r19Lv4JJ0 3 | AXG3sRkuNW19P1n5m8YzQ9SH+5TtX7+0dY+9vPxTfG+J+BJ/e6Nc3sS3oa8DRlPN 4 | x3p6oVgHCrqTqj78IaXWT2wMMdezy82xEjKbyo0NUFZNj2wTret/X4uH/2BJpw0u 5 | zRGuXYBia9FS16xA30Jn1GcbRFChzDhwp4DRT1BD6tB2bQ1Duh5iAhDMrXJvV6P1 6 | O13g7LsotalaD5KfsCKt5ZrNMXsy2GRGriI92uQAT91JdxZ/+XiCbpg0v3Ug0+Xi 7 | IsbGeAFf8u0cJKoHWSw/LTCVoFW6Y5IYte8iewIDAQABAoIBAEA5iL/FBp820ZVb 8 | aVY6yJ7LAizICeRd/B2mi26zf9TZ7PT6bQWWzunY7bUnXDngwmafLahuiTu0aLm6 9 | oZrDMbpngvBVMXBauz3M7GeOUcmBvxDlaG66XHj3zxz5XxHTMcKI5h9zxk5HObj7 10 | 9CGzYUOP9T/aCeqI/ZFbWkhgunay8ExjuBfKhngyTxRhfNTcacSGA/qAiyhZ4D2W 11 | xbqD1CgwB+jiGjVErYeuyqqHFlek7CQprpA6L2eLjhGo5W9rj7O4N9WNlnF3UiPm 12 | oiJGLmv53uYwJi1zCik8S2HCEgk4SH2lIC4g5vo7uBBVaNM5joksxpT9tc4fZWMC 13 | RHvmNMECgYEA6jWAco72a1/faDOK6lQfcvNjJ7m8c2omGBA+r1fehqcMcxEstaOI 14 | P7swgoPj62fZaqu9lU2oape/RngSQPXY+kfQOzIK5Uh8ftT06aT3W1LWfDinIF5D 15 | 6w7IGgvk3GTVYnBaB7XvDmPs1UCqrCGM4kBUy3R7uBFocWF32ZMFcjkCgYEA4BNJ 16 | 8ujwpEJ+hiGGlIXUI/D2PFtyFB27UCMgRBAgMEYpYbiMbHWL9oaH5w6i+CEzB6Z9 17 | qBJOenMrl6otbXt27S8rDbxSdkKx8/X1paPe60hC2Dnvb3+L6n77XBdS5IHLqSsr 18 | U1PXtIxXV+yxV2qrz4e3/CcsILCgVjHV7Srb6lMCgYAakRsS45icMXHcFgyp7ATt 19 | OyKCPRVdWiscC6uwpBz/1S8aVlZl/DjWUdt80o0mBM+qw/RrXTW/cZsm2TPo3npQ 20 | WZkLPe/ydjh5ApsNbcMJPupJiPucNlUp8rFMExFQ1rdFxUzRFxgY38jbn8w8Xknm 21 | 2DlGIt5t0LuyMMYxjfXOMQKBgQC1Yofa7XtWzEjVVTA27Dp0uarp4vBunj6xuS12 22 | S0NzMGhxJU3uwhyBfBdpD60WhPFlAP343pDOiIpCJEzPskDr8OG+JbLu7kBVBsZJ 23 | xmQ+O2l41TUgIbRmJ1JcErlUJklxcHOK6XTUP0K49u37oGrh/LAPmroa4D96Zq8Q 24 | ZEBO5wKBgHu8X+DSPzXGTtE+AwQpIY7OMho9GBjEDpv4G8BYuZ7Ri6pS4xajMHFD 25 | aalI7KNkTPMHpDG3QpvQhJihv8/sM1Gx/hUrIAfOS+9hevPD6jduljf3gt/hh00U 26 | KY+lqEfDyuAyPo0PEHUucxanm3CEjjkuzmrY9zesJM4iSiC7L02i 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy1_as4.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzQB2BELo9iSd836DL/rM 3 | gB6765RbUr0GrbE2rT8r19Lv4JJ0AXG3sRkuNW19P1n5m8YzQ9SH+5TtX7+0dY+9 4 | vPxTfG+J+BJ/e6Nc3sS3oa8DRlPNx3p6oVgHCrqTqj78IaXWT2wMMdezy82xEjKb 5 | yo0NUFZNj2wTret/X4uH/2BJpw0uzRGuXYBia9FS16xA30Jn1GcbRFChzDhwp4DR 6 | T1BD6tB2bQ1Duh5iAhDMrXJvV6P1O13g7LsotalaD5KfsCKt5ZrNMXsy2GRGriI9 7 | 2uQAT91JdxZ/+XiCbpg0v3Ug0+XiIsbGeAFf8u0cJKoHWSw/LTCVoFW6Y5IYte8i 8 | ewIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy1_idp4: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAysldlUid+NfWK1XgmS25Xosk9OUdRWguwXge68cl+FdL2Lvs 3 | VPNnu1Lwukz/Kgl6gwXIwNbMaaEFom7J/zPJtbCnxUJsjklcouC96saloWSfWmgv 4 | 4Y8WJba7Jp4JM1hAgCT8MxXdasLbc/zQFu5987HxsOiN4AjRD/IR3JNlIMDHug26 5 | YwXa0EWDXd7eafJ+p9bkTjAyFJ3fWjHG2T1gFOAsWtc9NvhPX/fSyyzQyfFLJqNz 6 | xVjDOTj1N9CXT6X/QTdttQEu6DLTbm41f9YTRXwi7LJPYec2jP9e3kfZIzB+3DXv 7 | NkYkzajkSeIaCin9YiyBbXXyXKOC8Hh4rq/ZawIDAQABAoIBAC0mqK+Ue5fsdsMv 8 | W9K/W4axdIkSenH5wG9TT48vyESDK2AWd4hyqaYL0Y2plybE9YI2x3woV1stfxOr 9 | l047Oa46pyBEqecEbpvVbnPXxwkoXlLC3+ZY9ZVwGjt+9I16GOJvWbgGJkafHD23 10 | DJ4Oe/zGognBvdUkIWhrfY6fQuUHoZhX7UySXkl32ECclsTOUM9BwNBUvSO20840 11 | PHzeiuTrcM1HilhT61hFoyn76XUPW4/OiF6Wu9thIP4nwUQ01cN2hY+QlKGhkZUc 12 | ymsDj73S0bzdVc4VZVLkMRR837M78sfYMc2Db40PLupf8u+DXNvW0aypML0RnmSe 13 | tzdUQAECgYEA+IdDOG+CrIgoFHgyFhL0j7C84+YKBmljXJ72WG0XcZo86Ztc5DfU 14 | GrpjqYrZUzvTTOuIrhRkvIXrN5FTj4FqROVAazd8bubGhfqv0VS3KBLC/sLrYxiJ 15 | gINkg/LlbCr7MczZxz6MR9FuXyV56SaotpWXoSYXnc+w8BSQI/vJlwsCgYEA0OIQ 16 | Bc1XwyBtrweODn2juswb9xtrjFzX2jjYb857IPHTKQ0WANvNr2FZ2vEvODRrLNeP 17 | Hrlj18lAVK4x0ARNPL1u/eRtqKsji164OV1m3tKto+NWUJPWEoYRzZL/02x+vUYv 18 | WvSL4S/mYVNN2ilKCr4zhCXGPEzn/JL5zrKywyECgYBomJTj5Zp7fnpP0x5RR/0B 19 | lIKK77/8XtJgos5O/OrG9wD32FlJ+20bKqLTMgqxCxas4twNV6vl4/7Qzir61J6j 20 | DFEGTr3h9uJKdO0WDq9fADZs/iAO/r6wBZyCI/IGijhaBzsIrfxgJXZsONuMEqci 21 | 4OaF/gAmfMic4iqf2lJHbQKBgFf33GeVIvC6J3ce52SS5PE2JFDc614he4YbiosL 22 | mi81qIgRSsLxzp2dkgnyqMAy0y//V/bIfJPT3ZPMCI5iQWTjImsqWERATqfTLCJ8 23 | g2Yzs4zhoOguWmlSrQy2a6bOelGbzTWw53fehFdYjeDiopwDng55GhMrEEf+XdX+ 24 | y+oBAoGBALK0KxjqL0CvK24umFo+hjOJ0LAwNkUvnFv5U69s5MQ91pxov6UyhevT 25 | CoJtg91prmoUsAL2ok0qtgSwIYFzjdex30Irn7lg6ZB769bwTYB8HvubAzL59OTB 26 | sII27zCwt2dsWtw49qoJRYcJxfczjgHmkLgZ6rG2oq1j7LdeLahP 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy1_idp4.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAysldlUid+NfWK1XgmS25 3 | Xosk9OUdRWguwXge68cl+FdL2LvsVPNnu1Lwukz/Kgl6gwXIwNbMaaEFom7J/zPJ 4 | tbCnxUJsjklcouC96saloWSfWmgv4Y8WJba7Jp4JM1hAgCT8MxXdasLbc/zQFu59 5 | 87HxsOiN4AjRD/IR3JNlIMDHug26YwXa0EWDXd7eafJ+p9bkTjAyFJ3fWjHG2T1g 6 | FOAsWtc9NvhPX/fSyyzQyfFLJqNzxVjDOTj1N9CXT6X/QTdttQEu6DLTbm41f9YT 7 | RXwi7LJPYec2jP9e3kfZIzB+3DXvNkYkzajkSeIaCin9YiyBbXXyXKOC8Hh4rq/Z 8 | awIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy1_rp4: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA1JwB7IhQR8bYOGw70YcvHiRp58sMxgnEljRUGIbBNN2Nlp7O 3 | IZz/5K+SObGxH/f7IKiHabPBP6S5pJh8t54QZosZEILaSDlHNz8bisRG6QvQ77/m 4 | aZKQ8T+mdZvJD6SKniRgrvM3veNoTPLNVtvlnRSWceDExYtfzqxZCg+0L6OBZcrn 5 | iaPgDzQmK4Hhte5RAs0tYhqAgZU6JIDPxXYlsgFpkol0dncNjOFBIREFGYCT8E38 6 | lBIu8p6BMOmpKOzuxprwAy6jj+ciK2+CHniuWtxaTpTHHIJ3zQOTTSpMSlDfU7Yl 7 | 6u5hL0FJui17oq9aJceZ6ECDUOFVdlHPMEaRqwIDAQABAoIBABOK44JiZT6zwFwv 8 | VrBDxMj4f+OWfm4Vp8RGuxQmDsxVMRaPMlNUoxDaMo6rDqTpnmO6GfhVVYYMFiRS 9 | /+PA27ERSBSEcpwA59LkMhvnPr1dIK9o7Dz4A+qo9xwIXcraTQOMRHbQVGdX59Zq 10 | 2wUI4Wo24j1Fc9DUptHQdb6/Asj+C4cE3ZejAz4FU7HIbS60HAQ3PNBHTkT8ekzB 11 | FJcyv/mMypN94EejarmpRZHigoALYE22FwFUI2rYdm0ukQybgrXSQJRFDdhiwxdl 12 | Qa528E3Be6+M3eD/otajOmVXnF2RhGS0uHPlJWiPSMxenVRZxesemiKS8ShYW5l0 13 | /yKLHwECgYEA9+W12XGIDgRbT3F5T+bNzJsYhuFrHbH7KCAjLcy0ac2Cvc++ePVv 14 | puc9ltiqJsuU2ZfqFEYuk/UI0FgOazOz9f7Wa2WjR1CY1g5pFovov9v8by3QNZNv 15 | Co9UzuslFEy7EXZMU1Sv2NArTUUpPUJa7F3BEAJ3RDayOMTNerWLkLECgYEA248G 16 | PX/GXWM3R0u0+uXZr+hq1Rl/gu0QEk3/EBx7ZQQ/8MN0IQG4xEOOnpbuq+E4NQeL 17 | e+Cfv8A5gQLNCc6cnO5QUKmLRTzmdSiRw3etj8iSruimFIQU9qngW/yffnwlMIhf 18 | Z3gWs046TjxEFiInHa3+1gBtopMmcfMbQMfO/xsCgYEA2PasnT53dMUtYa+QHHWG 19 | I5CO++YpCRlwF2NhRsGGGZ/r0NMVAurVKL/0sKS67y94/KSwE8SFGav5Zdfb7smW 20 | tTOwWNjg+ha5XYfJRBl5wQn5uxjexTVfl19xO5SkpEqv442lKb3SFjHD5GImwN3l 21 | lEBOLAPsfMBeZb8hlEd2elECgYEAtyft7bm8scUFpS0rsa2y1kLNdC3MKF04bfyw 22 | zTDlYxSTfnaeVraH+vncbMG+IpZD/EDqBBITUbO6hLvgbdD05xkK2O9GpiCyo4OP 23 | bX9Vwz9v1gdwHGc+0bJO3o20Q6CuqXjqFXehgDy++OrfZZNiDClNEBrVWqzkgmRq 24 | FLVaIYcCgYAR3nONGCKNJivdAnWNZvBkTohnPO817SM58HeJM3jr6nSbZW6eeoXe 25 | +gW/5TR+7rUnAntjA5jacZIRctwWBiG1hueDxz4EbcIbG80fRN75lAUPo2Gwz11J 26 | +DykS/T1gUy+vFisA2kwQmFhcNnT9RVDQHQ8Vw5PqAqeRpodY5hvYg== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy1_rp4.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1JwB7IhQR8bYOGw70Ycv 3 | HiRp58sMxgnEljRUGIbBNN2Nlp7OIZz/5K+SObGxH/f7IKiHabPBP6S5pJh8t54Q 4 | ZosZEILaSDlHNz8bisRG6QvQ77/maZKQ8T+mdZvJD6SKniRgrvM3veNoTPLNVtvl 5 | nRSWceDExYtfzqxZCg+0L6OBZcrniaPgDzQmK4Hhte5RAs0tYhqAgZU6JIDPxXYl 6 | sgFpkol0dncNjOFBIREFGYCT8E38lBIu8p6BMOmpKOzuxprwAy6jj+ciK2+CHniu 7 | WtxaTpTHHIJ3zQOTTSpMSlDfU7Yl6u5hL0FJui17oq9aJceZ6ECDUOFVdlHPMEaR 8 | qwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy2_as5: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAnuJgDqC1K6BcHd05v5naXI3zvi5B9Cp87LtWiImduqFBAN4Y 3 | b322J/tE1C5DsHScXR3h3RVFUXOIruzVwUUnjQyN7rxP2Kv9S7TQejsTFJwZUi5Z 4 | +XRmMGm5GOEZhSqnpWoEFVV3fMdZX7B97oymPiVHhIA6l2YWa1nKQBJTuof9DTS/ 5 | 2lEKIgU1WFJeli4EANZNH5OHQAzEwcuUfLdlnYktsKfhimBAA7J6Dgnn54NyflfX 6 | r+fJvTcnvpWsC77wID9FzA4F5/2nCqLAaahLMSudUsjVI3Bw2twr1OAbXBSHA/X+ 7 | 8VKvGWTfqp8fEDYRahXzdsFGYgpElBTKYfAMIQIDAQABAoIBABp+ROYrhgowQyv3 8 | p5l7Xh3wzaP4sqa0LwCKfHNn/xUPrncmkYyFucoQ6/k1fbP+vdQJF5B164kZasFA 9 | XKRNk7rBTSlx3R6UDziAfgLjttrI7K/3aqld72xDNMohPtAlvK6obuXfynzUAOMj 10 | 2tvcOBxEuxgtCZgVPcfIwSDN7Yg8wYDgveagxnTn6UocqXg1ohsCVlrGCnWE0oqA 11 | L6rGZf/Xgzn3L42B7R84Zv7WzPNSCNwUpfOkdEOzCq2gsrJViW/vH518KKLP7Lo7 12 | 26yn4x3kqeqnkjM27+IgwNNsbc3/FNbD68SKbl+71cY6C4ywil3B26NShN7ItM1v 13 | +UiOJAECgYEAzOgbkeDx4VtOCWiWn3t/CIzcN8IPNPedwzvy7uGiccn0FpnIBrjk 14 | dviOnBANtzP1B3XBSD5Aq1fHqFHaXaxBLOpcvDyPj1DrlqF7XBrHpi8Z8tlSwMtj 15 | x+V4rL/lBKaiztIKSOh6sG239Ucblb7JChBKIxDTC00vX69+kMZjSJkCgYEAxoCA 16 | SGnZCwhYwpDD6JhEqtoyphzCCyv24C4TQUXbNmXRvRlBFY37WVI51fOKuCXmNvpn 17 | SSixzZ6cg4gznWNr3tGbtR5l9O1z5vFi2W0nfYRSs3xsyGDUvVxyy3Jf4r1jaPi+ 18 | TINDf76NTUrHtiNqPV1CCT++D/JtvQS1jV3n7MkCgYEApdSnE12YhAiv1D93vyRk 19 | P9g4FUwRoI1ReYLX7epf3HVT/MKCNqaGB57LU5ROdVkwUdREE6KGFeVZqWhtMGhK 20 | 6v3VBWaBzLvxnhucSYNG1sDB4F9vcKZqX4ngKva2cxglJPqp5i13tbdmLLRap8sa 21 | yvE5/r0L/9Z8o5TU+ngEO+kCgYBZU7Jm49scL+FhjSvcG8mq6Q4p2n8n79zk/VcE 22 | 5J7FWASOiDLVtFML2wjT0wj13Xg//WdFcN6ynVHpjv1LMlZ0qvbbBpbzJXgm0TGe 23 | jpRa05Uz2CZL9edGX7f4/btQmdGGh4l7fQZ/Eg0cXy6INF+2xaTV7K1nF71ydhAN 24 | UdjwoQKBgQCGWsA12ZhnP9yIqAKGx43NuegPAq7LDqPdv4Pif5oGBam15ikx811w 25 | uFkgsYR92gOL4kMbV9JgrnVpq1ChhqDRnrNKkUSy1+72z3aSDsy0dQ9fXwO6uLY/ 26 | u25AUFb8q4R5cp0ZQsGCof3XjSiKF90agdHcc2ZFO146xMw7o6Fexg== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy2_as5.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnuJgDqC1K6BcHd05v5na 3 | XI3zvi5B9Cp87LtWiImduqFBAN4Yb322J/tE1C5DsHScXR3h3RVFUXOIruzVwUUn 4 | jQyN7rxP2Kv9S7TQejsTFJwZUi5Z+XRmMGm5GOEZhSqnpWoEFVV3fMdZX7B97oym 5 | PiVHhIA6l2YWa1nKQBJTuof9DTS/2lEKIgU1WFJeli4EANZNH5OHQAzEwcuUfLdl 6 | nYktsKfhimBAA7J6Dgnn54NyflfXr+fJvTcnvpWsC77wID9FzA4F5/2nCqLAaahL 7 | MSudUsjVI3Bw2twr1OAbXBSHA/X+8VKvGWTfqp8fEDYRahXzdsFGYgpElBTKYfAM 8 | IQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy2_idp5: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA1B52g0sVWfNV1RoCllO4qHGoCcje4H877WvP6+8cBxM7I6yQ 3 | M9q1GYsV7IHON2QfzSFzwcbpbq9ROHuN99JJSUdjhwe3uxpUuhj8J0Vjxnt6tpOS 4 | zHLQQoo1UpkFdes4std+Dyfv8RjdErhmFF9Mpy4mIuVYr7kh0U14tLLfYKBkNHVa 5 | WLrVkQfjB/T/jME9v+HDlGO5wjBz9akaM4md2GqBcdOcNlCwH8H2WGRjyGNlPAbn 6 | lusPjJM7JqwWU2fHLG2ZZ4Kx4orJZPOGdPVqcpkbtVR7FMr00XBbDEkTtwjUq4pJ 7 | X2lZF3Y3NVlRndjwb7rQ5xVmZFgj3yL/mw0p6wIDAQABAoIBAEJP46zX5CzirYqZ 8 | PwXP1oKSRX4JleOI4yst8SpI7fIoSOy2Hb6YONVrbccqLVWTr31pX87MaF154WJO 9 | /erjipWmA69K8l1DtgkXlnyQbMi4AXziVZokqoaivli8DcD3cBo40+fZDGHK7BHW 10 | I9Nql4QMIU/3cuo8bh4Iohubb8m8yER60ErYsQH5EAJ6bPgMkqQvo/w79FtDLbAS 11 | OavK2TJCFuonqq0zV17ETgvT5i+9+/WtaVBCg632vAdUJlVeaqGdG/YW1T1dfUtQ 12 | EQ2sxcoImp/K+Ry+mME8A3hEAN4tf/+si8kwNN2AFBSErCSUo8I/cV4aRF9P+6jp 13 | hWzVMwECgYEA/5FB4Ugz2lxJK25EVrFOrwijYF/XnAhETZQMpKXLZYnEVqjuYPGT 14 | eYMbngnRufMwMQCqY+YQn4J/53FaElpGM8FXQ3xhMSdNM1+orX1E34ArME6jC9O4 15 | zNey9W9sJcoZwI9YRNcMSC9g6TkdzmtqXSkOQa2mTjfYaRA9ttbuA5sCgYEA1Hpg 16 | 5UBlcjnqxnNGTtyHHaaFjr1lBiUvti87YBY7tWT/0URD1Ywi0QZ2Z0ymOwfT/rT/ 17 | Kdrjlbf6Nj527imnH6nEGRotdOIw9Sxo+y6x/7dfXfORb46+hSQp5U8zLnkZfBrW 18 | z2G6jclVXB9PMlAcTZ3/+1AUZh+mRwrOtr5kH/ECgYEArjLVo/gyF/H1kdvsSuc6 19 | icYqjmNltJ5R6Es0vvmfhUt9f9BQA9ZGPnomVfe9c7EWtSAOBF/qDr/F7Pzvdzj/ 20 | RwHPOFnMadOvJIhckjyjuHBFf/zp2ALtoPqZqf/TyIJUQVOzx+CJJ57bwLzE21GO 21 | Q4fbhtsVU5VvNlXyqvEfdWcCgYAeXmtw+NZHED4dJSa8aMqrEzztnOZOjYwXNwL+ 22 | hc786zWhHGexovjq9UiBFTSBJWpIcmgx/EYhBQ2vKRhoi+2GGgacK+CpXxbuQ+2x 23 | UQhB61ynGgQEdNuIPhX632oKT2a0FUX0mBxI3ajkpNj18PtKoLWQnu57djSW3NWU 24 | yvuWkQKBgQCgXYMm84gBFwWOk7db294cwaqC+1lOF8ihwiYQ7XDh//hSbkC6ke0U 25 | 3/xC8mhNU9+YwJgdqlrQkTiEc7YyZGVmfckh9gfVhkSWT5F/PxGELe1Sv584efWG 26 | 46xUir37Ql5n00XLxA/9g9sYa8SiXdc1aOxv5K3yktGr6pwUhTSVfw== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy2_idp5.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1B52g0sVWfNV1RoCllO4 3 | qHGoCcje4H877WvP6+8cBxM7I6yQM9q1GYsV7IHON2QfzSFzwcbpbq9ROHuN99JJ 4 | SUdjhwe3uxpUuhj8J0Vjxnt6tpOSzHLQQoo1UpkFdes4std+Dyfv8RjdErhmFF9M 5 | py4mIuVYr7kh0U14tLLfYKBkNHVaWLrVkQfjB/T/jME9v+HDlGO5wjBz9akaM4md 6 | 2GqBcdOcNlCwH8H2WGRjyGNlPAbnlusPjJM7JqwWU2fHLG2ZZ4Kx4orJZPOGdPVq 7 | cpkbtVR7FMr00XBbDEkTtwjUq4pJX2lZF3Y3NVlRndjwb7rQ5xVmZFgj3yL/mw0p 8 | 6wIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy2_rp5: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAlb/v2oGbV+YGSv9EhSRHAImmcLHN7ZlJS2ZEm7AYWJkVdGyr 3 | HqLKK5StiDaCdoO8xUp8G9yCz2zHi1/D2eZw3YqnA2yZQ9hCMlL21uPczlaYtX/7 4 | 2bo0/W0VElGEiYgOdDH3whl1UUY32IVeBeVIuubwW4p72l1NEnpyWHZ8hIWEGJgr 5 | 3FlrNIqvyCqcJ++e3V16uRtL43IP0GcCOWw2QWdjRK/yD2ULQX/xnH+h9flNYw08 6 | oEkpftK+U8eum5VJQZUXYJ3grTv3OowTuwdcDkEhqaSI049kfRxGMBNk2VwBWR6a 7 | IehodBouHbR41BZOFngtE3hD51arc2ztFB1INQIDAQABAoIBAApblUaC0nDY+zRy 8 | xZWD9dlGrBl9YuX9RUGO2E4Adx6hsAc2gPuEfQFYrkwOoSV7ZTIsPbtbnDympIKy 9 | ZASNWN8p+PVWrJ8xtRpv/JzOc/ZdrQBY0t2zcHja86spskYlAALvddiaFDBD8Bbs 10 | 2p0Dx+0NjjB2uqxW6b7Oc1xFDcXIr0yuE19nCp/CKhQYtO6XppPf3b/PGZWpFdKU 11 | mqDMpLXa08Fyw7y39BXxf1dqZxNStc52liK0/ieGSHzV9adLbDJ720g+1n+2wYM+ 12 | 1X/MWGuasLYYuHId4ybebxzgeS2rxjyQBY15tTRoWLIZjf5SRT0LbKJMvblPcmEK 13 | yfiUoqECgYEAxq/oXJTHDsQOVm127hnkVPItxkSGdcirq3Xmpgt156seIfqcxlRb 14 | hzIpTJw+htKUDnsvgjGRHExn/QHBum4+cbkoi2p0BYssXV5wfYd4jWk0eaEE3YbZ 15 | O3Zt8dHAxbWZdqpdRqQqkqoeGmXuxz4v1ZtWjf6kdbpUSOT6OJjZCt0CgYEAwPI8 16 | 7+Uc5GKpT+iFpsCygDe9tCKIOGJY3DY4dLkoM61MKEFnpYTzq9LvHDldX0MlenoO 17 | mf/aDqLVYPfAWWwFmn0uuFhPUCyNBMQzCcT9M/aXvGBq5B9X8focSXOGLhGw0Fp6 18 | 870I9u7jVdMXhTQSNPnSvo2pgSQwitoO6dRLATkCgYEAg3HK2rz+uBESnzEKFlmA 19 | yoXxrJKXFgMtN2Dnt4Arf5mgdMBUyYzzhIy1794KK63Sj4YFly9tnfgab7Ki1NCs 20 | dRYW8az6ltRNBHQ/HXzrTzqDodfZ3SiiPImMEQhAbUxH+86XqO1g0OjEw5geEShe 21 | AwYijAwkB1K/Af6iX6EXLe0CgYAb7vYDhRf5uI7qkq9GxP8SsP815Qnzn8ldmDv0 22 | Kho34Q71hQKMZAMjDRaw710lPYNfh+w1P2VCWTCrKTMfvxPQme75oU9aPBjuZ7k7 23 | 4NkHfNva2dqfzCnfTmZp+9+hK859W5wRTXzOwycGddkh37gDE2f/TmML30Fn2Mnv 24 | 8FwrgQKBgD1wClPWnkMrLZYIrYUne9iYmw8FZzSvQ7VuhH6xzN/OMKjBXtvlZBAq 25 | pFC5m8+ZQ0jDAv5uPh6fEWOy6wjuH1aokmwfrdjSxIfSTEq+pc+KUxVYcK6iPdTF 26 | +GEqLe5kV4QyBIeXL3br5Jxpo6uLDM1PuwlVy63VXNv7WJxHy/qr 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/keys/proxy2_rp5.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlb/v2oGbV+YGSv9EhSRH 3 | AImmcLHN7ZlJS2ZEm7AYWJkVdGyrHqLKK5StiDaCdoO8xUp8G9yCz2zHi1/D2eZw 4 | 3YqnA2yZQ9hCMlL21uPczlaYtX/72bo0/W0VElGEiYgOdDH3whl1UUY32IVeBeVI 5 | uubwW4p72l1NEnpyWHZ8hIWEGJgr3FlrNIqvyCqcJ++e3V16uRtL43IP0GcCOWw2 6 | QWdjRK/yD2ULQX/xnH+h9flNYw08oEkpftK+U8eum5VJQZUXYJ3grTv3OowTuwdc 7 | DkEhqaSI049kfRxGMBNk2VwBWR6aIehodBouHbR41BZOFngtE3hD51arc2ztFB1I 8 | NQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy1_as4_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAyUhDOJLslE9r2NkOBTE5u12AkSIMHL+5HAnDi2NyLw7Qwvj+ 3 | HeSq5mwh5ZiRR5J8ggu+Idadc6FHBlOOdojjNrIB329GcKZiq+27CU9ELkhaDaCG 4 | TFUKTbt+6PJA1sxxpbQvP/cwPTBa9nrnSWx5MMOJHFIv8Prc0lGewVxtk4mkxHmL 5 | eHQLfWk0IpyC403yWwweKVzOGrXojXoTafLQdKlvF+So1jQ6tJBVpdGqZTQr361I 6 | a2PfUwwtQvgHhr2Qz3D0pvq+MQ9YrMH37bkIqZQTcUwiRUghp0SnB8KTRzi/+1uf 7 | 9IzoeGiUur70maaacrV3HfAqPxjYU0bmmecqZQIDAQABAoIBAQCtGzvMrPdQOdnL 8 | nijjqEk5bZnDt99o3i5qAa+t8jHibMB33kJWHTIph3fDiOnw/vebtFOpsHSrXFnE 9 | BBpysRmQEZlwurd+7GnR6VvBDu3ZTBo+u/6kKUL6RTVJTAcddKiM1SEJxyIyjaK9 10 | dkfxqpuzp4cE114pxuYg71c0frQyfFfLJrgaHYmYqH+DGN+PKntvv0eOBYtGqD5N 11 | pO4fKQf4HjpgY8GJvKoH5NmCRv5bOUjeZp0z2rW05MFDqb2cjYew0mujYTB+SuMg 12 | KeFihTsuIEyOctTml4wTT4Q86xsbIETDAw/uZR4k76+PuK4diR4anVxu8FGM0vaS 13 | mye9vKvlAoGBAPO3YBi+Ox3DP43KEoTEtCnNmUhq7uT3A2YQ+ihMTKWzOSXZ5COd 14 | k4ERJvNj3UmAJNf4l+/ujEEjQfQa36GJV0IRGtUIuCYnDbSb3LOHeuM/2cmSxmB3 15 | EbqNTwXgvwnp4dUxXrMkwuKc7vAzOPnsUVfyh+6pDfrvsd+rmw0wlPSTAoGBANNt 16 | Xni5PjGwJIQ97inG5Q8/XTDlR/KKWlmU6pVgVqCNJn6nNRzFfNAOFv/a27nr17qW 17 | 3qTN9mj4U10BLyAQiyDdAN90V8mSYeNitwN+GVkr/tCgZ45IqZWhUlaKCWHLNDUx 18 | zzzKGQq7CqcGj8bqZiTbOp0d4NxhxbFQ4TPQy3gnAoGAbYOEGfo5RDl9MHCR+7kM 19 | IBC0BTeP27EnhNCyKDOI6ZhsYJbVji97na6gaxP/1sxPQgEB/R2bRpXaSB9fSA4X 20 | +KcJAJtnbDV2UicLeFyzmrQRYCOlIqm+fK6MyN5h2cmP4iXKIQOu0vej4qmRu7Q2 21 | JSflbxfmIVFeA1zwUm/3LyMCgYEAjZRZhOIXQdLAQUXvbE5iKTm3P/zplwMKyZ4t 22 | EGZ42/5pXrq9mEyu7evhfueh5/iEd9B7u0So01YnDMq0MfaiFBmqcfhIqRS7NDdw 23 | cohIlSwe8LnZXrBNz4M9zfGVosUeati1+/Ehn8vssDh2oy9nwxqDP584apuWdMzC 24 | YZ5aAlUCgYAGwB7fGpH7m3AYvL8p8GJDxfpFrk7m/pc7pBoCRGpXNzo4A+dvDfPH 25 | AeRQyPGyVqbFH0FlgMZCWRA5HKp9zLDPe7HwWfN1cnzGn/T52EK+jT7b7GjCAfz8 26 | Ze/mr1dAWVTShPLaGhPIqlnNsHnyKzyioo/yjn0xS2lvAXo03flwFw== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy1_as4_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyUhDOJLslE9r2NkOBTE5 3 | u12AkSIMHL+5HAnDi2NyLw7Qwvj+HeSq5mwh5ZiRR5J8ggu+Idadc6FHBlOOdojj 4 | NrIB329GcKZiq+27CU9ELkhaDaCGTFUKTbt+6PJA1sxxpbQvP/cwPTBa9nrnSWx5 5 | MMOJHFIv8Prc0lGewVxtk4mkxHmLeHQLfWk0IpyC403yWwweKVzOGrXojXoTafLQ 6 | dKlvF+So1jQ6tJBVpdGqZTQr361Ia2PfUwwtQvgHhr2Qz3D0pvq+MQ9YrMH37bkI 7 | qZQTcUwiRUghp0SnB8KTRzi/+1uf9IzoeGiUur70maaacrV3HfAqPxjYU0bmmecq 8 | ZQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy1_idp4_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAtUzzEY62D1w6CnfxD8rjHoirSsgCq2X9+4LsRzw/6QIoP9bT 3 | 0zCIEPY1YnMpt+9XhnGeTHowdTwWhduQCXpZsIO3vabxQGbl5kqO3gV/sCOnyDZZ 4 | btoFUrgX2ozJBZfoWf2ZzD/ezFPxLp67fb2LVakBJyhHNGujjAKt+yNEWznEeB2E 5 | +tnLlXXkPKf251URW5vTMFGiGm6EQ4bc7ArFT+ZyKmzrTJOUeubgt0pMiPOZdQZm 6 | nDa8GLebitA1kBxEjl20z9Vz66rKFL31gDFy+jfOYP0Ss4gyFtxG2pzKepJjhCsq 7 | pGioT6CSvErhSk4oq0JMq+fAq5rRFiM6Xc7hHwIDAQABAoIBAFHKe0YKefwIAW9D 8 | mQ8k2r2lrpE4Fmw4wRI8iFfCyJpYDMxwIHQASwJL8N2PUtzWL0hJ7b5WyZG6H/cX 9 | jK2Z8uh9I+F9dQ023rS8IiPrmyVdkI30Zvhph0lAIBLKvM23MG2YyU+p6NuJax87 10 | IR6i6j8k1Y5Sz3zIqqm5c7/+sxHsBQxd6qL5HiW79hGUZ44jvcj8/4DuFk/hlwu4 11 | PlJ7DApfLN4k/HeZOqZSPap5x8axwyr+ChpLwm8y151pet9+XHbAo03RP8sOZzEP 12 | wKpiYafDfvuYaDYlmcdq9xM1sbAZpaPVaFwhxGUTTHkxoL+P3xQUaIp4plMbRdun 13 | gCbdybECgYEA5HZftwMh/sgDAgfJV4yN9f6i+1PMPjYdIfx5dhvG4eO4aTxXA03J 14 | ZLcVGB+ZThw8feNtpeVRAr/ngg7s/h43AVM1i32l69gW3lG3Et8xAGk/yco6SKex 15 | TnstYQO/122S+e44S5UwS0UNR1/6V4EWgNRbu+d4FHziyd5QgAaTQFUCgYEAyydP 16 | teOY9zjmppZg7KvPnDs7O6k2uYr/J2NEqRAVoTB6GTs8IyVOTBmIJqc/PCx0hjgB 17 | IZ5XwFoioFA4sRb4Oa3+tB1G4OTI+om7xALM14qjWQSgXUWuMcB1XafJzl/ve54P 18 | uFea2+rEL0kBS5b1In9d4CRGzBDH6sIFFoRYP6MCgYEA3XSdTUKdJmJs///aPKJD 19 | TavaAnN1LOy5iqM4fbNpMrfRnzjdQ5eYW6dYrDydF2kpfgIB3GiQAXFSEPE06xMQ 20 | 0Jj+80sFlbquWCyvoHx2/GYJbio4GwtqRKAEGeFPiZxudxRiv2lLGftCZuhzO3Un 21 | AhRXI6q47GsuTu3P7HnzLM0CgYAmp6Y9H79dWxBYJkju/4oTWhndMkddaps+LV9F 22 | I/BZqVWyM1kv/ss1I66KXExl8LeDSmi8stpTmVL5WgpPd+VnZDoQn3l7FU1AjrCR 23 | jU7YvGJ0b7LrzHRmtw4d8e0uPYbd6KdpFhI7QiJuNN/wOBsQo1eDbKOj9JV1j9FU 24 | BX6dLQKBgARvQJhWQcIrzt7s3DPAM6It8afhQwazxLUDpedH1x9+SrvHQZ+0SiFZ 25 | etbh8lZ6V4aYrrj3V81eg8miPAEJh0s3uMggN8bHJsuw7J6aMDbjshPDLl9dqkIY 26 | hfh2wwZPYL7sUDfYrx1tvri9+oX4BCP+oveOaOG+uzOmAtK4tEyY 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy1_idp4_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtUzzEY62D1w6CnfxD8rj 3 | HoirSsgCq2X9+4LsRzw/6QIoP9bT0zCIEPY1YnMpt+9XhnGeTHowdTwWhduQCXpZ 4 | sIO3vabxQGbl5kqO3gV/sCOnyDZZbtoFUrgX2ozJBZfoWf2ZzD/ezFPxLp67fb2L 5 | VakBJyhHNGujjAKt+yNEWznEeB2E+tnLlXXkPKf251URW5vTMFGiGm6EQ4bc7ArF 6 | T+ZyKmzrTJOUeubgt0pMiPOZdQZmnDa8GLebitA1kBxEjl20z9Vz66rKFL31gDFy 7 | +jfOYP0Ss4gyFtxG2pzKepJjhCsqpGioT6CSvErhSk4oq0JMq+fAq5rRFiM6Xc7h 8 | HwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy1_rp4_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpgIBAAKCAQEAxwEUKddls4n670JqGrQ9kV4P9vLrWSSilKqMHhJR/s51VJO3 3 | Io29Qvc+EJBsv0JRd5lFTTCYfME6ymZpeUUEsR1OpvvkDVC/ruNBpRn/WiNNwWDP 4 | 61o/DoXUEMrnO6t/45hzU/WXm5vn2i98gf+FHN2tf3xVuE26dnyjtlsA1LuDercs 5 | np8znvMSJU3eY9FR2P9ZRF5ygMwCbQU9/QZEAFA0HK+O+pw+qdxHv3md1/uRJYH8 6 | EWdLgZqVwWaMaCnLN+2h1eX6R1LO9qDSns5yuO/U2HvxwdJN1CKIIegK3nqxv6zF 7 | 8gO2iDfiFZrBKHYe24uZFFHLc25S5P5IKzYHQQIDAQABAoIBAQCxUs/BvNI9mfyE 8 | h7x+EQ8vYg59sNVvOEq6iAGUpiR0FUnNVFaCLqRvcFnYbqjH//MRy/xJnLyzpYaa 9 | ZYkkaxCUNZYpCxiZmNNEpfGPiUvU6NJXNsnuYBsB+NQPJo3GyLmLdwOE07kFCnYd 10 | H+Uk/SeCojEAAS1sra4x+Dv0uMBTzTHptDtBH37fPOunaEA8gJh9HRNIJauuRobG 11 | kD/DyDd2wZnTdPX2kY1FESTC1m0ScPGeKhZho7l/CcP/RB7EjMyVO5bQc6X6rR3C 12 | Z4BQeUt7D9vfBI3Ue8Fkk1FIYBjz0ZHXII0j/VuXtq1HFNsfS541ul6iDp6dlsvQ 13 | h4FRH0OFAoGBAPuizxv/1LOQc6HJ0PZVgOz615v/v0o7xCLsNJ+K52le3uuXyXt/ 14 | yEoOTgBaeWGqxclC7q/eXeUSo19RASE2iVgDrzomaTEBDu4Gz/BjaR2NYPrKD4cW 15 | 3U/zWQGpAouLWP9EB3vjHlwMzc0EbUm/rJ2mDdnvkeRcz+9PZwWzW5H7AoGBAMp0 16 | mZYoWvfKy6bI+BINvZFgrhVHxhumIpZvD3siXcp9WbskSi6yR9U1T5drr3SWdvjK 17 | RMFdtCKHlpgFogZBFN2CwbMAzx3B5FPmORwHKQwMCX9NwRO4OELvNg0Jz0Um+dCj 18 | 8JEGYoIMwfWwYyvbxUbLIRShQb9cj2qmSqvSK4LzAoGBAOFrTueBPbUCIWP82/Hg 19 | VNd2OrHn4CAK/EBgox+NGpL9Rut8FSVKKk2VFPEiG3yPtBEAobvwkuKD2NCpSz7K 20 | kSzEWDPadv9MOGiot5xcIa00mnzviAt3Qxi9Ia3oDnydf0NlWOL1aZwCaFZRsemQ 21 | CH1NZTkncOVG84so8Vxc+RoDAoGBAKrJA8sUzfBchcFzpTjtmG3r5c6T1n36fxDy 22 | LVgNXJt1dN2WtnF/+XLVXwf4UnGCgGhNkQShvFSolpQ1pEGsYyKdrDMJyq5qoudX 23 | vfNz4t+Dw/s9J1QwQl3Ml4cWMGBAidrEgSqF/VGB25kbq/0Sju+yaXySr/jy5xTr 24 | pPAfAo+bAoGBAKggHpwMHmOIalEt1mze0FxuDEe2dyUwN1SIKRus3GcfJcTuIBUp 25 | GRkfQpYsf6kTDxukIFwJyySqTxaA9ItH3PhXbAJVNoue4aofLx8dRwdr37ruRzhF 26 | mQ8Tk17g6Wg+q9bulisNywKzmqR7aI4VTNhEKbtukNto9lA7VRgGR+4G 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy1_rp4_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxwEUKddls4n670JqGrQ9 3 | kV4P9vLrWSSilKqMHhJR/s51VJO3Io29Qvc+EJBsv0JRd5lFTTCYfME6ymZpeUUE 4 | sR1OpvvkDVC/ruNBpRn/WiNNwWDP61o/DoXUEMrnO6t/45hzU/WXm5vn2i98gf+F 5 | HN2tf3xVuE26dnyjtlsA1LuDercsnp8znvMSJU3eY9FR2P9ZRF5ygMwCbQU9/QZE 6 | AFA0HK+O+pw+qdxHv3md1/uRJYH8EWdLgZqVwWaMaCnLN+2h1eX6R1LO9qDSns5y 7 | uO/U2HvxwdJN1CKIIegK3nqxv6zF8gO2iDfiFZrBKHYe24uZFFHLc25S5P5IKzYH 8 | QQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy2_as5_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAzIJsanLrSHfc9HWCpQBflwSN6yVKS/tVQ+JS9zrjYYeurnrX 3 | 50+C8/adWFhPiG3uwEF0Kplrm8GHT4d1RPjYW9AaVO8E397mxTz39gUhOp8KEt3V 4 | JpaG+MbEaPXdD0Dpb2bnwrC+xSvbYxq+Rv5i2aC77xJVO8lc2MS01I8wTeVmTlRE 5 | 7h9oIOgbWw19sRdzSAN9g3SHqWKjLwfwkDNgHeskqQf2FLcdjYi9wLBxHHn3lwiR 6 | 82M8QhF/lh9XwTK88WWOjXru9M14XVNESyzvlFRI/NgOFVntfH/ZB/pE0uRRXRYU 7 | eGs14NxtmIlEiYS3jvgZNyJpNF4aM2Jlj4GpsQIDAQABAoIBAAciLYHxDD/03mIw 8 | jyQORUdRQ1oGbPcFh03c4SP6i9/lCbTQWCObZGf6HDburaeGniNapSCvRU+jioK9 9 | qNuFCpb5RVHdHIBqmAYdQFD2kNgooANUdZDpA0A+Pq+ik9lqXDokjsT9wUnDY92r 10 | GyQCz5PjxWpra0mwlmqBQgWAESFGZTmWPLLozI94UFlWxN7M4wA9S+cZJKLaGO6t 11 | TdHK8RxaMqkpiscPbdE/KYE/REPdwALvQWR3tyS8ktilH9GH2b9cYqK+S2bb4Gta 12 | fCP0e0OA2RnUevYgpmcMjOUajxJk/VuIGIjxJlVU/W6UcMRB8ttqDD4IxatuHcHH 13 | 40TAitkCgYEA6lMlOGmM7XjMFJSpmb5JkOBkitDuRL5wfryFCl11L1W7lnZuSqTl 14 | XxH+1mc/6Mni/uolAapwb5nHLuS2kdaeH0mck/Zj4EKtXWQSx+5g/1mkkN9rSvZ2 15 | UKCdDjxG2KdMLtf5AMrXSfsQhs3evJUhjwDD/sDJg3xqr5071iSoLssCgYEA320+ 16 | 6z3abvrhlw1DnXIMK73RGhJ9x7vUYNVBqvJgsWvDQ3Zw6duG1tHh1y10ZQg6tWg2 17 | LDNSs/hHrJvpR/iA/LU1YbcDjjsNmLVJgFg/Xxjap3cPgE8WK8lp2oMx8nJcz140 18 | I3a9b/y3qJNb/XY2A+U6MGcA6NTeAY4gnpNo3fMCgYEA21GPGMnSGcJiYTDzvO6Z 19 | tHwSHsuG99i3OigA7b6jm/ZGaYHXoQ3NkboqJ0rkSmILkERe9rwsGIh6Ia34I3AY 20 | 93fSkbqfqJs/4JV17qNzLg0dNmum5Lbh7n0mAtjwBoAvkfibGt6/uoK+6S1vOFrs 21 | 2ggBakPPWL3urQghpUESGRkCgYBE1aR/10OX04VzAywkssFbLJTignXr9ktdNfaQ 22 | UzJFFx1GiJQLCI5HWsxIfgGRKvLjduLRxVIijkiOvk4l1ULwGGgE3dyjkkADHz8w 23 | 4n9Lrh2XYJAPCM6c2OXa43ac6mz7mltX3bpJaUOwFQ5PTX8gvhuqU+Gs2gA33HDi 24 | SioRzwKBgCOG3g3uK5+oAYyboz0brppc53P7sy2EynJtPGG/rG0VsQbIkCgNi7Zk 25 | qsV5ihNn34sFfX6j/TVtb0KfmKIUEHq6qrf8WM3Vie9/pH8E9ZoqrsdPCw9yv4pN 26 | QJ6psOcl7B4dpnKnhw8IJ2RrVRD96HsiE5xrY7CP+FGeFvGbPrca 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy2_as5_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzIJsanLrSHfc9HWCpQBf 3 | lwSN6yVKS/tVQ+JS9zrjYYeurnrX50+C8/adWFhPiG3uwEF0Kplrm8GHT4d1RPjY 4 | W9AaVO8E397mxTz39gUhOp8KEt3VJpaG+MbEaPXdD0Dpb2bnwrC+xSvbYxq+Rv5i 5 | 2aC77xJVO8lc2MS01I8wTeVmTlRE7h9oIOgbWw19sRdzSAN9g3SHqWKjLwfwkDNg 6 | HeskqQf2FLcdjYi9wLBxHHn3lwiR82M8QhF/lh9XwTK88WWOjXru9M14XVNESyzv 7 | lFRI/NgOFVntfH/ZB/pE0uRRXRYUeGs14NxtmIlEiYS3jvgZNyJpNF4aM2Jlj4Gp 8 | sQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy2_idp5_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEApWgSS5uLSD2VR6aiNAtTyu+L8Xwhgx4Nd37DpEoRDw96qPb5 3 | Xx028ENU/D1F+f7VtrTgpeK/IVs5HH9la4+cZBamBjMU6pvu8GOIZFdFvP92gBdv 4 | gCLP+ZiM1gsc/lFzvVV4hweMJwxvCOJBm0lGfHzWHSV71ASkHVt69nhhRt6rPHWR 5 | JM0mZc08iLULslUpBOIeSKb5ZcvDrGwL0MbaBcUd+8bVfI51dwq1jzh1ZEUFLGmb 6 | /QcnpTsiB5UKLK+Tju6X6YpoYc4RtXDx7Er21EaM25nRfW1pds1yDBSSRD+BspNa 7 | oUBskXpekDEzkY7hFU7pdSF1pCieAGSU1lOJKQIDAQABAoIBAFwpVKhUDpM93QOD 8 | UTV2akXUm0D+TR3ljNNcCl5r9n1RvqKOmfvpJ0dP/PZenbLhzupydgl4Ac7wKS47 9 | vaLk7drG09L4e1sNb2D51HE0P2NDZB+S70mSHBeSbEaHAqyhbb+8898o0Wqgfu2Q 10 | Q8XmWiPa2uJ6lDhaLac95ZGXGXyGh5+mHhM57W6PqL+6UxYg6xmGafWVxU04HwtO 11 | RkDSBCd05nRCQVSggXXb3g85bFpEjOevUdQQURYRZwc/PsppwrI1MVnvXpY/i70g 12 | V/EGDZihqBBFhbq7QNkAWZZuKu9cLFDY2h4AJLj1v/+TOdXPS3twsPaxfIhB+sks 13 | coz2TAECgYEA1cleKRCy2kjYCkana3301knaJUMlydAREYSsbsKiytOG3/v8ISgM 14 | WhdFlgvd7y9Pi6Y/TntYqltiDtn9v0O+wzkuoBMLjwCg8js4oAfd9prX5q+EHKyQ 15 | o9HPNjbqUECUIC4gKbDiFLmeJhPbs0/GpweWESR0PoP+a/qgAre998kCgYEAxhEn 16 | oY5lY/lO4Y5V1/MtatupeR6h8oPwu2Kg5WIZJNzf1nVI8MwuRfQ+6YmjhZeT+gqN 17 | ZPRVFPQh8x73A/NljAYNygXFJeVwExPyy4f0pvI80A3fNKjsSFIefhPerHsjAzQL 18 | PrAUSrYp8p9dUKIvMJWH2hYM9TaqVAtFAeMSdmECgYBwZeZzgKwHx7SN8oejJB3N 19 | bBac8Ki1agcPRsnBkeM07/FBYaI1bHDSDNoxARw13JHdwhIWmRMMve7YEBQwstVg 20 | nne9AUZacOIteKVUvc4dEVvhlPXIfZGuD2j5//VBLDK0mIugX7b9XnmfW2Fu7Mps 21 | lrh3Wssi8xKYgrQNubzOwQKBgH1J/LfFS32iBrPHRaYEvYYKzXlAV1EBBRaDnSN8 22 | mksnLLCMIEex4NN/XQx9dGLdL03LvwVNSUSn6ZHQ1JA7NtEMQ0y3ua3vJKXsyHjW 23 | 13uDX9R78eVttYlJ6N/30bNpcQxlr3dICo34DTDcfjqzXQZukDD0Id47ZiMjvdMj 24 | wFoBAoGAWNaerO+csSdPEWjcy0S/M0O9JWzGe5GEW5uDv1FgoDXj2rHfTopE/7mm 25 | dylHMPAoOzNa8wQkpRvCF52R78hROOd/cG0z5CPw30iyVRvNH8QuR36+vQHxnqLy 26 | zNnGydmna9hR2nSfpX3VhLkxzGVeAd5mo9SJRSz6V6lkONGRA+c= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy2_idp5_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApWgSS5uLSD2VR6aiNAtT 3 | yu+L8Xwhgx4Nd37DpEoRDw96qPb5Xx028ENU/D1F+f7VtrTgpeK/IVs5HH9la4+c 4 | ZBamBjMU6pvu8GOIZFdFvP92gBdvgCLP+ZiM1gsc/lFzvVV4hweMJwxvCOJBm0lG 5 | fHzWHSV71ASkHVt69nhhRt6rPHWRJM0mZc08iLULslUpBOIeSKb5ZcvDrGwL0Mba 6 | BcUd+8bVfI51dwq1jzh1ZEUFLGmb/QcnpTsiB5UKLK+Tju6X6YpoYc4RtXDx7Er2 7 | 1EaM25nRfW1pds1yDBSSRD+BspNaoUBskXpekDEzkY7hFU7pdSF1pCieAGSU1lOJ 8 | KQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy2_rp5_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEA0KkIL5Kd4JuRnci6+Rdyy8mQlz/3HcNhl2wVBwIjfSNSAmOB 3 | 7IrX2v32rB9WvRNBq/ZXlk/+n1NG+RTh4cqElMtl2rcYzXrKX5EGXOeszDBi48sh 4 | mqbVMi0OJj17X/7p3kMizYbQlFil35l1P4Y3k5+6gmCdlkaLOXPPVBkAy2qPNCCe 5 | PJ/zcdjwmClxNXRDFfyx8PvF9zHkrGJI3pBnBCRVrNreOKggCoe3EeX5DcOh7pOV 6 | VSvqC6kL4PiidsSZmvGrLgDul4ABTV8i2/uNQqrKv/YPxGi0mFF2zMLSW6zmYH9C 7 | bV2IogarehkdUF68NxzXD6eeIROVPS80al3FBwIDAQABAoIBAEaW2IEXjbd9iZ6i 8 | WLaJ+zj74KF6b0QvY+WRF+/+BjmAaG8McNiwA+Q/BGMoWvSt/gqJ1Qmx2EbYKmt7 9 | aAs1svKPeM6sIITrJGl+K3PkoG2XdOzxPFYQWJGX8nB3XjSUjVO2zKBRGmEFOGBT 10 | jvnFkymq4LLYspczGEiAaERgDQfDUXv+QKWlpcB5Y9An6CB7/L4uBZGjMytTXjt9 11 | nKbh9xiOa225v82ovlM7w1WVqECfpt8m6m+XWoGezlzLY/ax1iA1KUbLWB1Q8Oie 12 | pdJPHF+PFip/N321pwc+2zTcWGpHA5qTlKgUSsDZTjDrhDWIggjSdP5E+FoAIeKn 13 | uDc9r8ECgYEA589LAxZPY+W0VaV1M1fzo+wPW1t1ZgQtG2w/s7jJQo7h/GFrjRwk 14 | 5eS3njHZAD3Hiu1D3X7KO1KWfaTzd/XG/c9Fkns3k6RcVduvTxwd9m6/qTjanOog 15 | X0yu5IKPqjroffbXRpHkpIjlv+cUwiVtb90oxv5oXGcoq6igG45du+ECgYEA5m9P 16 | alrWOzWlSfoV6UUtnEln6I9xSAe6JHKDx8YVf3xL8bhIYCPuRqcoM+zGb38xtOVT 17 | Kex2DLN96o3jdtle6foqyrl/36ivpY91iOStTg2lcFOgxBhyp5D2VkAuuzCmgOVy 18 | AC3/GWhBwiGBcGm2lrUwZV2JN5mmmp2O79uY3ecCgYEAvH24dxgrEgX0LzhNJqS7 19 | vmzyx8yEl6GJtCS/X7pAHNjmNTxaIfHipvTlwcKyuxmBKhxn9LFma/pp2FzKhJ7b 20 | YgKqhcOfm3QoiMALuv4X9wxy2H0cdj+Cdzt5cuIfQ8KGzfZrcjyreIbAmtyh6oRY 21 | in+A6t5vqcNQNNT267FF0sECgYEAqAxxDAzmwxNiUUrSg+XxV1KpNo61fGQ2ObJR 22 | rHUm5GwPLl7IWWSatmfdB9Ea/eDyrQu41JAfny+fGlkTk27+qv/ICUOyn7dzMPgo 23 | LQcn5A5Lolk6mweBRfaPz2LLMbRPGR07QCpLKYpAuoSY0xQlFk9Y1fOayDODrqpM 24 | vVuWZe0CgYEAi44OctCe0TxpJiL2BiG5OCf8yuBxaT2uz6BTiyRo0bvhfXHGMMP0 25 | S20Ew9bHIdOiEWkBjeiimfBhMWeoVMhF83Qm/dRK4CgBbEoY+QESGFw9S+41ACU0 26 | A0UOs1Fo5hncMgvq9GfuwJQMS7FuZZe/dE4Jjau2NZS4R8vprJRwPIk= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/behind_proxy/master_keys/proxy2_rp5_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0KkIL5Kd4JuRnci6+Rdy 3 | y8mQlz/3HcNhl2wVBwIjfSNSAmOB7IrX2v32rB9WvRNBq/ZXlk/+n1NG+RTh4cqE 4 | lMtl2rcYzXrKX5EGXOeszDBi48shmqbVMi0OJj17X/7p3kMizYbQlFil35l1P4Y3 5 | k5+6gmCdlkaLOXPPVBkAy2qPNCCePJ/zcdjwmClxNXRDFfyx8PvF9zHkrGJI3pBn 6 | BCRVrNreOKggCoe3EeX5DcOh7pOVVSvqC6kL4PiidsSZmvGrLgDul4ABTV8i2/uN 7 | QqrKv/YPxGi0mFF2zMLSW6zmYH9CbV2IogarehkdUF68NxzXD6eeIROVPS80al3F 8 | BwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryptedDevKeyPassphrase: -------------------------------------------------------------------------------- 1 | development -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/as1: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDHdKsBx4/nUN9p 3 | 4xwEzu8q3zmBDSOfmFt/hZ0vmjiJWzoWmtrDptupZOF2t6NAzjbi81n90HDX3yNL 4 | mWMt9EFP1/7EjsUXGNCq7FAm8pAh3lmfsP8biMkt+5W6qjv7HdAGMTFZus690bSJ 5 | bQ+Naok7iVduxkRPGd61A5CjHb3eRk6ifB18aJI0AwdYCuPKfZgl8idboChIhWXQ 6 | egzx7e3ns2Fny8uff2q5lsPlIGxBcQJ3RGQGWk/Zvg+OYECPKblcVNNZXt8C7AFJ 7 | u/xDnB/DGiewacerbJeCcjZGhFLmqDs4fz27FbZElFka2/5eVshDsY7Kyozsf1Xf 8 | ZzoNYMdjAgMBAAECggEAJORlhQy+h1CkIlfJpPIJtupXHpGplyl9MxcpvdZOwslG 9 | 80ttT2cbljd8pJLO9XuvF0dfy9y0Ipm5U5BpkeRt+DDBhOXLerwyTIstQCb5leok 10 | ta7tYNBqNcElLsOyGH6pLZwHvssY1m9lb03m5IdiHssGiwzNMbxdPyoLpMApkGUo 11 | hJF8Ky3ktxtou5b+YpTTXSC3ZhCbLWfwhUx/pEFCLthPnbmsBebS+xet7AIADN/a 12 | e6sVJS9auTjqTZEFjgYrHsIsKk8vv06n9bxKszAxEWsB5n7aotHruEql1qtSxn3C 13 | QBsVvs+q4bAy8L6wEajjpH0nQS4FlOq0eGWfsANEEQKBgQD/7J4iTUHcBAfojvJ2 14 | 09C25e6yzVT06BH+52cbjHNs3S6NOh09kkU4dGUCJfjg+Tyz7KzbgJ/3MEy/9kkR 15 | qKzLspdPekqcom8VUVckggVqmaE4FZRcivHvD5qDCgmTaURQrKb13aEuPX/1lQYX 16 | D5UEMN2x1KlGPhi5a0kyM1B0jQKBgQDHg8YPMMwSn6dTLk05BU5apBJlaxwqFZUx 17 | fxRGUdG2+dMggBoN1A/7kyaAEwoPrWglPlIT+/B/FepfdxNGEQbZ4F41V5iAwDs3 18 | UDMpn3wCIGPKG89wadVfSgibrqobkijlJIvrPa8e9HjxQEdV62/XIrv2Vsi7ETrd 19 | xXbalMZHrwKBgQDLn8hyImY0WECymInyYbW+0FOLkDP4aG1pE1TGZomwJIvVclex 20 | lZ/duz5i5zOOTMAvqDAgtcaRNqzaT2rz0fEqYX5ijjqvRc58d6uOMKV+m53asdDJ 21 | kQPN4exeNq5Hy4m/Zp+xIBYOZIBbNacS0iMOopLB2yKT8PRbEzG573okQQKBgQC+ 22 | +0bGF8HhOe6j0zickpW0ckYhyuwE5PARl0HDJmMHMhGFlNpbzlkWSn+aLZ997lI5 23 | BHTxKEPIgyP9CjDq6zWRrhLAIP+cj2afxieTelTsfDDJsOFbDBPxyR6AWCwBhGGd 24 | JuTA5CUUDpUO6qbeeiZu25LtdZlkaFPfIjxpc+xxhQKBgQDnJHyDtv7E0TwkLqlb 25 | AIvwZexsz0YbTHChMKOj37gJqHNd6EcwPbh1Qz3SGO6ZPT3JnyfdoAlU6dlWsDdb 26 | FFE5+D3EVsDYJAjDQbXW2NXEvQnTT64934jIPdRAH6TMQRX+lB5d7VDtgcsP1vHT 27 | EXdfZhyAmXTiSroWI78alP33+g== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/as1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx3SrAceP51DfaeMcBM7v 3 | Kt85gQ0jn5hbf4WdL5o4iVs6Fpraw6bbqWThdrejQM424vNZ/dBw198jS5ljLfRB 4 | T9f+xI7FFxjQquxQJvKQId5Zn7D/G4jJLfuVuqo7+x3QBjExWbrOvdG0iW0PjWqJ 5 | O4lXbsZETxnetQOQox293kZOonwdfGiSNAMHWArjyn2YJfInW6AoSIVl0HoM8e3t 6 | 57NhZ8vLn39quZbD5SBsQXECd0RkBlpP2b4PjmBAjym5XFTTWV7fAuwBSbv8Q5wf 7 | wxonsGnHq2yXgnI2RoRS5qg7OH89uxW2RJRZGtv+XlbIQ7GOysqM7H9V32c6DWDH 8 | YwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/as2: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCvciFEQ8slsXJR 3 | UtJawyZhU328P2Q/xtwjuueHiP/OfQ+HJtAraQhT/TX5yLF1+ZVNHY9I6HAlCOyP 4 | 2EwCg7k+lsMQe+p4YSAvl9A9trbHVYfWHufLUi0deuYgmWMf1SnIIzmeKRNr8/FJ 5 | h/1zApAv3lpqGmADB6DeJuePZ+Zxa8TF+kaWNo9gzBSYeJ1hIctf5qz79NwWI3YC 6 | TyRw0bqIcQypHURKmRkqzho5pkde7NsZAaCsZHFl1o7z47C2sm4c+jAqpBN0BjaD 7 | fbVW3ijmtFPr3q4EeCfz0AmRDPOntNMRQ/ZGeXEioCkLtaB5g+2o8JafdAhjbGxC 8 | pAUesuY5AgMBAAECggEAVfO4/oOkA6xiUBseOR8AL5BCujXoPCKFeO+5PDpO8G9u 9 | aw0F0S6cyOD1T5EV97E1htkjeFl/j3VGx9X0rwqvd01O9UVwAle69/YNLB7WfuOV 10 | L75mWsLAnX+3PGNJH7BDzuwK70Q6YpnZLOf1sCGiWAE8FF0linZzRkKTETuatxd/ 11 | xs9p0oxv0VFMmJ+V0ykmD5cOH2yg85P/s+9ucqCtBUPP4Gj3t3q5iTBUcc+m/pu1 12 | dk/Uhwtf3dppQYLQWmyN5hjfkvcaaqhO867RuHDzZQ5R5BlZFInmkUVSWezeHMmY 13 | 08MMeCbF2hZoBPj9iOPetMbgCJke5MxLHO6720L5DQKBgQDksKnNI6XYnDmqN8ls 14 | hZAGZ5BBrFYBdUSdIz559YZg5XFxsKbvRspRiXDxex4BhCfE+uhdGjbphnRlef2p 15 | BQZ59yywlEF5uHNChXo7rWfJ1UD5y4NrdWqeykkr3c6S7L7mROsit9VErs0LCorO 16 | KGcJc3+pdZj02+5aE89Q6vJQMwKBgQDEZblVr/lQMVv3Xu/Nn6BFaifz7iwfZZTF 17 | yKCGnfgqxyKNJqcs/j0jf/TpIcB0XnOxqUt/TN/W2MFg9pfSFl4jqd/7s6RUZgGg 18 | S9G58uxi1N8WlsAtV7fSUPSzp5/wd+xR+BTscL1GEFz5suzAxsWuqaHH1Bv3pauJ 19 | JLKu8JYT4wKBgD78MSggw1KvZGpvRviuqIY7C84qqt1n8OfehxyL9ODHEMGhR7jr 20 | JFnkosi/gfok7dcgy9Kon6sdrv0r5iMhETGSVCqmCop9tLEDljDNh6JdK7IgzSdR 21 | hXYKfLCqPHTW45UEMkaznvd1tV9vHd+93PMLboO7sc7uq+z/O8ArlWVlAoGAShp3 22 | y7USRQfaw4O2x8crGgXr/UYor9AMSnRg3WpNcRaiGtAy0+858mMdbbmmfEIHNUnD 23 | iszeyJoQnR1uO37lFl/Ke5ZUsuOqSWlSQO8/8iqP4l4PNQyb92dEbWUaHAmjyWnp 24 | uyzuvbj+29h/LF3TyQuIV3XY96AzERQft5JfjjECgYAPrHPnDxMCoq116Hf8fySA 25 | WwtqgfigB6Izo5kj/NZhocGcXecMIbvJB5aKdWm2CeYl1HvE5Hb+mprQ8OIKTz7l 26 | yiruRIDY3H9foKfj5CZAR+xgAMYpJTYh7xY7nxdr080TOYadb3/bgmhLSx1krR9d 27 | Z81qXJsx4nvp7EFyeCavVQ== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/as2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3IhREPLJbFyUVLSWsMm 3 | YVN9vD9kP8bcI7rnh4j/zn0PhybQK2kIU/01+cixdfmVTR2PSOhwJQjsj9hMAoO5 4 | PpbDEHvqeGEgL5fQPba2x1WH1h7ny1ItHXrmIJljH9UpyCM5nikTa/PxSYf9cwKQ 5 | L95aahpgAweg3ibnj2fmcWvExfpGljaPYMwUmHidYSHLX+as+/TcFiN2Ak8kcNG6 6 | iHEMqR1ESpkZKs4aOaZHXuzbGQGgrGRxZdaO8+OwtrJuHPowKqQTdAY2g321Vt4o 7 | 5rRT696uBHgn89AJkQzzp7TTEUP2RnlxIqApC7WgeYPtqPCWn3QIY2xsQqQFHrLm 8 | OQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/as3: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC29OHD1zTxEHvS 3 | wjO6uJtBJvnkJzaCvxO9HFEx/Jn5/cIhvJvS7Dd9/rNf68U0NIjNJXH3yAdOMCoP 4 | 4zZzXZY2fMXeM7fFAAMphdiSwCRfOe5uyv0S4vSRaxfWnxpqIY4j+bL6oceW7e1f 5 | rk7OI7rvsirS0lF9Km5qfw5sfykXSIDTpg+5tDrEtjHt9ulIOTokJIWUn1Vpq9bi 6 | ByFHNhRAdCdgsgU9BrcLVurSqO7ABaFo8y5sFjkoQU9FrijtsjQAGciiaTs8EpQ+ 7 | 3rxpWYaxT2cMdg9/b6kYTOCpLnQ62wHl8DANpW4EonRE8UFKUm1ubNmRxnt4WSSG 8 | UUVswPFzAgMBAAECggEADvIFWOPFOPjWJJ4lbtgsI2MogErAjGdJGLNHe4RDz8Tu 9 | JtnEoOZK+8l8PbAbQlIVGsad5YluXCS/5Hkn6YsR/XStdTyKtonZuEdtLNyLta7p 10 | Abcme6eujHKDIzUicA9tqeKr8qCXyh+4usHMDjejZBFAQX7zL5ZXwe6L7xdnWk9r 11 | G06uJTmXwq1DDzH05jMV1W5miowwU9rdOc6YFVKXJv2JaxD0FruUGHh+tT6OfGWO 12 | fgUGBd+PUsMRAl66A14p6LFNS4ERQ7cpZqtOmtTpBGVYeFqplkHryts4PoPl3H7q 13 | Gegf319IujjF0IffyIUk1xbbduRr/SEer/Ph2FBLgQKBgQDAOgcgQlmhCG6vkH3a 14 | AHNKbjYxGQzFj6/GtCxWqUFv2C0JOeFQ2nFx22KGiMMpHECjaeJ2Hmk8F+2RpXsL 15 | /azgbxSKTSuRc4xwUJ4hlG9j0rOUY4dIwcsKFinP26k+Wtm4ka9QFL7VCmIwfs/x 16 | bJeLAm6nDX73nzrqSiKwMRblVwKBgQDzp4ld6XEV2931TGanmlPSOtrIgH3X68/K 17 | BrqRM2dExYxDOtLjJbKXUVKdKqjYZXNfJSbeCXfy2oDal6SsNz4S0V0/tbiJ4TdS 18 | F80hMcgik9xkv+ODXl/RWj8SofEIQbVhPLwzAkZ1e1OyRHsebBuQvK+6z5HltK9W 19 | CH3p4ZZHRQKBgCoLBw/5Mx1TeNIRalVKD+1Rmay3a+GyAaIWOjRiJJvPzlncPPmw 20 | LWvXrf763qSZN1IGkK+BC0dHfICEjxsaSrtz0CxHoKXZfff6yftSOeK9bOWhty8k 21 | o8H7Av4hbyziNgh2ZL/BKdPyx3MP6W9GbwbKa2VCQGjsfLhNqrSaqAVVAoGAA3rZ 22 | E2ZKHy3MtbwpmysxF0eP6F0tbvAHP7No5rn9N5Y6spscd/IJ4u9eZrA9SRnp0+oL 23 | 7A/mjqlgPb78sxj24f3rfwVxZUa6K4n7fAXh/dxuwWGcNjwa0jqfu/xkHOITXRgo 24 | 9/GIYBUq1Nj1iTGyExcey2Q7iTRTbL8iTTzTkKECgYBaKsozFVKej/CXO5gk4cdf 25 | lmk5ohraX9vq/ZKrwJq1GXsDpDGI5ctoTKy068oJxIl7vKY8oa0tgVSFKE2ori2M 26 | Rp8T8CWSZfC3/qJn3J/mBpavtmQSAq4ZAEqoZe7YMWoM0Qk6ZLCbrHl0JIELArNc 27 | wB61HMQR4Iwp3aL2WalDwA== 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/as3.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtvThw9c08RB70sIzurib 3 | QSb55Cc2gr8TvRxRMfyZ+f3CIbyb0uw3ff6zX+vFNDSIzSVx98gHTjAqD+M2c12W 4 | NnzF3jO3xQADKYXYksAkXznubsr9EuL0kWsX1p8aaiGOI/my+qHHlu3tX65OziO6 5 | 77Iq0tJRfSpuan8ObH8pF0iA06YPubQ6xLYx7fbpSDk6JCSFlJ9VaavW4gchRzYU 6 | QHQnYLIFPQa3C1bq0qjuwAWhaPMubBY5KEFPRa4o7bI0ABnIomk7PBKUPt68aVmG 7 | sU9nDHYPf2+pGEzgqS50OtsB5fAwDaVuBKJ0RPFBSlJtbmzZkcZ7eFkkhlFFbMDx 8 | cwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/idp1: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDVAuNEqXfpcaIj 3 | Yazr8UhuF3YOgFVc2WxidRRabCedNWD6RLtY9vvkYd5I6cclT79/Rp9ZixnEQnu7 4 | 0SsEkzc0WtcAzJ/ll3ire9MdIHSZC86OjO8HRYqB+Oqtl7OTU0zEiGYPbLA9v/wo 5 | L4GUe7f2ttfkA8ShAaAbVz9oSZP10+440cjDEUUF0ZGbN+x9IJUr2/VgisA85rU2 6 | q6oLJO31g6S1EPC2EBFBzfW/u01EHRl+Fv7D/yBz2vl9Ez8ph2hEx50928Z4Q3xY 7 | DNvakLR3Vv0gAyhNGvxf8ziLMVJ5T5sqbEtwJ1IiLQPh5RSSynjE6b+T4/roQNsW 8 | vYAPUC9/AgMBAAECggEAO6gX42p9AV3IVZVs+xVzvhWHBE+v2JWyE68LmLlyrMY+ 9 | 10i5mZRufotkWFJU6l+315r9VPQurrcZ9UODA0CBtQF99qTYYVI3QvumaCFnVlem 10 | rWjOJuC0hmsiuqRicC/jr6UtxEMh5uFmaxDG/0FZB9k0hJEDmD4ey5l3UitNK4sA 11 | 4zJQYG2W4ZWW6pQ8TfxLxRqXXH0Jr1PCFLEAizx7hGkBku5skojhzt9KWXyCObgF 12 | eMFJHd/odkcy7VPMeW+URL7h1t+cPrDo+/ng3Nt/htgHC19JGlskwZ2rmHnPgSvS 13 | 2MP68T5lmI//L19wK7UI17rl0eCF64ovt13QBNlK5QKBgQDgLjlACzZdRJsaX4EH 14 | A8woWA2Ltv1nQo9e6VXAJA6oF+PhxjRZVeKFbCaiVYe83CmPCtd8B77SBYPaF39p 15 | v7aHhcOEMNbT5jv4necDdpUYGY2t027mdT9rnLi46nhnDNF6QTkfMlJjzQyiUrMp 16 | 2TLnI12Xew0G5WHrnAfW02zVlQKBgQDzPtHO/xXrgtxYAJwR5pYdSv8zoquh2UIm 17 | 791z2PGfSrUYLJ1KVkos/OEysnHUc/FZMMxnSpXeqrXA+LwYkUQKM18HEaTFSuNG 18 | w5llV0519QE4UmzutsOC6oNEUFujiA/4fyjCEd1JrOzHW3Rz93epxwrFijiqWnlL 19 | 1QpYWZXDwwKBgGh2wbDJSMT/cjNA67QkHd9y4KUJWV3j00FMA+xsIPRNZaBQpxY2 20 | Aj9gHUSqDH2CLk98otsmFNJzRXS8XGAfuOO//lK8G29Uqv94PS0M9f7r8WxdySDU 21 | 4/+2YRGyGPcULw0EFaUm4uOkqk19sgU/NAwnG7a53WEoRI/w/mopzV5dAoGAURgb 22 | aJBAZZDuFuS1I36lg0SSiktsPvwogsSrJskn3LxSXanaEoNsHU19YqJ9MqAo0Vxk 23 | ePczudVd3OTQCLy9W00/HCM0tJW/6cKiLFgMD2VML9PC/16tFcNLWgYUVxOwh18V 24 | XoYIKVzeX6RM0bCqE08Jd0wakiixkaeH2GadeHMCgYEAy4CzA6FNz5mtnNaxgNey 25 | cs3ybgq8l/IdVWVXOvwaht+1oYADLYkmW0YMn7Zs5AQAhZD8fvb8Rq1CTuXuCi6d 26 | O5UaWy085eCU+vHtUzgkWN/xpZqPEFM9I5MAcoV1iI5a5hxT4QA/guR27I+c2hIO 27 | /n/SnbehdvuBFvl0fa71J7g= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/idp1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1QLjRKl36XGiI2Gs6/FI 3 | bhd2DoBVXNlsYnUUWmwnnTVg+kS7WPb75GHeSOnHJU+/f0afWYsZxEJ7u9ErBJM3 4 | NFrXAMyf5Zd4q3vTHSB0mQvOjozvB0WKgfjqrZezk1NMxIhmD2ywPb/8KC+BlHu3 5 | 9rbX5APEoQGgG1c/aEmT9dPuONHIwxFFBdGRmzfsfSCVK9v1YIrAPOa1NquqCyTt 6 | 9YOktRDwthARQc31v7tNRB0Zfhb+w/8gc9r5fRM/KYdoRMedPdvGeEN8WAzb2pC0 7 | d1b9IAMoTRr8X/M4izFSeU+bKmxLcCdSIi0D4eUUksp4xOm/k+P66EDbFr2AD1Av 8 | fwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/idp2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmPaKX+27F7XttiNh1bn1 3 | ag+kIp8FytIQ7s+5JwcxzdZwkfaleJfn42cj0KjRARyM+tKOWkCJyH80d4fq80Ys 4 | oC0mm2+RzOPwYRvD2Po1XqofMYPHGenTpla0wlxa0u/mDGzyIYyRLq7VL9JW+ZrS 5 | TbNKI9LI3Q3SKMxUyNFM3JT3HqoExyi0BiVEoPlrSAktcfGUJaKOVGLhB1qES9k7 6 | jq+b7RmvoMr1oQDX0CIYsFKmoVtnN62FtyL4WiGQDl7LfU4NTZdwZtxryd/qDgsl 7 | SPyNDlLZ3l4lRT5luW2p7k34Ao/T3jkBpNTNPJNgygmqyalDIwFP1z0KJq12FO3P 8 | 9QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/idp3: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCtja78SnbnACmv 3 | 1f5gtlORoZikdOJ8LKd6Gb4LkuOWgY7t/od19Eaj8spH13Wqhv5AXu03ZMH1U7DG 4 | 02VjFnsRgFepYTb/BecIw1PqsnHxQo05VPrVt0zNAoORFgr7oG30L5WwW8OUpFlK 5 | KgbXD+3dSeKaRKaN+Cyq3GmMG8lsB8pXWY/AP+AGgO2wYK9wrE+RaEvlqAcumRfg 6 | 9JuS1w34MPyspzXZfzuFurfRjga3UM3dK9s6bAfA652aVx+qzRFCa6xyr+4y8TtB 7 | UGQxSCfrcp9BSieocKcCVO4vSkWDN9+mb3bNP5lDnvyH4/JZ28UM2mmdR55RK1TY 8 | wXSIo591AgMBAAECggEABhPbF9yns0kvLIgq40ofPQ9SoBezwrNxnfX+0LrxG1ko 9 | Hy91oOzP+HfNG5zw8urNRoXMes8dd7DZlOzcNQ8ZejBrYXQVD/Mt9wGYE7TyBofV 10 | GDfgnNFRcDBxWQhTlCI3F4D/FfDwtWjX85/rI2bcZo5q0AotZvVU4xra21wxvoWs 11 | eWjR4Effdt5UsoHtuWx8dboH+SdPolyGLRkyPgobrvawqIxAmtbEs1LF+3MSQV4L 12 | FjGIJ87b6ODQoJwwh4LNFz6Y3ccaSwdJP3101+yO10d072249HcT/byFLMzssZTI 13 | DChW2vrEetunx8r/NyI6z5ETeaJWu2FTQumhrOjXlQKBgQC95fsumtDc7PudFWxw 14 | 2CoJ8ekRyCoHq/ONve/6cQV37Lzi0YbbOCxj0US4O9GPaB+17h2Dxcex4Zf+8Lgd 15 | y+zu0Y4i9sRgPF1WdKd4f78hurqQpp2coLwBzGy4r69RRTu28SuVtReLpV/kojhS 16 | 4rF9TxteNtyNuDEeXgzrzrqaEwKBgQDp9zEr0Mwuob4HctbFMYcU2nNTMVDYZNiR 17 | be+e3/eK/lxiOSuabL5QRt570r8QhpjkmInI+O9Tjye5uJa8vraSbcbhc+RoW3aG 18 | rctZ+Iu6Pr2cSA5TrpN3DQYdCK9sbuasAWiTpTGYUAl6yggYJQRcSdyZiwa+Tq5K 19 | FcRrcMoRVwKBgQCn2EzJhqExhG1pDHSK0SVnIODGjMtJeJyPHeCs1ZTlyOOy/0tZ 20 | HC9wEpnQ1V6GiJvurAZ+YCP/f8xe09mIzKQg+ivNj5tHDFPbhMQ5Z4BCic8452vL 21 | 8u36EPvPyckF5lG/gy7o5eVn0sYNSazK5f/HKFKiVY9f2/veQXbePh0E7QKBgQCM 22 | i+Ls6EQP6zelb9YWpVb5LvVCT4i6RXJXgowEi5Q/2ecTVjacUKDOxpPWHFaMjd6A 23 | zCVRJkFWl9OMXJeokIRKWEm1m5HlIrSD2RkkVgtR+Wib3ilFGcUaKie2/0WqRMCr 24 | KTlyIDU3wzS+n2jXYD1LV09+qSaG4esPNB5HUH0ChwKBgEFCnkHU91DxexTzCAmE 25 | IK++PHO7tkpo9aT7nXs17BHd/Iu7y2lDRwBW+IOE8C4SImCqcc0EMBEA/8O0IPix 26 | iqSTc75PgfeU+SpstJNfDEGhgq+lUCN+NLXBU4uS5gIjDfxSgYBDDBNDBpjbVtRv 27 | 9dODGD4hvI8aALoIa642cURy 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/idp3.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArY2u/Ep25wApr9X+YLZT 3 | kaGYpHTifCynehm+C5LjloGO7f6HdfRGo/LKR9d1qob+QF7tN2TB9VOwxtNlYxZ7 4 | EYBXqWE2/wXnCMNT6rJx8UKNOVT61bdMzQKDkRYK+6Bt9C+VsFvDlKRZSioG1w/t 5 | 3UnimkSmjfgsqtxpjBvJbAfKV1mPwD/gBoDtsGCvcKxPkWhL5agHLpkX4PSbktcN 6 | +DD8rKc12X87hbq30Y4Gt1DN3SvbOmwHwOudmlcfqs0RQmuscq/uMvE7QVBkMUgn 7 | 63KfQUonqHCnAlTuL0pFgzffpm92zT+ZQ578h+PyWdvFDNppnUeeUStU2MF0iKOf 8 | dQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/ndid1: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIhMKGgv8KyffD 3 | AOuHunEHkvNJFCs+55StMbSI7lHSqlFWfEn2jct/sXQSh+bTCbKrgO+LrkV1ERER 4 | OQpMw5vJOsLJa0loNO7uW3KwuZDdmsWO+6iDCMWW/5cfNSqtSEyF9BzHB5FphZZM 5 | BcRH6y08yk229R3VAr7N9F8Mf5ZfWCHXiWhK+ingN3ALp3OzTbr4OApoqrPa5NQx 6 | /B/I3N9J8n8R3k+h9iQ9fu6nXdGyIdVpF5BX93Vw8LQjgr92fQlJUwOm2q6Ugttj 7 | of9H5feIN1aTGvJSOcs9smPjzBXkDmsuFPY+6gYAL0wQFC7ffeJimv22LORC7+RP 8 | WyWA8Zx7AgMBAAECggEAU1e24KC+79WNaNxPiR0JkMvX2caLyPwJNElmD8n6cVTA 9 | NPG47kT2Ua9IntEktA+iVx1is0xuax96WA28xbZB4IxPXNd+bdUegCy7SU//sdP8 10 | DBd2bWwucDnwrpRzFg3oXH7fnSv8mP7gvt1gvUG3Dj7JuWM9EIWxF7pb7T50mlCz 11 | e2N8TdEX5Mh1Lx7W/f84cvwmUPe5bRFZS3DIEnIRRb5WMID6RKLE+WRmJaMWEtOH 12 | Kgzm+8lopiwwRqbt1/Km+oD+bCI/bBlF4Ry2VIKZcN5RifBC8Gf7ZyV8ioEM+cgp 13 | nZxkmT2ueE0tUEAFS36a+G19oNb6HJZYh0vGffcGyQKBgQDg3xKomo3K0vaCETx8 14 | J1GTEKxeakUKmVCFqbhkRThk5bSnwGPBZCj4ytoOF6DWNdhuWeT5+euNz2pj57sI 15 | 7qTNnJhKJYcXEHX3y8jOCJmwVwweBkwYZfKLpPMmS9OcZJGHotTt6YDE5DnTUDO4 16 | i+HJyRRKsqVIyn5r4RDRBuVIEwKBgQDkRq4UETrGhE0MfQrDGPM1ma0zlX61SHOT 17 | DR2arNGr7RYmFdw2rstuFp5vNeA8x5yXEHACKXhBnMofDf7KbEQTwmumSh7SJvD9 18 | rb/2sxj2/4yNqWKGZ6+LusdV10LoaoiP8L/sw1QyJJNYSM8VrR0YUBDvhnCWSqC5 19 | G3nagqu2+QKBgQDIuBUtjhc2jawfWUdGAsqbnOxesjjCRytKw72lMuwtk6P3gJEK 20 | VF8GA/szTP/xdMqlZXQvdVc+k3+BgZy/UlSkezysImc8vSKvdqTc02xrrKdSPYi6 21 | 1nTzFN88tb5DALmt+jhZzG12UckTx6kC90kpFmUYb/F80dKadKDQE3mhJQKBgB6t 22 | HOGXeyWIS+5cs2CKbsyKLUtcUJ298cIWJh9OEBMhljNiBqjWjoHpyjq5q7ufO3zV 23 | eafguMdgcY0AzXeYWwGow9yh40hscUA15DEb2kP/DX1QAOx87ItDe1wexGAFSPrG 24 | 6JPBoAPpBF/90M5h6CIHSG9XyrN3reeSOKrTmo3JAoGBAIltrBNheeCU+Yo+sycQ 25 | OlhIfCjEajt0MpnStjGo6zYKwJTOxhQL3+uSdSKQyCz/UCchPaSBEj9Y7xb+bI/i 26 | NnPsDghFhW8JqHPes+Uktb6SnhiAZomjIMtUpIobK0xlbtjpLZ5iKKlYysp9VPLf 27 | U7inruWDefKx4WPpXby+5O0+ 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/ndid1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyITChoL/Csn3wwDrh7px 3 | B5LzSRQrPueUrTG0iO5R0qpRVnxJ9o3Lf7F0Eofm0wmyq4Dvi65FdRERETkKTMOb 4 | yTrCyWtJaDTu7ltysLmQ3ZrFjvuogwjFlv+XHzUqrUhMhfQcxweRaYWWTAXER+st 5 | PMpNtvUd1QK+zfRfDH+WX1gh14loSvop4DdwC6dzs026+DgKaKqz2uTUMfwfyNzf 6 | SfJ/Ed5PofYkPX7up13RsiHVaReQV/d1cPC0I4K/dn0JSVMDptqulILbY6H/R+X3 7 | iDdWkxryUjnLPbJj48wV5A5rLhT2PuoGAC9MEBQu333iYpr9tizkQu/kT1slgPGc 8 | ewIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/proxy1: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCpXL2bPvtLPpuG 3 | XlkniSzpGM4er7k7ujVkK/oAZZkmKNqoCYEeU7/H3pNO3nSzpzWSoNmspnEqlqpx 4 | osWcqpvTHvihd/LnBl0XJDiPzPSmIfrizGrPUny6P4yujVK3AFHA4M7oPXiIgAod 5 | zCB10bW3diJUSU+H24QIYpu+eKXKACLHdP5SPBX8NVmutpGvRJTkSXY2qrPrVN0Q 6 | WNco2xrdEAwhSTbQc/dXdk3AIGTBNoTNUxL+2r5yXSjU0T1H0ekrTpJxcsN3IBxv 7 | mzczEM000v9JI3npIsjWQzuyvPpKuNVgGeYX+wdI+k2y4djcMbaslff+cDb3CwrM 8 | QudMhooJAgMBAAECggEADsuvs1A2YSmSKfQUXxY2bpM4j5j7qlZ/S1XlsHLvxRQI 9 | 3Sj+ZxU7MgV1ckyQHrFHBn0noxQD2ywALi8Bi0ki1Zf1MdsCJRFq4MaM6/Akd96M 10 | VdO0qZHL3HQIkOe/AAaGvd5N6R9UqD0iVR3UAKL+WG2ZPGqOqIBiiZ5+u248EphZ 11 | k2EKYMvkkDZHAz/MsSDoqkRYljsk3hviYBSZoI78tDaPeaUxvkof5LodFMdkyAhB 12 | 3Lr0v9B6GKVRfMW6OpBU+ejmF3Q+ksiwjYSI2oGpbnFwkQwgEGiPDWbS2WqBYUDw 13 | aP4n/Wu3Vj7C6bDzsH5LUiows2MJiT4SmPTM8VFRMQKBgQC50lFbkp9rpVfp664p 14 | Fxg+t8wZPXiPlVQWIAv0Kre8l/U0B6b2yHSKklxVITKcnOT5V17xtlDZnXSelbID 15 | mCY8WFtWAijeJyALNY8DxuKYxGzQwvJuAn3FKU/X3pBenGkX+0jOtlH4i+rf1xdN 16 | wICnqXP4rj5VkqIuWBKUsn0psQKBgQDpUxlOgT9MnDBUl38DVsUeqPiIRObc4OS2 17 | 9IyYAGWLEydpTBF9jUEyCNjmT1oB6if0e0QPuKh7UdokWizQATD4Ejgn5rJzaO1j 18 | 2mWFc+dtNBHrUh67P3qLTFS8d7gpYd8CrKa0Nxyz0N6Sp3GRxG3NLe8dNMlCsUW6 19 | sx2y0ysj2QKBgQCqoTCp6LpQ63QNzaeP/a/6r2VP6/1Pw2yCII05eRxcpiC31SsA 20 | w1MYh4sXdLN30i4Ds7HwPFyDZy1WDdl3qXe6w9ui37rNO5oWEOkxK6iZZQ0SqWBZ 21 | mhoJOIUjkTB6YB+0sL7LaeldVIWpY2X3tIOu8VAXk1CT3WDlM2RkfH2oEQKBgALn 22 | tfj0QwWBLFjhSgOQoQOwtud7dCRr6G0evmFmH92Lb4IwIEef6p/k3E6Bzm0XrUeu 23 | ATrw4agnbL/nH4e3fBSapXhZtv8Y31vO7FStDMSfUVnMu/U45R225ZczJmfdgBlY 24 | bPrxdLoIb70DuLZH69YSLFgAwEDEVEnu0P/ZAUCBAoGABk/gyb6QLxwldIpOGTss 25 | qjswK1HHUGK1RUpr2vuC6Zi90H9gvhY6YHHXAvOAecYdeo1wia/yYz6S5J9MkXQy 26 | x9OrA//JMz9UviVMD88T9s0cP6HidCJwsNG+va0s+xflwOc5F1SWL5JxnTuLtRl4 27 | CFZHtlMP0sS8+hfDkafElfA= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/proxy1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqVy9mz77Sz6bhl5ZJ4ks 3 | 6RjOHq+5O7o1ZCv6AGWZJijaqAmBHlO/x96TTt50s6c1kqDZrKZxKpaqcaLFnKqb 4 | 0x74oXfy5wZdFyQ4j8z0piH64sxqz1J8uj+Mro1StwBRwODO6D14iIAKHcwgddG1 5 | t3YiVElPh9uECGKbvnilygAix3T+UjwV/DVZrraRr0SU5El2Nqqz61TdEFjXKNsa 6 | 3RAMIUk20HP3V3ZNwCBkwTaEzVMS/tq+cl0o1NE9R9HpK06ScXLDdyAcb5s3MxDN 7 | NNL/SSN56SLI1kM7srz6SrjVYBnmF/sHSPpNsuHY3DG2rJX3/nA29wsKzELnTIaK 8 | CQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/proxy2: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDP+WErQ8eTjYyM 3 | F7dqgPyeGdlHJ6Z7VFK9ZYvvi/rEEjN/AijIco/rRilkrvB0+sSXjByFwjrIL/+S 4 | 10I8SxZ1Mr7V1lpYD8YZceD2vXZamWQT2sfjXcXq9k7/Gglc71tMM/wZAEmvL4gg 5 | 48Rf5VEyzIiBvkumhI1UDwbRfCceME3gI+gJxG/fc+EwZEr0uJosfgJ9vY9wVDVQ 6 | 1AxCd/r4mSViPVVyu5mz9BLqyPgez6Mlo2tEl8BNqkj7ttZC6fHTTEht1zXI+OjX 7 | gwsjKM2tqIMi+KXBx4G5Il7C1qyBLD8EbdjiwaO1WPbDpyQ/A9OmVUaC+1r1qQ7j 8 | Z0lExTIjAgMBAAECggEAGyMftj0EZDECp18K3FdTXy/hRaMbWplgqH0BGvNJd98m 9 | IAsAllM4i0se6JfZIXJ9R4cNS7jR4cA9mYQEDQkBN6607wMmy7nXMAfHgnqrYFwG 10 | jn6sOXNJeYTFPw0/LoS/BXz9BqgedUD/Aselnpu2EipVH5TcmzBNnqvNSHVqR0pq 11 | 6aLASpBHOfIosdhTwee6fayDiewgueVEhlQLSDlZFJxPuJMhz4edSFJsKIwYxzs7 12 | CqlH5Nw5YM+p7cEb51tZ5oFpxcZWSo3enNMEN0RocDlv0U7Xn4karpz2mvdnzdFH 13 | noBrEXHJSn3OgMWNSVxZ1GOheMpxWa2o2DLq1769DQKBgQD3fHPdNinY/KvMG1wK 14 | rIXYwKL6M3MO62fUhvPImgGOdWffZ6m5izk/3Swx5r15Hqapydv5Cku9r9gGL3xc 15 | Sbh58wYdHLjJLn1FmeXNv0+mP4elusy02ESbJuDvNR6pb8eqjSQ9nda3WgT52J6N 16 | 1Gg2RSO74TLRFAVPC8K73lovLQKBgQDXIPRvEt9BKBo5J73i52KBy3EkNSp+5ueq 17 | XnpEo09F6TBGiToxWzcRHFi2EriT7mSCVcwR1/uQd+u27En+Ye6/YhVVt0m9cxjT 18 | +Jt1F8qdIrj/7lsuu/TcjRZWAU1qcjggYTGFTNNAaNOPwM6KFdbWhVPpm2yo8523 19 | bztx4j84jwKBgBORlZ/CLqDnqbXj2+1EIvk2kixycQCXAIi/evs7oi/ffK0fhz4S 20 | kh5IoLv5YLX5BHica3ZPqBmBk/U5P/4UHjAWVT9sC/hsYp9kQdV48RVWJKWoFZOf 21 | Hh2ef16qtpfzLLiBnIH6vwWUapxO0oqoZu0TnnW2oswBZ0IOzgEI3dypAoGAX/Sj 22 | EqgoTLfGepfvarYqihpkbPIJ8nCsBKH/h34Qbe6FSfELs9grx8YNC6luCw3aZwg9 23 | 7feYjefvi7f5iS3FgDgPrBwFGCuud138eU4TYeOLAR0gLshHf9iujc4m6cPopQi1 24 | Pe/2ilQ3iXdGqPD00trFgv2AihufzaIfsbxo1qECgYEAqXOiaNIad5OwZjw30ucM 25 | ABgS6Mn+4DmUhZ1gJv2TB7CmG91H2h9X7rEwHOJ4ifs/51Hy0dXiHPigjNDOL/eu 26 | 7NZ7yq/YmqPWkzLya24AvvMCwP5D9SjDzAGIQvqMMrhEjWWT/zto4w4Da25jBe4K 27 | PIHLQQue3VXpPqNIw2iX3yU= 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/proxy2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz/lhK0PHk42MjBe3aoD8 3 | nhnZRyeme1RSvWWL74v6xBIzfwIoyHKP60YpZK7wdPrEl4wchcI6yC//ktdCPEsW 4 | dTK+1dZaWA/GGXHg9r12WplkE9rH413F6vZO/xoJXO9bTDP8GQBJry+IIOPEX+VR 5 | MsyIgb5LpoSNVA8G0XwnHjBN4CPoCcRv33PhMGRK9LiaLH4Cfb2PcFQ1UNQMQnf6 6 | +JklYj1VcruZs/QS6sj4Hs+jJaNrRJfATapI+7bWQunx00xIbdc1yPjo14MLIyjN 7 | raiDIvilwceBuSJewtasgSw/BG3Y4sGjtVj2w6ckPwPTplVGgvta9akO42dJRMUy 8 | IwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/rp1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlgQlA53vyJdXJ3Bmm+b 3 | v3CFf3lWZIEkmDfGAEDiF2SDsTcmdaTyKDebWdMit70alW4yTcP7BWXPEaQYKCn5 4 | lxnWvbkUto58DFTvXEAVaLoE/nkz0s6/pIZ9VyUNG5EKs61EfjneZRZnICbIJ0jS 5 | PLKoGYFNxGHWtsRFFDXk/21E+0Vao2J1lZR4cpEv8T+AbeVfB5YOB6rXPqGDIpbN 6 | NUfWrLrnXxZpK8bHyhkAm/iAdBPRhqBaveKSzmlsSiykOdHjWAxDsOZaHej3mF6n 7 | vXf5szo3Bo2NFTgD1gTfYqUz+8ZKM05zUKpPWz2Qqu6nd6QJWloELw4VwdUVwtiI 8 | 0QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/rp2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhbVUXVr7YLj1eMk9YD8e 3 | vaBy83Ky3jKOMAGmvkwXZ+VyAogYC7C+NCZy2zu+e4UpZj1Cho0Oqj5xLn9TB+eM 4 | Hw0RS+9EGiXFsGMHgYyBaT4gzpnf78ZVCUFp46Q+hjhNU3xR1pDZtuOBqLzrODGU 5 | 2JhdE/UnYVExv9Fl6zO0o+hUMi6Xe+rUQHp9pTZ8j2I7UuyW5+nsMXf7GbwmO1m7 6 | ZouAXMH+NJ8xXdFhK3CCDGyUrBgmRkC4WipiyCJsjNnfGkEGVP9v+VPeb/Y9FUYc 7 | G6dS36Oa/D0lS+JAnqKCcPQDwcY4j+oFn3lkmzDIfRqSDOxCLL4K+LEkRzc0qOOy 8 | 9QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/encryption_keys/rp3.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyhzlrMv4nFVFeUjrT1+O 3 | Qd+WtlYvmi43VwSy6hDBcFlDQWqIRpwQtldDJ5IS7Dh96dga1ugs8igGh5OMqbTt 4 | UtOS44OhYQnicK/8jONke8p9MBfwJfZ9LxQSz6DeDFYM8BarXh010Bvg/75ztVW/ 5 | B/+vAV1RWtqL2w9ovpekE4mi6HR1/cZiLgOvSFyqPjsIxx0o4noBVnpebnh0/IV+ 6 | R4YB3mPktEBxgAhi/CxWOcc8pVbxiwbuLYBs0DTQWct9K1G04XQmkpEj/BnOSm1P 7 | YTjMbQfqZPgLIuy/+q4hWtFddAXQCwJTNVMTw5GbeXxZ3xIcyb4xxDP3i/1P/Usm 8 | MQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/generate_ec_key_pair.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | # secp256r1 / prime256v1 6 | openssl ecparam -name prime256v1 -genkey -noout -out key.pem 7 | 8 | # secp256k1 9 | # openssl ecparam -name secp256k1 -genkey -noout -out key.pem 10 | 11 | # secp384r1 12 | # openssl ecparam -name secp384r1 -genkey -noout -out key.pem 13 | 14 | openssl ec -in key.pem -pubout -out key.pub.pem 15 | -------------------------------------------------------------------------------- /main-server/dev_key/generate_ed25519_key_pair.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | openssl genpkey -algorithm ed25519 -out key.pem 6 | 7 | openssl pkey -in key.pem -pubout -out key.pub.pem 8 | -------------------------------------------------------------------------------- /main-server/dev_key/generate_rsa_key_pair.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | openssl genrsa -out key.pem 2048 6 | 7 | openssl rsa -in key.pem -outform PEM -pubout -out key.pub.pem 8 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/as1: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAvIVvTX5LlDTwauqbjVGFOhhArFAEToHNDWyEkN5j1ZxE8Ers 3 | Mzi87/MPYsGXYdIxcYfWgnP5XvF7kiPB5z3gTmYVlL0ELUHxV9vBaZk/5Q6qccUX 4 | potPB4DCWwpRtWMRb5uVwIM64l9mm67YaYKjDILHwgia2756KjAsAr4B5sJGbyA+ 5 | m1xzgx0zuKyPhUXnK22Jn1dWoa22CjOJFH6fwxNQw2TWJgKSDb6ugT4sjrdXsUci 6 | LLcHxi68X6CmWhzN5eSp0l1dnfufVT01C1WAC1QkMQdBg9Sy+OYzjwmNs3InPchQ 7 | TUtPxdYy1qWuuNJ9HxT1wVxHNDwDMeV2tATpZwIDAQABAoIBAQCmqYhWh/qlEZAh 8 | 1TqjWphfXaV/MFY+WX5ACdnAgPrdk4NWs8XRGq3dq5HEisUcE8jmR2KafZDOIMpP 9 | zhDUL92nMZSOo/OXVx7Xv01j37me9LI2VjmsYKgDSA+KkLrfkq+NbYycXuelzRVX 10 | OOHVlUoz+0JCBX1yGxjBR0kBO51OtJhN4dMpmh5NoIIGoUMzXiy2jqyL7kWdt2Gy 11 | AwvUaSlVZ7+xSB6xp2nfBurjksRoVyKJcWlGYtFoMCHlN7cXdjsS6/g7CWsN4Vx8 12 | zcN8q+zeEVXOKf1jml2xr93wbOUFhMMLh10klV3I+pAsVG1LY9V7KlkTaABDI9W9 13 | 2MPd1XQhAoGBAOvBIsMbtQMJG0Sw7m8Iq0O1k3WmYag8q8/JK/jDlZ05kwYCHMll 14 | aMUnoWnVv0u2g0f3YmZJBJMP3VG0zQrrMe4YPq65bM58AV24i6lwpZVbESqjFTPR 15 | iiLk7aiDN+mIPpeDtnYKWvE6hjbsx1RfdJ0ylBkD7tMiOjO+WF+szmAfAoGBAMy1 16 | 6poWDgCcFqGu+lNVDWDRKuoQisgZ/oj9m8m5TDTsYfwnZOljNeZbPucBB+D/q+xO 17 | BSLcBG3b6a2p6MU+smBwXCs6cULhjcMuD8X4joYNa7SMXVZJH3Dx5a/DQ2BXu2/p 18 | iBkTSZPY/0v9pKhYddiBUdtl1sZNf18yKeeEhC25AoGBAKDb9kkkZZz9oLJ8+yOd 19 | yaX4hfYXobi2NREhFbS2VyahOzU1SckNPbCQeu2I3+7cSLVZEbXzCoEBqSRv9hwG 20 | INpxhouXj6tQJ2p4Wisx5nmDWrI59mSWC+gFRjfd2M+qm/Kr91qRdD32jc96PgPO 21 | 4fXEphJvgYxkZUwbC5e0hFhHAoGBALmBvPgnNkctK4EXLLdpYrcytT3pAaq1i6ie 22 | kZdq+HkZIO480MCCbCy00TrK/1XQuv5n8VWWpdjcKVV7nHlqCIFGMO/nhQ3DkhCm 23 | ZBrV1Gn8LXcun8J6fyh9vNPbEepzdmLC8NcwWEPHqAo37wezKg+pmQFFtyx6vAsL 24 | TVgFCTbZAoGAe6YqrYAcbO7UueOGUFqI/TpWCbPhOwudhst61cFA95Ft+FeNMlsk 25 | btNSAoLFz9Ir9QNUBkZ2s4l2HElCLURQQehRo80UfEEAob3kWN8LgcEw4gANCKSU 26 | Dm0+FxMh7MdwXDtje3WyQUAyjHN1eGWKDTDgiebJKuX+0Zv/XzYiXiU= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/as1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvIVvTX5LlDTwauqbjVGF 3 | OhhArFAEToHNDWyEkN5j1ZxE8ErsMzi87/MPYsGXYdIxcYfWgnP5XvF7kiPB5z3g 4 | TmYVlL0ELUHxV9vBaZk/5Q6qccUXpotPB4DCWwpRtWMRb5uVwIM64l9mm67YaYKj 5 | DILHwgia2756KjAsAr4B5sJGbyA+m1xzgx0zuKyPhUXnK22Jn1dWoa22CjOJFH6f 6 | wxNQw2TWJgKSDb6ugT4sjrdXsUciLLcHxi68X6CmWhzN5eSp0l1dnfufVT01C1WA 7 | C1QkMQdBg9Sy+OYzjwmNs3InPchQTUtPxdYy1qWuuNJ9HxT1wVxHNDwDMeV2tATp 8 | ZwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/as2: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA2DvPqvy9JlUx7jFKsElfSnoIedEU2GQmB5OT2FxLePMa22z4 3 | +8Nm6OhhZtQoK6/w7aZDY9etAPaCVjbdFcScnFypLyDcFVjMjZL6/keufKG3G9Hk 4 | agqiBbXLlFo9lndrmj+TGW/K7XQZiwRezLUT91Z4MPmJofgCeMmF//W3qkfC58qo 5 | Ubfo0L8fSf7w4JBFJd4oBc/52ojhUuivkxRwhJAAZ9QeYr0zOZJ8OV2LZomPR6Z7 6 | CxOPwyXaMU6QIcU6DtgYAn5FLexEOgKhq15wQrH9/EtuiymnCX8sPZM5U8IDdgnU 7 | l6nc8jBRJmrrRS8265PspMPMMm1PYuWO22qEIwIDAQABAoIBAArAtqv/E3zjga8h 8 | nmAz1dxDQ0ajghDcshNwYErDFDG4jR5aRetnJSfx3l4ZsMGzZxy6RuGhKQZCO+sD 9 | oWzisRMJfJROYwNgvhNQOtEISYIDHLLydhRb4QC9sJj4/9UKrTwnay45o/K48kg6 10 | eGhfnNWQ5DszPYfjaGQPSW2YD4EVJwPH4npp7ikWzr09l9xQQmANkvsgQZm2rgA/ 11 | 8q/TTnW5er3iIBQZOPsW2XsBcxBkuw+tr6H5maF1jQ0iRZM+ljyTNixf93voZ08w 12 | YMCl6po5BevT84N2bfLgxj97SEkg6PDgtdnzst54RpOvowwutsnz/lxo7/agG42W 13 | ZIYVsYkCgYEA/HgfeFbf8Ugz8S5UpdhneD4ijUH9WApIX/hmp1WhaprVq9xFHBNB 14 | qRZEUUMVfWKXZZcaQIh/xVPhpyubVrAt7atWzGky3SI/spIy9Guac+nuPMPRDEa9 15 | FS/c9KJOSUUXTxgk6HfGRD5ZrRbh8uMDOk1PWx+XZXOttx+rha48OAUCgYEA20H1 16 | olPjoELK0gqsA2ZpeRDl3Nm4VrhtxgNl6mh/BOOvI6hRqcPfX2GcNBXdYEV5ZKZb 17 | G/rmdUepfavPwvJ7S9N8DVb8ZP3vtq90j7YrQvQrWmh7sUH+VFHrBlWhfWsHO6ZE 18 | ioLmSARDlqGf2YbfyzxAnb4ZmSGPle4Utw1tzAcCgYB9rJIFxkD9i3KHuQdb8ug2 19 | m795T4L8A0pZs33uCBssxNxeC2y/d/p0X+gsB1e4LY6tfFUOEKSBpqqqG3Pc6CBE 20 | scioQimWmEja7Bm/P50H3EfCKbty//d5h3TWtcCAior6zUr6CT1BlUPwfHaHAGgH 21 | 6pn5AzXKw5WSlYo9JilFvQKBgEVkvN9heZuRSCvuIL76vMsKZBXf+o3H1UZkcO8d 22 | n4XmodnBPgdi7OF9PTjm6qe7lU4bsJ5MbIAV7DjQFfN3VzqKdqqqKzuzexjwsw2A 23 | 9HQ+XzI/+1YAswPw4Veh5niRVTq1xt+nykZkwxd7k+H+4/mo2jKSpftnOdCUB45f 24 | +64lAoGBAIC6tLdu/qT4cVCYLgR1i8+687mAqLenqkVNhu73n+5a0uCi8CNUhaX7 25 | r5bGd2Sq5bzr+7gLaP4ZEiO3FHRxNW0udCf4bykzkYE7JKDdaNAJ5zvAcas6w+UQ 26 | 8Lm/ms2ka+j5XSBkvivkJn0a/nZOQHXJZOQyQhQthb15ZZ3nyxL8 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/as2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2DvPqvy9JlUx7jFKsElf 3 | SnoIedEU2GQmB5OT2FxLePMa22z4+8Nm6OhhZtQoK6/w7aZDY9etAPaCVjbdFcSc 4 | nFypLyDcFVjMjZL6/keufKG3G9HkagqiBbXLlFo9lndrmj+TGW/K7XQZiwRezLUT 5 | 91Z4MPmJofgCeMmF//W3qkfC58qoUbfo0L8fSf7w4JBFJd4oBc/52ojhUuivkxRw 6 | hJAAZ9QeYr0zOZJ8OV2LZomPR6Z7CxOPwyXaMU6QIcU6DtgYAn5FLexEOgKhq15w 7 | QrH9/EtuiymnCX8sPZM5U8IDdgnUl6nc8jBRJmrrRS8265PspMPMMm1PYuWO22qE 8 | IwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/as3: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAuf1/aLQCTTD3GfGZhTfCNAlRBkfwpfYRSsE7Nbxcq7eO5U/P 3 | BWcc4VkKQVaP42tK5IP+iUkZfFOJTv1FHeTp4GXxGMa2sT6Lt44gCP+IUW27yWU5 4 | qiHFzRaFyUyR7vyC+E2pIJ9Ss3f3hz/FvyvT1Sdia7F2+cpwLGWUAkFahD/iUwRB 5 | iB4EcNB1xWYCKJExLTDsAZAtlXdiRuctRlcIS9eil3UF9sIdEKVg11Sfkc6eUO5u 6 | WzTD9w/GWpJ1UExQTfnTivTpAsp+2P1droct0VWPCGbnVuoV3HEZjCxSwuGMBxO4 7 | kAxRa5qoIY3T86mB5DjaI48Cd0jvS3DLiqn2bwIDAQABAoIBAHeotDP0vBZVjmTO 8 | n2qp+PPpmotj9VuQ+IcT0rg7u5NuwSyfMB3VvSruUj6/Jku2V7S1hylkMlVemVSM 9 | dc9J235Xl8nM7vURvGoXslyXqmhZJRvpWDQxDkVoXCKqdKlBJDIEJO+sEVUNtd76 10 | FItt8xeMAzIuNtF2gLzPjW32BfpW1PjdmjLid3+P+FrRZGrtXU1J5ZUxIJBVXlFL 11 | rKivuw2/LZeGyf+5t4C0EfoneuPyzi+N2HtR4MIoPzUB2zBwx0WXRI8LsPKSpscb 12 | SNLlFSotaIQR1tvetr1uK/PBfZ+uUab47WUPcETKfxNFiXI9nVMs390D1c1nE8lq 13 | RVJL6cECgYEA9IVrR5xqLpAWSVZUvf4rKzTapFpnzyyh26ld/ZeOcoHX5Cs0EPRZ 14 | S/9+70ZI0DV1hCVuathCeB1t32f56/rdZBCsKw+GTMxARj+/pwUREb9zmc8mh2UW 15 | MgxEH9B3MB8YBmKK/3md1ixJjzhRmXk7tu83XT43M3Xr8GAIo7YejckCgYEAwrir 16 | 7NPZdugjQpcUkuY3cO8vn4zKcZYwVv+XVUy89CG0+IwjnDQ/DJoT8hNCbFNNpoeF 17 | HRPlYCcyOez6syP2cOyoc21eb4mA9bptfBhKqVKKfLsxM9SmiCgPxnQactmIYOoM 18 | sQlu9YbMX91IZDQBPInXk2wC6Vkm+enjfPlUnncCgYA7c0zYBmGSnJmujvzfjLJ2 19 | OM2H9CsVJebcf1tI0tZhZMxWv2JTVPV5Es+L4WzGopjF3kvwUlAm4BDcpm0PQNkf 20 | ASa6+XVPqsFd0xYHx6WUyRWUKddWR++Tj4PosEiqPIUc2EyvPKRxdCcWWT0NsXoh 21 | ShwN4ZiOPHd25AJ1u0vGcQKBgHEnZ6EkKscSdwsHSIllBuq10/LfmfUP1d94f7St 22 | 90/XFpcouLjZE5p7HwQZdQwGDKWtMwmGulB59pH6yGS5jUhp/im1cJ9YRHyHbYAj 23 | jZ9/u8Jn9VutQ2jz/tbQOV5sUvgeimmGldhQEQvUR3ETV3SalY+xwK9hg2jPJcdG 24 | DIpZAoGAUYW4BDKJkJ56e1x/4BeXexypx47gHQnReYqrXbgng9H2tBZBjO1PtB1M 25 | WOm8uWwwdix/TMXk9IPpv1qDG/yNP9Z2EC0Pl8ht0We1UeOqDrMYllqYjha5ORuB 26 | Fv554iMZZ/qqACy4RWu+r99GLTNVFO/VOwoQIfjMpEQ719JlYYk= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/as3.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuf1/aLQCTTD3GfGZhTfC 3 | NAlRBkfwpfYRSsE7Nbxcq7eO5U/PBWcc4VkKQVaP42tK5IP+iUkZfFOJTv1FHeTp 4 | 4GXxGMa2sT6Lt44gCP+IUW27yWU5qiHFzRaFyUyR7vyC+E2pIJ9Ss3f3hz/FvyvT 5 | 1Sdia7F2+cpwLGWUAkFahD/iUwRBiB4EcNB1xWYCKJExLTDsAZAtlXdiRuctRlcI 6 | S9eil3UF9sIdEKVg11Sfkc6eUO5uWzTD9w/GWpJ1UExQTfnTivTpAsp+2P1droct 7 | 0VWPCGbnVuoV3HEZjCxSwuGMBxO4kAxRa5qoIY3T86mB5DjaI48Cd0jvS3DLiqn2 8 | bwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ec_prime256v1_1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIDzIRwMTQkdGzjgOzJsFi3oAtcKZ1hHiNUrXgcoTSOeZoAoGCCqGSM49 3 | AwEHoUQDQgAEOLRXVFsQZvrBERNaYu2XEGv9dgQhn7wEazXAbLcNHwj2VMeJNy2E 4 | 7ljynGFeAqMmhmmGndxfG38fwdQO2+JA9Q== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ec_prime256v1_1.pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOLRXVFsQZvrBERNaYu2XEGv9dgQh 3 | n7wEazXAbLcNHwj2VMeJNy2E7ljynGFeAqMmhmmGndxfG38fwdQO2+JA9Q== 4 | -----END PUBLIC KEY----- 5 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ec_secp256k1_1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHQCAQEEILWJIZKptA3MfVxVsMhhdyFvyR74se+8iLsFCjdzCEXuoAcGBSuBBAAK 3 | oUQDQgAEYpnmyGGg9mTNrA8R6kT1QwEikHKSX6ZykGN8DetD1AzCZW5DJYiniDxg 4 | STRIQftBl6weusgLXiBLKJsf7/xQCQ== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ec_secp256k1_1.pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYpnmyGGg9mTNrA8R6kT1QwEikHKSX6Zy 3 | kGN8DetD1AzCZW5DJYiniDxgSTRIQftBl6weusgLXiBLKJsf7/xQCQ== 4 | -----END PUBLIC KEY----- 5 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ec_secp384r1_1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MIGkAgEBBDCUo5Oeq34Na0qKCuse2X1ZkCmmH3a2SqY1FbV2Bq4yO91q0B9f9UaZ 3 | JnJoYOG1/rGgBwYFK4EEACKhZANiAATqOAWAY45ZI+nlj0PIo3JOxjaOhLK1+XTX 4 | BxslBJR48sSYKAlcn/3izK84j/9nEbB7eDfszaebUcc11H6bwvCLB68aj7X3OWvc 5 | 6j0WADiKanse0tUYYaTDCpgwGMBzijw= 6 | -----END EC PRIVATE KEY----- 7 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ec_secp384r1_1.pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE6jgFgGOOWSPp5Y9DyKNyTsY2joSytfl0 3 | 1wcbJQSUePLEmCgJXJ/94syvOI//ZxGwe3g37M2nm1HHNdR+m8LwiwevGo+19zlr 4 | 3Oo9FgA4imp7HtLVGGGkwwqYMBjAc4o8 5 | -----END PUBLIC KEY----- 6 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ed25519_1.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MC4CAQAwBQYDK2VwBCIEIK+BiqfQFgEm6q/fs4/+O0ZnPj069RNIX7cP6AkaqFMs 3 | -----END PRIVATE KEY----- 4 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ed25519_1.pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MCowBQYDK2VwAyEAVhYS8kUuDSc4yePj+XGCj3rAok/PPl9+f//QO6WWC0A= 3 | -----END PUBLIC KEY----- 4 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/idp1: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEArOMveyk+uo1ZJOdcgAa7GlL/F1Z01cvVXzbnI6PSaHK12xUi 3 | FHg1P521nrfPdkEsAXbj9hOITvB0sLCzk4eTHlTRRJZvvIC5IV/bZqDDIW/TXTOY 4 | WbKJoTdsHb+KmkhyB2e1yd67Qj3Hvcty/+akcdY0nBtB56NBeUoxrexKRVqkF9GB 5 | FBls0NYTBwrKdkbLVsICmyO5mbiq6dEdXMx3rDn8ZqDtRsd2ySMyU79iquNBSyQp 6 | B8Y1UA5gPk/bZ1j3r9MFY2ahk7x462D7hh1NIEmPkPMR7uh+OZRF+h5RtEUfqMN1 7 | WHmY+BI6P/jWthyvgOXX+wlDvG2dytVE50DyZwIDAQABAoIBAByq0y216hve4kA3 8 | SORFuXKk/n1tLZRh5zCRlwQW3wXIt5TrTSpdwF6bFQmLaxAtwFFB2IzuMjT8tCy0 9 | MCKvYVqvL8ASvdZg9dGt5mB/GbwKod6bdpCxBRdBbGEGaMIqbxYBQWiG0UArpFo5 10 | SQlbwjrKDRExh90T+gBVqCUxwCL9nd6WTzA7nj53K+BaE5bZkESSR5xYCMUC9LcU 11 | 8f6wZ1tRBt0PMOg3VrYHX71DY2NU0lTywcLRAMZLsA1vVpRtQb5pEQw4X3O0HZH8 12 | onT9fijj6FCk0thg4kiS/Aqy9igHRqBhctbEcNR06VYT+n3O/haDdkUwvwAp0CvU 13 | ttRfFfkCgYEA1f870u22jxgJPrq+iTpbRx8yazwdp+VHet5S2LgxrFJiAUptm7xv 14 | AIHCDA2YlH1jyt8xqgxnzqhYEa0I/rwCDi9mhqx5PeQITHxtG4/dvZw3TcJFIRmk 15 | KoBIaC+7TecsxhG9mwqqgR/t2aKJtYWMKRhf725EzxEs0Z7wqMj4lOUCgYEAztJO 16 | 6yzAVM2pjjm8Ucv4ioD0D1vUB70qNxZ0m5Q5B4YHU81mLhmp+Q/OIdqPqxVkwZlp 17 | R7POc0xqa3g/3XPFZJ8NmCZkSsjBdB3c2UHAXqwMAmytPv4HIemPOfqP2SmGWSyK 18 | egTkR+d16j0NfmNv/pZIT3slXfYrqJWZNchAoVsCgYBMbw1/GUjLc1pZ/XlwqldP 19 | 3+SySJaPEWWmjSIqJiAX3JUEwQDFT1iWZcJZa8HDx8WNAItMoYGyXo6WQaek1KIn 20 | Tubf01q6sGgGaarO3WPmBZX7QBhQ6keopok2LVZJTPjBBjUi23xrAmyB/3wQSdL2 21 | Gq6pZklNbGUFui9bGe0vwQKBgGjHXzgB2gacktP9KA0AmxAAOKU3TnoFOcfi1nyj 22 | YSkQm9G285dTZStK+JFqGvL/yaXTROUQkP0Ur612pFRa/Jv3gHmeqZzBjFB5eJOQ 23 | nhbYbtUjnbmWFKL3opoq+Il6Yhf3WshqhgRvnOtottdbJTgDhurNZqbtujyUXaRD 24 | qYqVAoGBAKmuQ95A7Q78MxbFfgxEQWfdUihlIVge6AmePfTRf0XjEqvBNlZwv2sI 25 | 1gwTdV0XMJPHetlxovSaj/aOV6HVcYZZLGV0iWCMsiT9uEcO/olLCZ5TLVafKSon 26 | 9gSaPHkVAOPE25oRX39cGWEzPWAVslihSIz4cnjefeEqLXD6Wttv 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/idp1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArOMveyk+uo1ZJOdcgAa7 3 | GlL/F1Z01cvVXzbnI6PSaHK12xUiFHg1P521nrfPdkEsAXbj9hOITvB0sLCzk4eT 4 | HlTRRJZvvIC5IV/bZqDDIW/TXTOYWbKJoTdsHb+KmkhyB2e1yd67Qj3Hvcty/+ak 5 | cdY0nBtB56NBeUoxrexKRVqkF9GBFBls0NYTBwrKdkbLVsICmyO5mbiq6dEdXMx3 6 | rDn8ZqDtRsd2ySMyU79iquNBSyQpB8Y1UA5gPk/bZ1j3r9MFY2ahk7x462D7hh1N 7 | IEmPkPMR7uh+OZRF+h5RtEUfqMN1WHmY+BI6P/jWthyvgOXX+wlDvG2dytVE50Dy 8 | ZwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/idp2: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEApSATxwYKg5xqLURxLeqpiKvQ5+tmrsF8oOYeVtZGxkMoBPvT 3 | K0+2M8eAKUiUM4cBBug1eZzxzVtbSge14PV6kb38mNTM92fIwDibaDHeFY61L9xb 4 | yiE/I2cncMO7N+alNrtYjTN3vT11GyKZ9rOrPD/nePM6gfvU3o6LlSju2cj0NmEo 5 | NYuGB67gIs6mgNKdoCkJiFvZEreKu10z/gVyoQ+ls+a25g1iK2C/F4mtBayqnb+l 6 | AB0sXCeXKTQuZrLiDWqjpa+4QpsiIrLmXoQaBjtVFutB63K4cOZpisCg0KWWxPks 7 | yLxJNT8Ug78yQK0JPaWhiKdNQKJMP+AOlaQq+QIDAQABAoIBAQCcPR+5fxPPt94W 8 | +t2ELrc+5COEbY346Ia9zz8Btzm8OqrRHF2Qa5ngoHG5njzsDF+CY5DFgySfxEM6 9 | ZtVHB75zzCoHicJujbq7dlRFYHncN+1kXcJUHOUa4G3HGsw4dnn4sYd2Ay7W1iHK 10 | DRFVBmeNWIHyRWIkv12JP6L+/X4SfbbA9tuSg7dhRFlQ2ljYctT3Vbo9292mEtWA 11 | sUk/11dwkQB0e8aVW6G8K4T7uOQ1Cxw6QLBft/ygkvqrfyeD6udxyIROidqAlPLd 12 | zOAyX3MTdDazjBfXitQSrGUhxyeZspVDFDqaKIkVKsS1bWfSiqsTzDO8G2wIEyyc 13 | rpAVqnghAoGBANFHXwQLn4H8m7YSR+s9Za2qotU148Fbsq21n1bpdTeoTqv26laZ 14 | 8vVPPaPjH7ti44LBV/Z1fQwFDh0ZXbZUa8qFWWkv0Yv23q19iCuAAm/ihS8Q1cts 15 | LNBtuUsZc5lIZLKkIuLFC01GWv3kfRTrj8xHjaQYaHGkFbna5ch6k4ldAoGBAMn9 16 | Qta8FecTF+BigCK3ipK7S34UzJPa6tLJOYy4nS4M36dBbl9Z8MxslV/rn301PP4P 17 | S7SVcLkWZKQWMBuy60FCGZNW/K1nkmXrmy2sg3EsLXdHfYqg6p8XS8TKTqq030Jy 18 | QkFmqxmmfx4HD7oR/CWPTwGsQkrGJDyoOU+TQ6JNAoGADx32sRYd2Yfjv40mgMmY 19 | lKjkxj30S71R9NZPwjlu7CxOMoHNf5/zOuEUdMgtPJ3yDTnmHrlx5PJgiJ2SdV83 20 | whNL2BtKKbAVeba9pVbD1k0ojbPLnbwcqJmkbtZR0Vq3W2gb1QGixVw1qm1c06wI 21 | YRsyEg5pTPwrTZeQTaD9E0kCgYEAwkTLXCxaBHzgofcatklBBg8NdJ4chLgw0bqn 22 | lyiYRAotsXfE6ABhELv+jtrX8lyZ5OBhN7XjTKC0+vw8GOfkTEd+wa8QJtdOfqgz 23 | /6HEabzLncUsgYBzJ8AIJ6VMM/LyJ74s6yoLtgfkisTP424YzScgHcPHnpMjlxNU 24 | y6wfiKECgYBMRqMTtZuSbT31u27z5c7TV5YwI5jWPifXIGvqJVyok7XJpZC06W5X 25 | Kt0fe6DXo4BXF01y9sJGgUoj2c+w/G/OsWpEvFqOWVD+4WjIYFCxbljY305Fk5am 26 | BoWHBXrB74kKi1xqFk430oYZKENIGZSXtOVDkOGxdxnDj6yKgVCGvQ== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/idp2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApSATxwYKg5xqLURxLeqp 3 | iKvQ5+tmrsF8oOYeVtZGxkMoBPvTK0+2M8eAKUiUM4cBBug1eZzxzVtbSge14PV6 4 | kb38mNTM92fIwDibaDHeFY61L9xbyiE/I2cncMO7N+alNrtYjTN3vT11GyKZ9rOr 5 | PD/nePM6gfvU3o6LlSju2cj0NmEoNYuGB67gIs6mgNKdoCkJiFvZEreKu10z/gVy 6 | oQ+ls+a25g1iK2C/F4mtBayqnb+lAB0sXCeXKTQuZrLiDWqjpa+4QpsiIrLmXoQa 7 | BjtVFutB63K4cOZpisCg0KWWxPksyLxJNT8Ug78yQK0JPaWhiKdNQKJMP+AOlaQq 8 | +QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/idp3: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAo5+J+1AzvNNoVgVIJijRowfDzQNURgaQNnDw1JbeHEGgMLJS 3 | 09LsVv7aIURLmiKPTimTLbSUYjzr2l5/Z2u/HvRW24DWIhGX+xL687u6/uk8Q/BZ 4 | IaiLLiHBD/+LdSUSAhBqBLKRi0+r/0yCTRg61oJpCRz8TbRm/tyF5iItxnsUhmnx 5 | vTSntPeQjojtk9AFJsWjzOfVkQB2xDV0W93y1ibaUAXfvai8C6JCublfpnITacRS 6 | 6bcK28BV+XRtZoafV2I6xn7lVPSptHFKVe0woPnrbHPx/8ZiHvz5ksge7d2P2PXq 7 | q26DQV5P+MA4vwSVW9aLcVNQsDJ017gF9MkwWQIDAQABAoIBAElUR6dsozM936Wl 8 | ilcntgQFh9fKZStY56quZRAxaOtq8drBIGO0RJ0cbC+6htNWJ7lU4pP6OQHp4Z2k 9 | +h4kaKv7vy1yiQUNs3ofYH55JO33Iz4jah6uhWmwUPDViu9+JJruNkVSre2sUB4D 10 | cOYSNNRL77zY064TapFPzWZ87NzlNnmOpLVr4G1cm6VprRP7PurgqZUVq96sRF0f 11 | JGt41OGi3j7cIjbQK2ItUAN/eOR5CX1h1RSBuKa8kNPWYPWJU3h9h01CYDM6Y0J7 12 | d1M8ORFGWzqlUqGRUTC5Dnv/2sA45PGCmDjB9G06Tp48741Li9RWF33ofTXa+zZQ 13 | OSDNNM0CgYEA1yVDD/uxJJ1tB80cLuM9+B2MTQjSQxVjVjEZtJjPjao/+j6glbm1 14 | XyN551cCo+UHqMMeAfDBCmdUi6ZLM7720XYZyqqskUA0ByCmQHKqfyrKW8YKEaOV 15 | B5HihaudSQmqADahXizH7BNJimesMiZTMZSAQwZVq13dC+PIVtXJ+ZsCgYEAwrGn 16 | DueW1AcD4SCyjDWMhptaTJQ9Tygn9yKP3CdQq1B+gFDCHV9EAtcwqWemzkTa1AZU 17 | /cHTItXxgezyHX5d9zIiIe+dz1+cGgqCLr3u+P19kwpkE+qszTpyU5MWzKbVpw80 18 | 9JIELqV+ZzyNtnnqZE+1o2e0e2KzZRbONeFT5xsCgYEAxmttMB52v0gZOCqopW2a 19 | x2uo65sJIClnliRuiqqsMQElRAviWnQNnBLB6OPMYY9mwvRAhpWd05R82tahYLXs 20 | OD3th4Zk5QkLcs9fxOx75hB21LEOtDnjxjl7asBdrPCmws+ff5VZRJZ9KpJ2s0G5 21 | VG6a5DXBaOyGYuLO75b4UaUCgYEAuf+ii9iv/WueRytHqC9YSxiLkfFlCQRh+fXo 22 | 3fgpVyEVWVzNteXXQad3c7/0WcbqD/jkpXDQVs1xZiCJxad9+bTJawZSC1VZ+n7j 23 | k+gcL39swlcA+Q4PfBlEM5eoBme0YV9jxerhV/b+5X2yHQwn4yFLdAqVH/NRU1gQ 24 | NOVJlNUCgYBviYhGjogzScd8PPnBvM60n/eGiXVaa0JvOEADXUW0kH0DTrAL+LhI 25 | ZOtbJOrn9l3VuN7+3CnF+9AE2DUrVMmDAqjUQ/cnPobFj6sq1ZB4ZLGf5vcDLYPh 26 | FDDn0S1VAjcoZzXBZxCaIgmKoZJ63n+YsJ4a+LX1OyRdKw1bjTTKiQ== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/idp3.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo5+J+1AzvNNoVgVIJijR 3 | owfDzQNURgaQNnDw1JbeHEGgMLJS09LsVv7aIURLmiKPTimTLbSUYjzr2l5/Z2u/ 4 | HvRW24DWIhGX+xL687u6/uk8Q/BZIaiLLiHBD/+LdSUSAhBqBLKRi0+r/0yCTRg6 5 | 1oJpCRz8TbRm/tyF5iItxnsUhmnxvTSntPeQjojtk9AFJsWjzOfVkQB2xDV0W93y 6 | 1ibaUAXfvai8C6JCublfpnITacRS6bcK28BV+XRtZoafV2I6xn7lVPSptHFKVe0w 7 | oPnrbHPx/8ZiHvz5ksge7d2P2PXqq26DQV5P+MA4vwSVW9aLcVNQsDJ017gF9Mkw 8 | WQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ndid1: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAyW4GgB4e9iUke6szn+LI792F5lwehFiYOHcUlLQLwwqAVOH3 3 | yTJYDVOgCYoDzxgmNSsUbcxOc5nWMILS9k6uk+A9bX25DHkxHjfFYW1WQOJ/BKTk 4 | UXuwcP52Dt5lirOqCgJNNyfqhPDbZUdx6E0qHKcQxUcD/aWhckT2bG+7dbhAMY9n 5 | IohpPSPgsM8c2lKq+WYKlYWc/XAH3mDvNY90k3lL019c3H488igSTtZZjro8Wm3Q 6 | 5VnC0mEwESNzVYs9cTnnSOPzw6bd40z70qOsFGbaDKlfLI9xiNhB4TTR8MJCQltK 7 | D38bpFk6EiJTjU7fJei2bk5sY6axBUTGSRJRtQIDAQABAoIBAEBqPQ3vk/snOZmK 8 | 0EGLJrL+Znmab+/m3RcBjcVYJoLC8vMyKClhPiNU4NLsHfe2Q1GxayEJuvTg90wg 9 | KhK2asHDbiF7mRfSEdEWCLr1WiX5yKDVkmY0ZeJcnah3moVWm0QEJGlFDIxi8eZb 10 | iKO/OX5cNtK/uRj+RLjkMOHQgWRNbEAra/khMumjr/vvfrWs8HnepuXdc9FP61U1 11 | dMMvBftPF9pA6QVAxCIPjJGsijZ7e8f1mMUyyQfNo1XBFCfzlM8fXAvOEN0EkG0Z 12 | Mkd0av6W/CCU8rXUT3bKX5ygBMH02bt2bEzWXNjfjoHuOcuKGtvZxeBMFNVVUAmV 13 | MwFC5mkCgYEA8iTIscmq3UGJVx5aV/90vjTRw3BoD0ddF5Ts4CtlEUbTqWYAGUrJ 14 | ltAzAlzw44XOz9LRmdN1EQeMz6L+/Q8lvcAepNZDhUOimwxD+KsZdkllQNpJlNNM 15 | ghzQblDOKuj0X8PDt0ZjcAleJI5M1gajf3LA+kvN8msWcjfmLK1swbcCgYEA1PTQ 16 | hwV/IARqXcxo9iPX0Mkuwz37EAKwZ8JlTbHBt2H8TBmqkMPvmwgKh0UEdsFYD2K6 17 | kozBnElw7vYQmgcT3pfRzyx2gH3ZcULAOBX9orBUQpkvpd2PlIeW4eqmM7KZC/82 18 | kMRWD7pkgZlGPL22BTZcKiQwIy3RlA0kApoJF/MCgYEA29LY/8389/BPJm+/xLN8 19 | 4FBDPhIF5hj7QjVI9hlvH0gVT2vyGwPyDp/kLvkBFwyau8C/185IMLWR984ZftMJ 20 | iEGpkCuUEJ9eNzPjYRSzgNcQvNduhVVt15EhB4UEJaBmeanXO8MC8usONFGbH5HX 21 | TBR5bMD0rmbZccedhmHKofECgYA0FAam7m4vS0Uj2ShWAV/23CxGbPLn8HBpf328 22 | qVrhWOIVTjWLH4+KD0Zb3EICNLgvUwqjai6y5LbsiVp4AIEYb3JMwufb9mrlqthN 23 | Hvue/JYujz26x1skjKAWcYbhn6yT5X7XmlwdjoyjsPMfSZmo3qldWOo4wCy/kxMa 24 | W8cbhwKBgD6Tw6kpwgiGtfz2i1Tb6Og+RHDt973DTqnKJ/EKmpCkd8ZwwwQPVtUS 25 | NHTIqbERxnSPepsOFQ7CnHUfb369fpPX0CX5IDmSniHAXalZQZP3K958FsV7WPUC 26 | mgDia4AQOUGDaffmysRI36uX8WZe7k7YWL1fVEe1hHTHJLNsR9Tx 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/ndid1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyW4GgB4e9iUke6szn+LI 3 | 792F5lwehFiYOHcUlLQLwwqAVOH3yTJYDVOgCYoDzxgmNSsUbcxOc5nWMILS9k6u 4 | k+A9bX25DHkxHjfFYW1WQOJ/BKTkUXuwcP52Dt5lirOqCgJNNyfqhPDbZUdx6E0q 5 | HKcQxUcD/aWhckT2bG+7dbhAMY9nIohpPSPgsM8c2lKq+WYKlYWc/XAH3mDvNY90 6 | k3lL019c3H488igSTtZZjro8Wm3Q5VnC0mEwESNzVYs9cTnnSOPzw6bd40z70qOs 7 | FGbaDKlfLI9xiNhB4TTR8MJCQltKD38bpFk6EiJTjU7fJei2bk5sY6axBUTGSRJR 8 | tQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/proxy1: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA5m3H2Na9XD6fDTea/isuN3pTYdNyugIjfeqy16Nwdd5Eh0TE 3 | HHE4wkU3XmrkXAnktTOJgJHFzSgdeqS2CARRtDrPeksYwgFzslp2dusRfGbG696S 4 | 4AxTKb+X0+9WY9WfuT4KQFSa1xqizefXgrqRJWUqZ9VwfRv83h1td3J5sxeaZeu9 5 | vBxFJRTgKVPdDCrLz0w8qPXVkOg4OVJZRSKsN9xWg5/oxVO0x7stE4tBEh9LK+Ah 6 | 7XBYFy9f4aZo8CWmHUytBZ1eibNfTpcdqegxV5zIR/yPl2ElsDxpnAKw/v48thxx 7 | U4fp395P6YV1q0DjTuBKHpTmewU90WJt5Jkc+QIDAQABAoIBAEfE0YXb/EaKyocX 8 | VpLraA2nb+j8LrN4jw1c2C8JnLFZdQaciGhDa2Y2oLQrnsx72FwHnUAKJw1q/SOB 9 | waBll/0GhDCWyzNBuINIYbVQKbYRXMuCG0TlEdHi9qrv1HxrwL+1bwPyVffBOAvh 10 | teHlsedvxvFoLQ0KdovHppyZbwY0ME9KAV7WUGgTPuKPVCbjFuIDYLPX6CBr2xAE 11 | qBWBZHeAFEEOwtU1atRERnG2DhCc8WfG5kUe5o3TKaShayY7EQUxqr7ruPpdRBsW 12 | OYLtEqmaNrFrHCphnI9uSG1Re6D1Jtr6pHR+n4MO2FCmIOnb6sU0SX1yNcY1mr+5 13 | XerS+XECgYEA/rgglLELmKquz7xlIhPuq6iFesP/Osl0LxCch/EVIdKrMHGAcxvg 14 | hq9J3iC5gmzBob+XAKpM/v2i3RfrcdapYnpkJmIR0GmZwJv5BlWV66ZJyZ2Qpdp+ 15 | zgSGgbjJuhPOHHhMPiU5p+DV/2UpjTs+7LDoqOFBW6MGzKC4CzfBUqsCgYEA55Zj 16 | DnHCkunSsBVDhyuDvcLQ9RL1Wc8t2/XlH5x5kxzx/fkz1CA9wI+MnXwExFTcaEw5 17 | s//Mw76s+a90bw1eEsVWyvVV+oJZJmTUg6y7jUwG424MbRr5bq8i62d84NCXBRmG 18 | KUI7vwpXLymgkP9SuT/RBJkI2qdKO1g+25/WrusCgYBn/bwveGiHl4dvADc5xnF2 19 | W4LDMCmPUpfAb0O4rFA4Us3ZJT2PwR3VXtMFgM671LLo2lNHzj9JCzvmj9Fr1Huq 20 | 3NTuZrNnJvXCkOsGDwL6BhWx3kYjsCR875QKeerBsTxAm0xlQsVbKIu1jRN9uWZj 21 | M4aJDA2m39PyztrUmZqvqQKBgQCb+FLaZY9vtn6pDIkgPhRJ9y0YAR6wz7HJFICt 22 | m4rdo37vV6iqUtSEHanMXrwvJiATNlMegUb9BiwlNR+rs0sKRVHA+x5eyu8TxpDB 23 | 5dGixfNVtMY1rRcUjmtsM5SNLK6pRplurCbk8SfqoZR8Uxj5nps9B3xJFqYN9c7P 24 | x4Sk5QKBgHwLvc/+f/A36HF7gD8cBKxqNRYwRmDelHvqIqjCwnjhHc+ObseXTq7V 25 | qjfuOAmI5lw/nyi78gTU3WodpYqcqrnmcustoBFXjQvEJ50zUVM+EL54R23HKjke 26 | 9095RDZtfzbmoONNhaPnUYXZj4j11aROZDOSAjkJv2Ta5MiQ/9qM 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/proxy1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5m3H2Na9XD6fDTea/isu 3 | N3pTYdNyugIjfeqy16Nwdd5Eh0TEHHE4wkU3XmrkXAnktTOJgJHFzSgdeqS2CARR 4 | tDrPeksYwgFzslp2dusRfGbG696S4AxTKb+X0+9WY9WfuT4KQFSa1xqizefXgrqR 5 | JWUqZ9VwfRv83h1td3J5sxeaZeu9vBxFJRTgKVPdDCrLz0w8qPXVkOg4OVJZRSKs 6 | N9xWg5/oxVO0x7stE4tBEh9LK+Ah7XBYFy9f4aZo8CWmHUytBZ1eibNfTpcdqegx 7 | V5zIR/yPl2ElsDxpnAKw/v48thxxU4fp395P6YV1q0DjTuBKHpTmewU90WJt5Jkc 8 | +QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/proxy2: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAyFWzkGxR6+LFIfPKYmbVoxlGNirayzzDuaT61vRh0EoiJau6 3 | 1N2xytn0iGBfQ9TCRNRURAA+5BWkX4WHEyDfh+GaAdaoLzA6CIC4EOdDmivS8eRq 4 | KZpu44CwxHw/f6PBT3/APCqzboEAG+Woqoao//htpd1LZdl+w5jJ0EA244RnSNS1 5 | 7R6q37UYQujrCisraiFoYgcDsNz4R9l0q/jpPxqPNL/kmuU1V7ULyNKBiaZdKwqu 6 | +i/Ed1G8H1uebRQB02AfIez3m/FDtxOIy2C4Y/FpfJDLrGZ2nRY4LvjFDP7CPpP+ 7 | WPqp6aZYGmbJ48hfOlueJpMzofcqKj5EYFa+ZQIDAQABAoIBAQCuqqoonYi/lbQy 8 | 6g/mw6o4zex9hdfFo3EzBzj8+Y3ewQQMvDHlLnW5W1btILlutq26vTXLJDuxOX1b 9 | G1ytvNen7XcNa06v9ehjSXcypbA3V0ZQSMqXA2LzUFzOs1XZv7jny4ab7s8K5cZm 10 | jFIGe+oVY1CWcN8wKfVwLGKpA5PXwSoKA/Jy2cPgufqbBqsYeej7G3xIocWueUP5 11 | 1lrnrw+v9gpX3Mwx/0kuCawga4d9eik8nyi6BlKHhsF2GMqIa5VaS67nYPZqIGRi 12 | g9BOn69dcvSuSV/zRJvfHVhetA+BrWg5o4mnKV1ddeAUXjgLW70gUA/AdQVeFW0P 13 | /6XNNdtxAoGBAOk1OP+/NtItqrRvbXaSgRPlkWP+r4RS9G0o4oOcNbXhWFO0k2fs 14 | JTS+dK8zJjDLFeFqUlyayuUKiabjzc+geUmccWU/8bGeaYZIl509Ix0Xqc4RoMkz 15 | Le8HWaKl7qBK2qE0+aB2/T8ENf9SeRCGom3XICkSB57sCLTsIcpEB4W7AoGBANvq 16 | AURsQGGiw390o5/EpejmqNKIFp0Phu9toHzoOF7K/yvLH3C8GniAXUtRRUVJ1pPq 17 | ZvkIGwlDDlQT0C8Zx7qbiSm7M4l3c5FVSVEaOIavETUn0IfR7T9vxlXctdoJ0hQj 18 | hIY6gXA974ZFprzQxlnG0Dfp9jO6DwYpm0b143pfAoGAZljfTQ5EJvW3xzxn0/P0 19 | BiFoL3Rk3zPw5b9dudjikZH2S7YiQyeWJJG5b/KIvj1Cuw0IXG/qv55iTwYHGyoY 20 | UMAB3Ce2EPeu5CoTsARW1ru94BxIbkSx0gdtxT4BfgOb88fmDhBqkC9u60DstN4B 21 | hyc0jBHHmm2IXK6NHdHBY2UCgYBjc9Ia5XHANeF/lHoi2MXHK/kRLOY9JTZ6tPMt 22 | Sb+kbt0zKusPCqJV+Ic4doqDKT9XKVxkJtxDNgYW09cEVf5TT9+Z9cT62AB1q0I6 23 | 4UbK8gUwKs9NfQxz8dKaJfQ/pM1SujVGltLOtdPKv1kGbswk8Zpcjvv+rJf6y3oj 24 | fzPetQKBgQDfO51Qx7KAdbQl1qoCPje8JE20dfJ57D4iizT1uR9YUcJ6tS2kNUrA 25 | HjbS4c5IksaGhf/z4K2zM1BDpsH2fICPs+CwHixJ96lMOItkyS/xkM0NrUKVJQg+ 26 | 2slaenjXUJpMzft8f2pIq2vFnas9gjoJyFUF3Cev5dpYHI8VEIAQsQ== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/proxy2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyFWzkGxR6+LFIfPKYmbV 3 | oxlGNirayzzDuaT61vRh0EoiJau61N2xytn0iGBfQ9TCRNRURAA+5BWkX4WHEyDf 4 | h+GaAdaoLzA6CIC4EOdDmivS8eRqKZpu44CwxHw/f6PBT3/APCqzboEAG+Woqoao 5 | //htpd1LZdl+w5jJ0EA244RnSNS17R6q37UYQujrCisraiFoYgcDsNz4R9l0q/jp 6 | PxqPNL/kmuU1V7ULyNKBiaZdKwqu+i/Ed1G8H1uebRQB02AfIez3m/FDtxOIy2C4 7 | Y/FpfJDLrGZ2nRY4LvjFDP7CPpP+WPqp6aZYGmbJ48hfOlueJpMzofcqKj5EYFa+ 8 | ZQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/rp1: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA9U1Li/tti907heHz4Xmt46rrvcmWbF+CC1tPJsUgS++A//cZ 3 | L0mMQErbg4hGVa/ln0efCb0AC4PBabHJapTnA1pMfXQkIQ36q8ZhLiyLpvv6k+4G 4 | iaYheasZ53rbb/FMJHwXFV7q5oqXsLsLzs6Vef32yn3FipZLDh2cp5/61eW4HUOv 5 | kyR77PqQWU+s5DZ7XgzwMnmnphUTgknUkKsmLfEG5qzlTdnAKV6Cw0Y6KsLwNg7k 6 | ZIEnAcPvCs856Hmd/3AHhjy5mXA/CVnZ7YstuSVpTq9ExUrPo1XTIVgNtyq0dMB2 7 | jdGvLRL/28I+vAKtN/5VIhwF4E2n7hZ3oJnqGQIDAQABAoIBAQC+9ym1FEu38sb/ 8 | 92OxSNUCxHE6EtG0FLZcuPzppdT6yL2Yh3lnws4Yzy4NO+3lj0Yntc4t+qEqVawg 9 | 6HNxMfKWPZoGoH/v674WNB47oBooKUpuF4OnbVnqKjXEa3ShtSwdyyz9SiN8zrBA 10 | uZz7pv/fNMMH6Nn8hfxwRMVMCdNw6Bs7pHYcrJQ3rfHiLtnkbqKDOAzat0lqH6On 11 | +nrosZfsQmkrT9wRpVwWT3KlAwqXGSN1Q/utf4Nvfvon5WI22jYDUqrr1c1+90h5 12 | VEvVBZhNDYjdrawb0CQX4eqklc7bYuultGvbm/Ix7iYy7yT2xjLM/rfNWqqeiaoA 13 | IFYfftlxAoGBAPtj0Vgqq5ccx4OBFRzWoKQmg5uM0sfXEm9zcCbrNs5hMUaoBRde 14 | PYkK4cD0EnFEXDR21UMMdVszYFaPK4S35olX2nRfApIxTUNvUDi+xfwxO6BP/2Rl 15 | RLO+Ne552o3D0PhlbqO265fx0AATYud1srm6AA5Z1qB0bkTaCimsvVLXAoGBAPnM 16 | 5YSAPgrdosZvvNxDu6ivH8JWwPcfoONnEdyD5Nr9497siqpDVmGR6luMLaAGjkJy 17 | 0b2D/A5deuOnInugTiJLf0PhzKmPfbmBm532/K6TySktTFZsNJfFOO22rm9EFeGC 18 | JJjGcSFq/N85CrQxFPSzUCkOtNP76ueiqGHIe/yPAoGBAOmdVkMvzCvu073ybBNT 19 | pQ9Gt1ELainKRViLF3MjbNgXXDqEE88mhdrf4PF2H9lgpKsgr4jSgBDTyrhF7jQ0 20 | zileGiXA0VvYMyvyusMxDj4R5o5RKU48Cb9biTTnymGp0n2zjUDY0VFvp1MasPPV 21 | 3dRY9IphlGGiMYMMeRtHat0bAoGAJjUYxfN3ieHsi717fZU+lsZybR8n1KSZzy5s 22 | pPXngzdiKy6y5uf1xmazGd2O/PMDv1YgjoQpgWj66ucddxtF2CkEBjX7P9Qavsz8 23 | KGUmsO0Zz5qGGpHiWXRpCLLwa0RWtG9beaKgmyPqGZp38KexNNxYXm9JaUMW4ucW 24 | Kh6oGDECgYBdFhN2XSoxd1N+PKRa5OvXmlR6rhKwfYmYwKqJDf+0sGdodjNsRFb4 25 | qevOZ3JLFRTavw/lAS9nM8D99XoPGEIQ8Ky1hkYtfURVmoxa5o6svUoAQiaGtsUm 26 | qmNhmSjSrPQRUwCyLtk19X4tZ7i0QIC3J/00vjohtRUt2pZ4/fhxYw== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/rp1.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9U1Li/tti907heHz4Xmt 3 | 46rrvcmWbF+CC1tPJsUgS++A//cZL0mMQErbg4hGVa/ln0efCb0AC4PBabHJapTn 4 | A1pMfXQkIQ36q8ZhLiyLpvv6k+4GiaYheasZ53rbb/FMJHwXFV7q5oqXsLsLzs6V 5 | ef32yn3FipZLDh2cp5/61eW4HUOvkyR77PqQWU+s5DZ7XgzwMnmnphUTgknUkKsm 6 | LfEG5qzlTdnAKV6Cw0Y6KsLwNg7kZIEnAcPvCs856Hmd/3AHhjy5mXA/CVnZ7Yst 7 | uSVpTq9ExUrPo1XTIVgNtyq0dMB2jdGvLRL/28I+vAKtN/5VIhwF4E2n7hZ3oJnq 8 | GQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/rp2: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAtbQS9EOvhMNsevRC/sJzcbnj2AyIAE4ybasRYVOF8LGsGCWg 3 | acdBK5XwGiCyti6Vbj2tDWyXAv/GdKykmo9Kj5o6c5x30vtTIBodoWUN15klhx99 4 | I5oDwGam4dbJjWU7Zz/TMTkEs+MUYqMQCkF0ZZKcasOXjmI+zAe0mAv4Ggg41fvh 5 | xwRPSFp/s+eV41WJ7I3zDrOKdOGz9q6uDgC/o3DldSauNmUEC/9Qjds0G70HJ+/q 6 | WYZ3VeTcBsuaCSQcRfuqrdR0ijr8zQcDp6tT7XZpaXKzBZZCccJuzhJP5iuk3l5M 7 | QTBxUUvkI/aIwWOlLygEvYBEICceihR2ed8CWQIDAQABAoIBAGIWLU0y5KL0o7DT 8 | /v5rlcpEoNxWF2yiydIt0JoLbnh6UP5QAYJYj7Opow1XrWFvUDdMkAh5ICP8UvNU 9 | 5x6QT52pkfgq9Pwts7fWoTwowwopn/qLYxA+6duJDnlHa1Iq3aBk8erWbtV0teJx 10 | SA1hPCZAuLNhloTEQEX/utuBSpMyBwUwRFssDcF9BYDdCydfZab2kS3yZbDaSdYa 11 | czFV3lrFc8gJeKkSQCL0tjA8IqfNqDqo2HUcn2GlD16za3kR42RmULBpQbCdkWbr 12 | 6sL78V96PgEYNsznvXjYgAtHm7psspNRRZ1U2LFecfmlUhaWKjzEoHkD0CtFvT7N 13 | dE1LCyECgYEA7nG/kM3ruTRauswicBVshWSbmmn7c4N6uFbDq8fFjguwUlEIIitC 14 | mhiqGaiQAySlHLEWEZAU4NKcSM0g3N0vGct/unGXvu527KXvkSTTo9+8YxLhhXul 15 | 3LZFMRXJCIBgiNGVXZ85t8+kybHHyyCpd/N8d7yEh7iuMLm/N2HB//UCgYEAwxTc 16 | QK5qiTcwpjmXpZACIldgSoPIhK1akz9xmyk05ojy0YjlKNFTWbB+aKFJQpBd8mv1 17 | xS1hosw/3rMroLOCTJMLsrVbIR+3BgEMheW9ra8yUnAqvnEK9zt7cKnyXZkNFNe3 18 | V3NyUVGrP0NIdbry/SZCZpjWvHuw2Jfxp587LlUCgYEA3OShrBsoGg4HU2+TI7Sl 19 | MTpP8I/oM04FXUp7wOK0AHCRquCIoWbkL29T/asrps3G7DqdkC2jOdfCkqr9m76I 20 | SOQ98tIS2v19TKQ4uISeT/0QP9QY+pjewgZVOTDOaULMq1NFhVLhnIgPSA6bYXFj 21 | rczybNZHDJipPliFbV/x4hUCgYEAqH5zAlbjY6LMnTXvOivY/ApV++Y5IgeMzNOm 22 | byq3K0sr1zkTHR83i6b6d6qe2SRSUJlYzLa2tuMNY2+DhiilqTf0iaVEkaaP8Vqk 23 | k13sZ4CDyVpiQNzoaMPyiUvwL1GLT+5Fx/3JxlzwuRKHGlCfoXETNwRZrLB0/Y63 24 | RV0tw4UCgYAyRXwgTiSfPTPqGFr3HudNckPoCAL8wbUVLO9Am1ksUU3+7bG77yNy 25 | CbqVIN0Zt9jbkP41cwV9MCl1VfsbxmgxUSuEls+HuUWTXcW/WJie9KmJ6DfRAuN/ 26 | Ea79VmUDlxf+/qv+35uP0LAhntwuGe/lKMzPbp+mYM15IUrZk1UyOg== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/rp2.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtbQS9EOvhMNsevRC/sJz 3 | cbnj2AyIAE4ybasRYVOF8LGsGCWgacdBK5XwGiCyti6Vbj2tDWyXAv/GdKykmo9K 4 | j5o6c5x30vtTIBodoWUN15klhx99I5oDwGam4dbJjWU7Zz/TMTkEs+MUYqMQCkF0 5 | ZZKcasOXjmI+zAe0mAv4Ggg41fvhxwRPSFp/s+eV41WJ7I3zDrOKdOGz9q6uDgC/ 6 | o3DldSauNmUEC/9Qjds0G70HJ+/qWYZ3VeTcBsuaCSQcRfuqrdR0ijr8zQcDp6tT 7 | 7XZpaXKzBZZCccJuzhJP5iuk3l5MQTBxUUvkI/aIwWOlLygEvYBEICceihR2ed8C 8 | WQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/rp3: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAxoWCisap95pZiq+EIl008UsLGtCmqwKPsY6In/ji8/KiJ83i 3 | hP/PQXNyDz1dwlKdHrN8RNzep2ci+pwdozQddPKhpBAxEJXCsUlFOSeZdqCAJ2WK 4 | 9GTJjJvlqgiA8T2NMU6OJbOjDzNl5Iyr+Gv2Vhfm/Zr/vl37t/KQt91Gnx3EfONv 5 | 3VCEl4TlIRHyZ90U6bRYmJb3QUGdKBZcCHDRI1T48+2Pn6PnejxbPtJJKfafQ2ct 6 | n9kQd3Pavst/RXsOGD2fr1nCmsCE34hWaQG8/k4dQe0IJ8mg2ypkhM3XvvItN4WI 7 | uL5oxU/XpUel5dTmhtMu1A1jk3sv5yaSWI0Y1QIDAQABAoIBAF1BZltOi5VWmm19 8 | mbKS2kXnHKZSEZkPsPSVojSTs/kop2fPXXNgv7ldQ91I1HxuVoSPh/bJUoaM+m+D 9 | WqDJ4HSJbckmGgZSc4zYgH4izgJdzxWyq522or88lJxVNk0cvvDEmB25zwVa/ahp 10 | NHeUL7mtrMLBRxXkDFUSy0yz03L2sqG2YXSH9/tI7/Sjulcrromglx0C3vajnpHy 11 | aq6nOTL6SECSXJIbDOn1RR0K1VdNTHbNJA1C8wthqaxghRmhmM+KghgX316qfH0V 12 | 96xAwqAwR4XtxsLBLv71a6NA7Jguf7oSPve/YYPlnBRL3wYGJuMjkpSs/WbmW8Wb 13 | i8mMYdkCgYEA72R0766r4xZk4qyj1h11fbBLYFcHbjCqwM64iyjwCIrm3rheCadt 14 | pez6MZadaFN3YZevRfkQ1UaXHn7ZS6fweIQ7YUWExMdxBxqHqfUz+0ji2V+Aq6F7 15 | LH3V/mfSrtnDHIZrJkhGQG91LttZfqOARlOG1fguVbBtqKBeRLImbG8CgYEA1Esy 16 | jZiFOjdCaJ9GJ6RguX1fDTKgUPTCyiROOjzesx+LS9GqlseR0Ujal80YK4r8vWmD 17 | j2vIrX4XJqu6xmpYdHkfSNHCTYQyxtUyhuGY+rpvG/wwwBs0JX/eYXv0qIdLCgjh 18 | oZIHFwdQQcLLyGnrRyGIVlQzH3u+U4m2A6qfuPsCgYEAhzf8/S1ylbCeh5LwcA7v 19 | wHEGAoLmBY2jxYh+oMwc2RZsVb1aEKXrv19d6wiiHL2Ynx1ouWN36KAY1/bakmtn 20 | 3wsB5223Etd8toB7xLpmBDglOpdBPLDXvEfPygWm8XC7Tq92coc8d0T9sdvgbzG3 21 | UQH5FX873Nbs+eSrmq3uGi0CgYAjfwdO4ae1GjRCZg9G5Zc+rJXOER75KlO/lN53 22 | omHiNW4HGWGaoHfjNHlIVISsEys7SH805eLCD4kzcBdkwbdUkkQG2vvQFkCfOlqe 23 | bu4zTiTx2vMTy/imJIE8b4ty+lwzq1R+vXnuAc0LkdSdCAjM9fBj7uQ1aW1jbm0+ 24 | o7LdLQKBgQCI3T9wTgNPQ6Es+xfGEo7NTUPToryrPj4HCyDiealFk16kbM5QA2/a 25 | Nq7Zq0vCX1fIZUukoSQtk9xXzOU+mgXJLnsvAdh6mtZGSDMvSltUkxgrEHqTsSMZ 26 | 5Id4nw0shURJ7e2RThUTmizDZ6f+5NIGfNpBTZx3dkMOdfZ3FcpglQ== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/keys/rp3.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxoWCisap95pZiq+EIl00 3 | 8UsLGtCmqwKPsY6In/ji8/KiJ83ihP/PQXNyDz1dwlKdHrN8RNzep2ci+pwdozQd 4 | dPKhpBAxEJXCsUlFOSeZdqCAJ2WK9GTJjJvlqgiA8T2NMU6OJbOjDzNl5Iyr+Gv2 5 | Vhfm/Zr/vl37t/KQt91Gnx3EfONv3VCEl4TlIRHyZ90U6bRYmJb3QUGdKBZcCHDR 6 | I1T48+2Pn6PnejxbPtJJKfafQ2ctn9kQd3Pavst/RXsOGD2fr1nCmsCE34hWaQG8 7 | /k4dQe0IJ8mg2ypkhM3XvvItN4WIuL5oxU/XpUel5dTmhtMu1A1jk3sv5yaSWI0Y 8 | 1QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/as1_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEApeheIshZnPhgBi7SVDsAdRbNVVKAIYkBv3x2p66Ok6wyJAz8 3 | qjdILQzSg0O2W0ymAY1kXRmF5lcBVi1efqgSFmP6FC5UHQpyYkkGkm1Cl0SbFbKl 4 | CtGRL9uDen4Jfj08KjO9ZGYeft0rS5mSW66f40e/E+51NaX01Vsqbz7MDZ3ucNcq 5 | je81X2urMnjddvJTfikR23kXXrQabx2gwZAbOq8idZkBJUn9vN8GMoEB/4zVpw4c 6 | Yuq33/QJKIkSqjynx/QEn7ffiGaWyVqiqHVOfM5Mp0L4qIrrWg8EpvPyJ4MaH1w9 7 | hiSa9zyVE80QiJ6itOoYB5gZSfiSbm3sMxcqAwIDAQABAoIBAFGJlyI/FxO3WfIP 8 | 9tzgtoPVNgsV5dUVcZ97exFED9xxx57CJzc8viMt5xQOJkROslOW+tlqns0qu4Rv 9 | /b3/ugv5DMH4VuyC4t59B1bVjeGsHRAX4Vck0dcUalS8NswtKjGPhigerCQrbIjW 10 | LAEVHI1mCHmyOzannmFxUbSkx0J1LlTz8UQf0CtlpO2tjHi8mOvtm1XSDIudj7aQ 11 | ih7bokmh1LP5RmNOtAOJvhJP3OT5zt0a/3Aw6MqmwSt4B6xih2iXhCFJTGJrnGkU 12 | cFb9Kxwccsf16jT2/tiCYlOg2gvzNg3KaFog3wUXQIXqMwnkT2nbC3b5rW8wdxHu 13 | Y39L/EECgYEAzmhANl8FsY4xp1cU0DE/PVgO4B33Ccmr7/8pvTWGRbs07ouRFPSz 14 | ESIyQmNtxiYxwW/1I4KRvMkGXq2RdroBLtamlg+WpQ6hJhh0kAp9l3GfF9DAMt+a 15 | v8iFK5jOzaBriLBecu/u6wR9KIg+NKkZL5xLo72qm/8sR1Q7EqoH6iECgYEAzcUP 16 | filbFzydXx1I3kHN8BjfXEZpKih/+P/LkhmMUxVmth8Pjs+fRGWZdkpuFCxoYJzp 17 | 5jZ2XXNeRqBw3TJmBzRYXuQVAcKltnhA/trOZGGfldVKC7aRiq/uHUQCA8Rq3zq8 18 | qeBIvNkpIvv4Vp1f4GWf1a0yvOTTKJCS5iTAN6MCgYEAxFkJlG9KFECG3YAKLY5b 19 | cTh+VhZLNUViSRh7FSGAjH7seGvN5Jhua0MTenHpMBCPTkr5cAE6L9MvOwtzj/Sb 20 | QXox2BgWHwfOplWnNIq2NEWCqP4Mh5iMNhpDDFj9iUAsa0gTYNT7exe3E8KfIisl 21 | 6VON5MJ9NI5GCciHtVaH1uECgYEAg8dHI8Hyf1AnbMmBaC12aORU73B8Wy5yvpF6 22 | 2scX0gGrtMjxmsEmu5PhkxsZojvKYM09El0gsrp2zv5jKZXkN4rzaVnihi0VGWWs 23 | IksY0LqgjEF7WUMDtHD1KrLqI2WAGBQyzQxBKQheSvRZV4cT5s7ObPatvsFA5gKo 24 | wVEZ9McCgYEAj1i+fxIfFWCpEXqsSlowCdC9OK+nVdUQqpHWDloPXxrwduSMc2dH 25 | oh7bWTuDxTPZURZg6hlRPW7EHVF5dXtfcdTxcbiC38jwYFt+7RZc5zmX0FHc24Yo 26 | CaivA/yvWVrsPJGarC6nvyzv53Atx9tdsgHbWOZexOC8pZOI4PiDkHw= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/as1_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApeheIshZnPhgBi7SVDsA 3 | dRbNVVKAIYkBv3x2p66Ok6wyJAz8qjdILQzSg0O2W0ymAY1kXRmF5lcBVi1efqgS 4 | FmP6FC5UHQpyYkkGkm1Cl0SbFbKlCtGRL9uDen4Jfj08KjO9ZGYeft0rS5mSW66f 5 | 40e/E+51NaX01Vsqbz7MDZ3ucNcqje81X2urMnjddvJTfikR23kXXrQabx2gwZAb 6 | Oq8idZkBJUn9vN8GMoEB/4zVpw4cYuq33/QJKIkSqjynx/QEn7ffiGaWyVqiqHVO 7 | fM5Mp0L4qIrrWg8EpvPyJ4MaH1w9hiSa9zyVE80QiJ6itOoYB5gZSfiSbm3sMxcq 8 | AwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/as2_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA4qoFKaBXwdnz7+A2bi4tSATTLKdLlgSKx0fsC1jGoaRxrgkO 3 | vrH0sXD1WdMuZWLtV7AhmIaD1sM+sj0B0QF/7UkJWr+Fv3uT00HdPN3XvOS9E8Cy 4 | RYWIKDZH+WemiP9QhcxkU8GydCacCDgru7KV1mGVIobpKgPLU0dLErh2/arqxiOs 5 | 9fRpag9FWsfqPkrlIbMNG+uIlpR/8saUxgKNAx/Rpq+tk9k+j/UCftYm4awEKeQM 6 | BS8Qay0hPemBU82ylSnpeEbIvne0DVK10+eaGVoR8j7UJvR4IaQg/9UxTz3pdue+ 7 | DXjfqvOcXxP8HfzhxbZ3YZp/cyzcpzubPfKCWwIDAQABAoIBABwCzN6HDTFMoQO8 8 | 3p0hIcFrrzkud33Tk97quXXxg6KIMvBB+EuCrG2dOwTdvzcSUahrgMtbnEFXIZFf 9 | TrEokUmepARN9NZkDDGoSxHxjG6widk+EAndZaUqiBx/Papieu3+A0wCfO4zs0ak 10 | wmrQuAmlR4vbxkbF70OcZN+sYjAYypZE0ZuZeqtWwG6yx+VHyHm1cKPF4LC48jkA 11 | V3p1WSFOKg8HxC9YCEz71Gz43zQ09xb/me5MkESSdwAMbqMWvtSuWtA7ZwaB4iEZ 12 | evIgTkkp985lxl1YdlzFe38jbXHQ4VQVijI33iGKQZPDTCle4q+P9dCMtgDTHDEk 13 | 6q4WT8ECgYEA+S6s+TRIZGr3uSnNEJDOr1qTJyIinrqs74NEJldHsB/BsNRGDxdb 14 | ANleBGlISY26zT8BV4ZLZfOkVjOojmpS7oH/Av9FuEIb7m8z5NxbrNUznqxFqO2S 15 | kYK7OtMWkE1sTD7q9ECGP9gCyDySc/yFsqFZS0i7FyOOZsoYuF35IyECgYEA6N2f 16 | WuQPQ0WI53ajl1QrNE7rOhyZ9bF/OaOth9o0mfuyew8baXmL8F2rhnuL5jUeR4No 17 | cb2uMonoVByCjBJuubmtVZc/OxjrgkJ/qhGlxROXS3dcDH8d83poDZJGTqiLkHtB 18 | VsidhbPDHloL8wK9gxS6kICYpj9WO9Jq3Xg78fsCgYAgyTprI6zuwYBMtapMprD7 19 | M5CvEne5qNg+P2hFHzDIhLUofhWlwK3xo6gSLoQbYXGVtdeIW5wqEu+pg+yGqIi2 20 | 5xXVoB7dSp2ANtN+JlxNllPPad1Uh8XELY5TBBkw7W71bUXe02qWleZv0EB40F4L 21 | Dd3A4RX0ynHfJnIwN/Ui4QKBgQC4F0x9bEHsqrH6Wj4lyjKFncY0IJxOMc4kYRM0 22 | jPp8qRCGXIENNzu8ADEzlcQZb/DKFEajdJKb/Y4fwJIr7f5+8RzoxzMDo0W7qpqG 23 | doEYdc5rqKaqcmvZKfHMmNDgKjp7NBWJZ/uv0Vb1TbaYnJf5Yo/C4QbMltGzZTt6 24 | bizltQKBgEr/tSKkJ7tN1bD/Dnv3g2PcnV207heOkXXezoG9u1Wq2wi8cFaCXwvl 25 | 1yUInnSt+ICrCWgrSY38POf3WJC25QaPnXYdZ8J+rORn5cI5JhJnN/nd2b8KJMBN 26 | gTdrKvS3iMFXNdLPdkIDrWlp/oKvR1G/MTHJ70TKHiWio7L3DDar 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/as2_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4qoFKaBXwdnz7+A2bi4t 3 | SATTLKdLlgSKx0fsC1jGoaRxrgkOvrH0sXD1WdMuZWLtV7AhmIaD1sM+sj0B0QF/ 4 | 7UkJWr+Fv3uT00HdPN3XvOS9E8CyRYWIKDZH+WemiP9QhcxkU8GydCacCDgru7KV 5 | 1mGVIobpKgPLU0dLErh2/arqxiOs9fRpag9FWsfqPkrlIbMNG+uIlpR/8saUxgKN 6 | Ax/Rpq+tk9k+j/UCftYm4awEKeQMBS8Qay0hPemBU82ylSnpeEbIvne0DVK10+ea 7 | GVoR8j7UJvR4IaQg/9UxTz3pdue+DXjfqvOcXxP8HfzhxbZ3YZp/cyzcpzubPfKC 8 | WwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/as3_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAp8R2j64iyNbXfFpeTi9mw+fY00GTj/GHc1KIt5egCr46Vnhs 3 | /3LIpW3n12UvE2QeJxlqRHPlzX/Bx8F37eG05yD+x+Xxbkd4ik9DCa5d42rkH2Br 4 | cS3wdbaj/xYcnIrLwIQVGG0/tp7KDCeQu9BN+NFEBT9xHcwu7/ylGeJxDlcNS5rm 5 | elOel0du7YvoHkGa5ogbJAcN6g8PLPmL1m5vH2LRYrin8ycSDGn4znWNx6X7TzQw 6 | RIkmcJTkyZiiFM9wxT9z1ubAPf421LhcIZURewpZ2apJZZ91wk8LdGHSr3smBVEl 7 | ahYy7c6uGTvd0yF8jk4m9BuNLtejzVbyHz30oQIDAQABAoIBABOhvNIBaZag9WRa 8 | 2tBBYcApAElwUgk1FUmcbd02BAddzUvTGcYms24QV2HwODsHqzOeGL5b5ZdPjOiI 9 | LjWLBPVK+iWANelWubdNoSWf3uK+3mUBjnEXFB1iOvydpMl4wHENw74xApSnLjOP 10 | 6bLgpE8qhdArZVw8SX3RzawiwGISAzBPYTzNhudNizoJNmVb111E3l72iuTjfJUv 11 | E2yUGgieV5lCt861OlkUaVkY1xKk/xKNa88dGZP2HzG9rekfukWOTJ0SJVzLab6C 12 | tdAfnHUblht0ylKP40qzc/PXZupsCmfJDIOrWcPYAm6cuW/75mR8z8LnWxApFjGi 13 | L/FGP6UCgYEA2XP6t04GN3IpGWdb9jjqeVTaRW1DG3K9fqKftLKJmlcnXTkWPKZM 14 | 0lQ6jlczXO5j6LJP2nNiFXXYgYMqhW3zsnbHY8MVH810EaYPu9gC7egmhffj/la9 15 | vabY9pLfI2b13b7f1lEqmcrsvTwmqHQ9JW3+jXz0BMnVC9Dd5MWnfXMCgYEAxYHA 16 | HJtnFTMwviealU+Vqcs4aXbpAUXeUTGrK4GCq5DXItwDQW0QbLT9GKG2jUPO81mL 17 | sjtGOKJaRoFRlSoO79WtTNGZQ88VIFgz+0o5bQWNfzFKuTzOoUnNhLKqN1E8DMMs 18 | O77lV2b81jzyweo/OYETeMLs+74ZcqzpsbyXAJsCgYBPXRwBMNHmBJ1pbybKK6Ww 19 | GL79Hc6jQvJUOKhPO+Yq1WpBhOdPxWY+UY15i+vsG/mM4R9x3DDNIlCdnDC1uBZ8 20 | aQuGppmcHNEi69fMOB+BkvwUYw/sMN5ZTH7dJ2eXNSnA/7wULVV+Aej7e+ukCaCT 21 | e5yvKQ6qfLtr75Q8vcLObwKBgQCU8c9+A1fOrgcRL+6ssRLNtFq7dhgrhJQuqQVL 22 | zuRLG/SR7ldqLKSZRjgkLjfr+noEHMBzza2cIhtwVi+/DLOs/HgvmVU6xN1KwhmZ 23 | ZRU/eVOG2xZd8VRmX7DkZJRnGRTvDvS5rbFoo1sC+X2c7Vl2tTeI938eLfMk/u9R 24 | wUYjBwKBgGNSQXFoVlUDMDlNMh7ok4lAZbd1ZH62laMRiLE4ozVdBEwTdScwLCMt 25 | DlQ/sUhVgYFEokWBMKl4n+Mb0gsDqBMM5XG5wNK/7rAVLmOBW3R061JxNC6O3pQI 26 | bQ3ELySyMm6B82hKic+pTHEy09E0xuAAvVvyp2kRLOzc1TSoRboR 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/as3_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp8R2j64iyNbXfFpeTi9m 3 | w+fY00GTj/GHc1KIt5egCr46Vnhs/3LIpW3n12UvE2QeJxlqRHPlzX/Bx8F37eG0 4 | 5yD+x+Xxbkd4ik9DCa5d42rkH2BrcS3wdbaj/xYcnIrLwIQVGG0/tp7KDCeQu9BN 5 | +NFEBT9xHcwu7/ylGeJxDlcNS5rmelOel0du7YvoHkGa5ogbJAcN6g8PLPmL1m5v 6 | H2LRYrin8ycSDGn4znWNx6X7TzQwRIkmcJTkyZiiFM9wxT9z1ubAPf421LhcIZUR 7 | ewpZ2apJZZ91wk8LdGHSr3smBVElahYy7c6uGTvd0yF8jk4m9BuNLtejzVbyHz30 8 | oQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/idp1_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAwt05PCcSjnZeSNnIRTFEEk6jL9/ptrzymdRJcXgU65sY/DtD 3 | Q7Kyp8fOWJqEzLaC29kFWVDpEFyMwNyiiikWI8fDLKOO+JBlaIM5yQOco5MasBj3 4 | /mbTK1Jz4uEXPsm86oNhlUWU6XjKkQKs5J4IOHgdkhfYu9X0mKmz214fhHQLUC+j 5 | Kk8nGHU0vrBRzB1B2jwemnVeDRZEyx2sjBPag+yDHu12qatjXAKtkQ0zBJP1MH1M 6 | JPitH0Kw5Y9nPbCs4HLa58VZypsIQwXkHrQxeqDSgP1SQ0+IIiAxFndzGI+unafy 7 | fX8tnC79QYGbBNSxRpNX39iJcdmfzIc/H6Hs5QIDAQABAoIBAGF77rArE9t1WAG2 8 | AbyrwtQtxvGiYPdsWymdzAgZ/M1JUByPQT1S3pGVIaOt2ZXYEGsPjN973Ly0sC2j 9 | syTPHSZVP0zLnjC3fCPm0je/uNMUOpuyQg5hPm9D1nnABbMBlaL0ixL0NmT+ashU 10 | wE22yYIGhTSa/XAqvyzIaRPraHUIAOpx7YHJfjLE9rqlWw6FHAWdcSO59GEZvWiR 11 | XMdwpiiAlPvX4cOBrFiR70lnlY1KQVXdxb1T3yA3/DbyvQPxIBNuBkrTv28q0tdJ 12 | FE3/KcAH986CzppsFrJIELQyIXIL9fGXA58LzC0oWun8Co5A9Y2Khq4bVbiJl4PD 13 | Iu2do8ECgYEA7Q1MZ00mU0+M6bb0hEryQgdiji4QnQW3khB3XUFOd727i4ZUTQ0N 14 | 8FoHZ+8KkhmZxVnYgLXkKkqw3dMn1C8RMlJhI72nhoaFye7GBMqCT19RCXIfEabn 15 | +oefnXDAWBRa0NTlXqU9wA/j8bOh6TTg6uNYk/ih93y3WtJI++ehPD0CgYEA0nCn 16 | HGonABInqx8AXHVQVX1aqMKicCSiWDLD4HDBMCsBT1NpKSXnROv5ziAjJm50FXIc 17 | t1u0A35LvA/GCdiOzN1iXGEuAHflcQjmoLLZowXLYACvBQZTRjfM7vBa8LHNpFG9 18 | ZiaPlBz1o2vWkgPVcwnzKYen+lq1XDBFXNblNckCgYEAotGdht6Q0mwzZ1wIus0X 19 | dI7J/MpbEt8YZTT2J5FxqgEhzgWn5Xxv9ISBzbt8UTlQSyMY9973Jq1CqjocgzsI 20 | 3r2Chx/+7wF652YfkK7frlDTwl8mQ+OWNpfs5CDLnDPu5L02BjoNHdxMPnmZXiq5 21 | ydv5vTjrVqfM8I67HnrMXikCgYEAzm+YX3V64MTuiR2WWxzyO4sG/npAo0Ysw9y4 22 | 7lluCnSFim3GwYjfQGtE2QIJuU+tLMSOiwi4pJymaswGd+4q16ltLjZezDLRr3sN 23 | 0yLgAN5UTc8d4g38buuaa+L5MxkZJFLTO3wkaSWnijLlgMOmBn4CPgFHtX56Xv8z 24 | bAmbPJECgYBrgjFTXoSBM9zlxXyE3IkjYqiHLlia/ZR7QfrGv7rniQgEvVhx43/l 25 | tb0xu4dVie9JWkvPnNQeFojFedR4TMXqy9M+4H1VUOAo6sO0LMBNB56YdeUS+2FY 26 | c9pvX8feJQraI/BKIWXffZdY0meZqjmp5NPdvfxJpg8+zNqQpLqvFg== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/idp1_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwt05PCcSjnZeSNnIRTFE 3 | Ek6jL9/ptrzymdRJcXgU65sY/DtDQ7Kyp8fOWJqEzLaC29kFWVDpEFyMwNyiiikW 4 | I8fDLKOO+JBlaIM5yQOco5MasBj3/mbTK1Jz4uEXPsm86oNhlUWU6XjKkQKs5J4I 5 | OHgdkhfYu9X0mKmz214fhHQLUC+jKk8nGHU0vrBRzB1B2jwemnVeDRZEyx2sjBPa 6 | g+yDHu12qatjXAKtkQ0zBJP1MH1MJPitH0Kw5Y9nPbCs4HLa58VZypsIQwXkHrQx 7 | eqDSgP1SQ0+IIiAxFndzGI+unafyfX8tnC79QYGbBNSxRpNX39iJcdmfzIc/H6Hs 8 | 5QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/idp2_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAxfXn4VbTfUit28Rm9lLjHSS7dRvtNde6GqBl1RP5u2Z5LY0M 3 | awBbCc5A1Fv2hqw88gQu3vbc91K4Qak5Tg94/pazxjbJcDg3Sb7pn8eWH0hINxf+ 4 | tCVoFW7uaFh8p8AVEsPsCurK+MU4x5jRdoduy0CIv6oYhIcN2/+AoyvRe8vZflbO 5 | VWduP+xepEQksPgCQSe0e0jG083Bzgw9zACw5y4SEQRCRqjL3aQ8aQ5TW7xIfvmK 6 | zRh7BcRWoRKFTcBToTLKcWF5V/kmJnfRg+PRoRAG8K6sSKGcBcPPn6r7958K4CJi 7 | O9Ii23mbsJxD5qAKrC00XgIp25rjJdBUPYwiqwIDAQABAoIBACkx4Q0tilk59KQV 8 | HPAJk6WO7UuTgiuANwQveMF8pK1wx6rI/VqO+mLx/t+yO30O/qfGYxKXAKifGCTh 9 | 2ED8S0t/hO2snQKzUB4Skn9jg0QDQLPmVGScnCpJqWchct9dw4TiLI6hCZf3QreW 10 | f5BQ4qd9SHfKJ8v8Zs/vPY+3IKLIDPqKEJCGSQ1KVUlUJ5pXwp5NWO2mPmFSBEVa 11 | uhUU5W+7m+1Ng3C2csT4pEtVYNnjpJXqX0zovGBmLXzenGm6K6VVqZ8R5E7jzO83 12 | jfnUN1dTYjTDPy+lAYFifnDFOV3ukU4JH0YI4F5t/1e7xiShU1twd+dqQBZxhn2h 13 | zyxxStECgYEA9FP9vIv1uE4I/koJ1preAdu1qWj8TphnPlZab3mVlEfD9Xe9si1V 14 | VQvGQE+cuY9idz1lJ+2+QA2EeS+jD3NDEp0ma4MxmSImQKhSOoYtzTvQX/JL/v4f 15 | CQiZlJxKd3JRBd7VM7uz6Z5sAqcx9a7/qOwVeqNpHJSz5UbJKJtp508CgYEAz2rd 16 | AmvMTtMT3rnIda8ZC4HwzM7QPfmLRmX0t3ZdjKL/uT68BLNdFavsTVdRwvVM0aPP 17 | OsDeF4I03gYs8vmjaJgz4oB/ehS1p4dyt3BmEWTI1xUb1fhTn/ifU+reSATC+ktT 18 | nUQCn12+1q+hiEmU5OiHY2JVVcufAX22jWNt9+UCgYAkXSPUnhgSODsKbcaNFDua 19 | lzKwZhm3MOOc2YlYMgZbLVsy+4FWNX0PzVLSW4b97yM+j/qwOKgqLFjdGIPyVrtS 20 | 1+TR95K4MebzlJm4cCP8+bwHq64342aHF6qT/bbvlCoO751Xt8YNLTDyLCQ5ZrRS 21 | VeDUgeGxCUjFBQYHbyoR7QKBgQCT1DEiiZv6zhvKURUbMymhdwIdpoTqttFZ4k6w 22 | 906jboTeDWVJ4GBGktr/IG3oipYukBahZFal4Ko3V6Vvoxag9GF+XGD+rIXvmezb 23 | 6uMEIJW4HZZSQQOw7yz3TV0RbTtd0pQMcS2BUfoy3sg871yMbWIZJjt1w4NXN7cF 24 | PEljNQKBgQDHKbnpanW8r9viA3C2ayIEID+5SOTA7CaxkmRenN/hfu1H6sjo4G0R 25 | x7Uv2DCo233CVwkKek0BOTECBWP9Ru7w6q0iL5qfNdb3/tZ/V4QdYDJbct+UaRSy 26 | foR1ff69sdsTALQH2VHwv5PPaOdYQIhVjr94KRQQt3b8+7amB4m4xA== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/idp2_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxfXn4VbTfUit28Rm9lLj 3 | HSS7dRvtNde6GqBl1RP5u2Z5LY0MawBbCc5A1Fv2hqw88gQu3vbc91K4Qak5Tg94 4 | /pazxjbJcDg3Sb7pn8eWH0hINxf+tCVoFW7uaFh8p8AVEsPsCurK+MU4x5jRdodu 5 | y0CIv6oYhIcN2/+AoyvRe8vZflbOVWduP+xepEQksPgCQSe0e0jG083Bzgw9zACw 6 | 5y4SEQRCRqjL3aQ8aQ5TW7xIfvmKzRh7BcRWoRKFTcBToTLKcWF5V/kmJnfRg+PR 7 | oRAG8K6sSKGcBcPPn6r7958K4CJiO9Ii23mbsJxD5qAKrC00XgIp25rjJdBUPYwi 8 | qwIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/idp3_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAqMbVTs9lp989opA62iK8SXCgsPJO4On97IWOd7yPNPWm3AOQ 3 | U7JpaSNQaL6TkUafutabV7KPc/IydgyE2kg8uURgzCY1HcjKcsh9ufQ4DQm43HBs 4 | nhF78dh1f1xd8SRf3HOwODuNnnR9JIs7NZzKtxbFyu9SMiodOFq1NhKGJW3pfg6Q 5 | 7pAiHNmTIFeE5QUzxZm+q47LyVKWP+vpF85Xy5teyI9J2dru8RymdRGO5OmCn2SL 6 | BN7GhdOXJ0pTFYY1nuVbGxYwUJdxiUKGSJaWuCrTIMxFiYbNT60CuqxZ5s4p22Jd 7 | k6WD/6IhwEot7vwOUtPyEWAFoqcUoVDbqmGZ9QIDAQABAoIBAQCWcCTSCqth5urZ 8 | bBYJOcz66RlSn6kPcYKUwLcsozZCznPcyJBtCipLPN7/fl+qrnjR4Vi14sNbZhb0 9 | glQo/RqjSP+++I9/7OoHRg5LIhSUCoZsdwlaG9uOxpJ047AYsYOAzN3WQb8J7mtd 10 | l30/XHKUoAfNy2RIsqE5CiFcAUbxNISAOTFKQzAol2boLI8PotNcfjyJbt9BTB2M 11 | i9ppkbjOG8qsF2lOthnE0BiTrzG3vZzsWoMFbvTJtbL8sEkU9FiFx1Z701ISVM18 12 | fvMSD/5MiJlLN6cdzJDCTnAgsAqy5+zNpiliRyzgj/o8uzZtj7ki2iNFfNtUrrHx 13 | aQP02VRBAoGBANhajkhuEX3+KmJY6a0IJFmp7idF5qdYYGj50Gv6lJ2audsrgYvq 14 | m7YpjIMj0ihhpDm4gL1PlJ2L0nLus/AznNMGjZfc6s5Vbe+JG40sLo1COUGHgcMG 15 | qDeiKVgfb8RGLW7+MoGmL7ibRa2NwD8gocqjOqN1Qic3NMxxXRu2EwJfAoGBAMe0 16 | X+HVmRmV6+osGl8RCaW7rArq5pRHPwfu6Oc/q5aSZQQ+vHOnKyGF0ceWNaFhnfac 17 | Lo1FKaaW88Nys2PFYo9JLjL/KSXvfhIWQUTnYkkkk6fPNR0Y1dOG0BWKMoH7R1S/ 18 | g553qOn/5WqtArtfDHl0eag41E/LHP1fBfT5BEwrAoGARZIJAr1yHoOmeW2B5sQh 19 | fDuqezJ9Ev7WMatzG+W9+FgSv6ljxOwyGgeOSXUxVQ7g0jbEHxwB/A9EIvUjI3BV 20 | U35d9aFyV9scuNPr6h908LOE2c+LKH1xhkI87Tteo0y1u2U+NHaODdzQMRjN4v7J 21 | R/HpHzrLhPS5o6wodoq73h0CgYBvKwec7Yx2Y7CaAMcFWLSoH5qb0TteG3MI9YON 22 | BzJ7dS7qeAnrz4kA9j9a/VEJbw/B8hsv5OpUo/86M6WMypoc7T3cgZHkXjct1lmr 23 | A6sA0G2pon0Mn4CYaZl4BCAtnzWMBbg9BJtw91Q8V+cHatfE3IPEky4M5SJUIQtt 24 | 3Rj5VQKBgQCnufi2c8vL5LlVKn4Y4El4QdUF2BCGybN1Kmm2yJCsMDMg1QdyV9F3 25 | eZBpAdP2R0q8F5RO2fLP4eYNVJDiSieq1A0nSr7Uv7LCSzRaMihTHlTZ1gfnjPt2 26 | dEBY6kIqm8Ftc8VSY4BkdA8+gzdL+M9D7hyOdYCYMDDkGMNfmG+/mg== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/idp3_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqMbVTs9lp989opA62iK8 3 | SXCgsPJO4On97IWOd7yPNPWm3AOQU7JpaSNQaL6TkUafutabV7KPc/IydgyE2kg8 4 | uURgzCY1HcjKcsh9ufQ4DQm43HBsnhF78dh1f1xd8SRf3HOwODuNnnR9JIs7NZzK 5 | txbFyu9SMiodOFq1NhKGJW3pfg6Q7pAiHNmTIFeE5QUzxZm+q47LyVKWP+vpF85X 6 | y5teyI9J2dru8RymdRGO5OmCn2SLBN7GhdOXJ0pTFYY1nuVbGxYwUJdxiUKGSJaW 7 | uCrTIMxFiYbNT60CuqxZ5s4p22Jdk6WD/6IhwEot7vwOUtPyEWAFoqcUoVDbqmGZ 8 | 9QIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/ndid1_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA0USYCXLXL2STCAZOGG+nK3IwXlniQdmEOwB3d+q6xbOc0Cwo 3 | VCSG2MphH6Q3Tt9iZYOCiexoowQXfKc1o0FvrsEDWHLHCXl08xsrtJtrBbKS5j9m 4 | iUX0zvXKiwGlOwNY+wuAx8asZSRNWX+Ahxn4RDCiWD0z778pM9wfDGg+UPvzhe5U 5 | QKWFZCr/7Cn+frzvZbv8wlBCSnzo9kmGb8i0FdW20ooTtbbe+fjqi7n/JuQweaR7 6 | +53CzGL2h2ExyzU0ngMQblW8/QFspwEmprlxiVdDqaj8u4xvKQ2vRXOVQXj/cZ6/ 7 | WDcg4IJB5DAbRxDrQTgpu8lA7yNoTIrFpdyeuQIDAQABAoIBAQCZvh9Esc5Nz0IG 8 | Hzu40C6syJOofbiwUDHJdypOO3FEVhTbC9YFG2DGXMjGCktn8s3Dbr60va6SNStc 9 | NSw+6JA4fy0KCikYWNcG0+tkINqbsPojlmiqaW7VrdZEEc1mcasppOXT365AEE+T 10 | dQzkNLwkvOZIlY5WkMaghxN4dg1ySJPYdVofqdd4+NfscYNuN23KL/ZASKimxJse 11 | KIDRkcdh2FrWqvvPoGCK/1rpVB69y0jlmQ4DktUCRT5eobkQb5qyqwvrKJoSS+OQ 12 | f4+fuIxcTZ1T0/+NOyJbvlVmUU2THqDSuSTDs4arbdhlFmEwnhIPu6+t3Yvjjuut 13 | e0VLK7MRAoGBAPFXnt3dpQ7+fAFmeW5opn4HtR3+rjbPtiTfrl11leRWqlJrBB0s 14 | hNi+xfb7yC7NfGKxGny5wdeBw0umP8c8Ex4BFytTR84pF18alBxQDAYaIXgtHZWe 15 | RWSupSAmvsZVt3Xb5qckVI/itqmX0nX2VH37YsGwgKncqd6LpHAf9I8XAoGBAN36 16 | SHkPoeOtYCDtNqgeytCNnWE4JMBi3WKEthcqStbJ03e4gFBbZ6klRcNjHgd3EDAJ 17 | I98TZ+EOS95/Npm9pGaGbqKnSo+N2QzSyMnxkdBNiGPiMoczbJoa9H6tL5Zud3Dd 18 | UTQvwe3UqSRfmS7xwhdR990CLKf+1GXk2QxZWGKvAoGAHEr8WeA5EHfvC676v2HP 19 | WukGZ5zKyawyG0KJy3UUfG9Yik73bYAhltNOm/TKdAos8dj3VPXl7qDMx1qXEYFO 20 | cG8KS075FQcmMUUJZgRQVIrNr6wCUt76HaKHwywno1K7Ljr4YFHXBAM9DMa6qo+V 21 | Oiu1WSWa/87ZrzhJr8dfQUMCgYEAwuJ0MmU5Gq0i0oWxENVH9uX+IFasXYPvHgmp 22 | 3Jiy7/RuBpQjg2lcjzI8F5izypYLzkCYD8f30a09ivBhPYU0CxdHluINIg/FWe7N 23 | fg7ql9kaP6dd+Tl6xamYsobWWtpNXvfPzWOIfYfRoC+WS5LRdqvuU0kPb8bZL0RG 24 | EwN2B90CgYAzSL2D9msXVbNYd2RcrovPVpY5jmhVXb0Rpw04qiLvPEBCTzPTeaug 25 | pZn3GWkYufdUcgxWM3nP5khvbvfZBh4I6ZjNKkGKBJ4ZF0XGszeg/TieXwQ8Hz/R 26 | 3V/W+/xDxkNJPOV54BvLxThUOF6Ld6hNe9XDyrysMu561CquSY8cIg== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/ndid1_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0USYCXLXL2STCAZOGG+n 3 | K3IwXlniQdmEOwB3d+q6xbOc0CwoVCSG2MphH6Q3Tt9iZYOCiexoowQXfKc1o0Fv 4 | rsEDWHLHCXl08xsrtJtrBbKS5j9miUX0zvXKiwGlOwNY+wuAx8asZSRNWX+Ahxn4 5 | RDCiWD0z778pM9wfDGg+UPvzhe5UQKWFZCr/7Cn+frzvZbv8wlBCSnzo9kmGb8i0 6 | FdW20ooTtbbe+fjqi7n/JuQweaR7+53CzGL2h2ExyzU0ngMQblW8/QFspwEmprlx 7 | iVdDqaj8u4xvKQ2vRXOVQXj/cZ6/WDcg4IJB5DAbRxDrQTgpu8lA7yNoTIrFpdye 8 | uQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/proxy1_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAseqJ+T3GdWDZKG2bBcvi0Ogm8MELzsfpRYXBX3Ck5Oi1aVFz 3 | yRtNSZXI4XS93fhRsLAK3E/a6MyPjy7JnKnj0c1VXh4NRQyg0UjFtZjLk1liCSsL 4 | DUmxgKHpSOhncxHkDB1VtJAVHWV5Dv6N2w0uK/bBQlgQpCJkmHcLuEf0RAfv1tVB 5 | CYMyvW8ZsNggBdz/5TmSZam0GV3BMGYBixLlFM/4NpUsk/boJFRK1mQYzYHSqRwn 6 | 5Jzh2PlUYVWBAa1OJKEFMs8Uk7NrzUriwQPyFbRKW6fiEkhaPVJRb+aVMx96n0vx 7 | FyYoWhJyI1XTvsWZLBwf7G8MHr0LJ5xEj2pMCQIDAQABAoIBAHUf+gTi7iuHvm4m 8 | +c8vEfqFWl1UOPnAEYl7LHowJd2sdQEIZjkWiCLRQJVrzTK7rsuqmPvAdlSblkak 9 | foVsMlaD3pc/IW07iwM77SxHkn1GcoumkngE853C+VjN5oySUpbHGQztbXkUvEVq 10 | vuheHO9EWqXaY9op6h+U/1opxFyj40tMKd5RUjNJfkfs7G520G3UhyDvdKVyGaxQ 11 | 5lVkqlfLYAIW9mNdLzf4GqomW+bil1EpFtrjyKWHia12sNMxweKeleAAAOj5YOXk 12 | 9cJwNsq5WjTctVh7M0u3OKibxmtWTn5fhX5JMTSgQPxnee8tSB2lD/bv3zFPlfn7 13 | bPIAuqECgYEA5M+tDWqyTI3cu5uL4v52r+yb/c30bmhzfNhm7MfieEo00CNVgBhp 14 | 7FhJOuFN2ys23olh3od4bzrbrI20fu39x+NKQANRTtK1jf1UnwFOfXqp7Qi0ufNL 15 | 9v/JqVrC2+ywwnGn4d084nRogB0+l8qaONfmY04HaCRXzD6ufJaL+T8CgYEAxw6p 16 | DJYQE8aw4XgDoe2Cg/g01aPeWOMMvBHemLx6bjyLilnXVY2dfMl74WCAxcqOLif8 17 | IDtsfA5g+KL4mTTyMCsGl5+sSWEjZz0/iPZPY9TnfjsILCAG50IHRxrDFS4l2ACO 18 | oMdshxW9wQ5Arzdj3ld0XM1+uLcLWAL7IFO84LcCgYBL2kUGM57UHhtU3mXrZGw4 19 | Ofokk4g6qcnPU3YbfNApDIChl3Uat/01arcsG9DRnWvdLjIRsVtNlHeKppd1lLQS 20 | 9diBjBgCR3wEjDznUWmR035NpBs1oeBHC9jwmbQLcFXQwBjlmZA7ileyUP+VFoc1 21 | 3Oz1csKl1ZZ9kTIK/2V7xQKBgCmSZz3IrUzkBxbfkKqlxsc29BnWIl6f9I3mkX2G 22 | h280V9QqFS256LUiAyw7kkk8l1sOYLp+jpaODjR/HLoqc5YZtkO+RiYBEnrCMN2y 23 | yzvHQB19yKQmgCqWAJ0Z+roWrDKjUyZC3+iKYtnJ1zqAr+vEifnDtP5ww/66iKXk 24 | tyKbAoGABPfoER2AUPJw+owP2wCEUoX3XLzgGoMLCy2GRwWnDwK6bKJRjDk7zjaK 25 | VW0/WzJ64ELG7mGJ4qo01xUs0oYPYYzctEtCsJ1mZLgTbZLKXVPRF/hpeqPgqTiG 26 | qWBbMkJQpXxsJHRJQJ1L039ew5B2WmymAqNNwYitmwicOS9e2Y4= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/proxy1_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAseqJ+T3GdWDZKG2bBcvi 3 | 0Ogm8MELzsfpRYXBX3Ck5Oi1aVFzyRtNSZXI4XS93fhRsLAK3E/a6MyPjy7JnKnj 4 | 0c1VXh4NRQyg0UjFtZjLk1liCSsLDUmxgKHpSOhncxHkDB1VtJAVHWV5Dv6N2w0u 5 | K/bBQlgQpCJkmHcLuEf0RAfv1tVBCYMyvW8ZsNggBdz/5TmSZam0GV3BMGYBixLl 6 | FM/4NpUsk/boJFRK1mQYzYHSqRwn5Jzh2PlUYVWBAa1OJKEFMs8Uk7NrzUriwQPy 7 | FbRKW6fiEkhaPVJRb+aVMx96n0vxFyYoWhJyI1XTvsWZLBwf7G8MHr0LJ5xEj2pM 8 | CQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/proxy2_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEAsePr4UPLEm3trqAT4zRIX1RiK+xpYB42bY8kDkPiwozg83oR 3 | kUXzKMjc5KRTYHlIxMzTANmAusUJESoIOGmqMjElu28AsrCg/hQMWTQRB1eMlaaU 4 | qK50QDIPRy0GTFYRStgvOrFmCE4m620WTEszK5ovuEM9rk7KGfip8x2Gft5hAjXx 5 | OBTgutPMgMGXO/c8Yp6PQbJK/tiuaIqAW8Ir3JB4FpvXgHnUtENItYt8DifHxdTQ 6 | PfTUa/+luA8biZZ55DM3oAbWFkTpozSTk70fXNi6i1cPXj7z4p98xakyEx0YS3Ln 7 | KUI0jbYwiBHxhDjpBdVYNXdYB2A0ato9eXCcBQIDAQABAoIBAB0k2zNHuRBm5CbU 8 | 4Q07NpQvrfnGPKlbqc0fQ2f25UK8c+pP2Gr1i9XlupLW/TX0COD9MaCVAcsXltmy 9 | CjC71v9sH+NqVzHvUCDwRemjZxrN1CF8biSImFEgInKlxL9i5mhdrLcv8yhvLV8q 10 | uxl6xIJjO2gz0/onvGKu46EJ+Ev2er49GNbHRTAOWmMaPntoHl8pqNzuyF8GnS47 11 | ZX0SXu32aQhQRN/P93Yyre6WzPwXP1yQF+RoJBHEy9URrU8bXE4RNJz2w5lRNiK5 12 | g75FoiV7u+5dxReYssa+Iw3anC2fKYPapFN/sp4exACiROSIlOIzux8FSWc1q/+r 13 | lYZMS80CgYEA6GxbMER9/ErLeGRR95kCAiJ0ytBQSkpXmtDknD5ahak67x/mukDc 14 | omSM/6yS1IhiQ9ZFLc47vlRvFg3utbDhpUT4jSEy7lVO2NE3QH7gcRmpdtOhHZ0F 15 | 0XPoAYQMLnBS7XA3mJXmB3WYgc5NANWuj5otwanE0e+bZp7G95jk9B8CgYEAw+9v 16 | h+YRZbqx+7cKnJG0jB68HR+6z1TMs3Amjaxw7I15wJhzIwQ5t8eEyNmN657A1NbA 17 | 9FMQLDJLsFsx3ZcTNt4vkBjwQ8jz+weMfUO0Qdi0oZWTMcmrJE44mFIk9wqX1P+E 18 | QvX5J37YapLNv9tCGIB0aer8vH2BD8MSmchfi1sCgYEApO5Pf177MA87eAFokRUI 19 | 8c7Vph5Q+4bpx7i4oY812WePpKS0rDLe3nYQAFbMEvl9Ebp5eNnCV3u/IJ1eaZxN 20 | Y2QgJLYMWEg9HWrJlID0cA3Pzby7tjH5MPrZBkpYApQ+pLNfIG4uv9hZErP8vLzl 21 | lI3KLoV0X61yT04Yzxa2Ue0CgYEAg8O8hG7TGk+gLAAfccWG3og4x3k0HwQPGUj9 22 | lF74HgzSaRPcshrAWfgiMxQjHeZIFZpKbsSBZsd4ISRi93sGn+pxn/01btBwS0v7 23 | Ta4/RdzfNJ8rOts9bY/w/XaYh04nZ0Vig8l5AfeKwLjzBugDngicwTIXPwdDyP7N 24 | vn+CyWsCgYBxVFxLJc5fHMqHCpX866DzHE0B59FBJZsgPxT6EaSRTba9wBiXOY1l 25 | U9K1D2yV7po1sOwkbg1uLWjJAw7t9nLtPgCRo/DY5q9m12e5zqQb0dmdhaYWmwuD 26 | 24AlUv9uK7lqKe7pHrozIbg9PrU5C8ky2xRp+0ZnqUoNNOezCyxv/w== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/proxy2_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsePr4UPLEm3trqAT4zRI 3 | X1RiK+xpYB42bY8kDkPiwozg83oRkUXzKMjc5KRTYHlIxMzTANmAusUJESoIOGmq 4 | MjElu28AsrCg/hQMWTQRB1eMlaaUqK50QDIPRy0GTFYRStgvOrFmCE4m620WTEsz 5 | K5ovuEM9rk7KGfip8x2Gft5hAjXxOBTgutPMgMGXO/c8Yp6PQbJK/tiuaIqAW8Ir 6 | 3JB4FpvXgHnUtENItYt8DifHxdTQPfTUa/+luA8biZZ55DM3oAbWFkTpozSTk70f 7 | XNi6i1cPXj7z4p98xakyEx0YS3LnKUI0jbYwiBHxhDjpBdVYNXdYB2A0ato9eXCc 8 | BQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/rp1_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEAr0Ij82dbuKpQNeVkoRZSNqRFm/oUGo+DqkYoc+O6Ui+Cpc8n 3 | KKeCCFtvc0yLukMX3SVEUUnjubChzhUR2NTABY57GdOU//1oC7gNqBYYZ2t6eJdz 4 | ql0Fqpp21diyPrrKmd3Q+tlBnCSohfa/HmGQe+LgAZbOfkPajrqa8QlYV+k7Aymy 5 | XckYhxsiQVb9Me24Shvpns8kplkSvaINl9vVk+4ZPWBxssMazrkIE5XHavHiqNlY 6 | jiHrmp/xmZ3qvovD8pWo/9wHYXJd9MN5Wkw9vUFTmvkEj5H/wbt0keNPI9m5VbJk 7 | VnnvbQydi+c0lumkCmCtQ8vPsZ5yviWEkk16CQIDAQABAoIBAQCVtYseTkl0qtAP 8 | 6h+W14ltMdBgmDR6J+QSHRJLRNoRgJI674UE3mpelzTSKi4l81A8UaxVQCgupCrj 9 | 7u2q6roJRRf1DN93+VDayeOolQ9NsOsSflWIzyObA43FyPEiUs/kti3hSpsYNdxb 10 | a1cBLdiNa1VtJhTImU/mopLemdwEY0ZqrZH6xXaFmBjFEackaK8ia6kLWhbV2fvF 11 | pcZRiEBju0r3WAPbR3OBfR4zFjnPcO27fYOTbzulFNelAaOAZeBFCx0yIpYk7rlu 12 | zz5tVEvnvNdgboPRO0xTDMFTCD/NN2jX4TFADsYIRkpR9U557GKeVaiPbiwbw9Fo 13 | cgS6zFG9AoGBANSSMK9B4FhDgdm9qBe+m2iYlps5ANP6s/vHdr4W/TskTch30hz8 14 | tp/iTybpqG3A4dnkSgx4cpyLDw9uBizN37frbsUF6WcEvu3kRnOAiaQiR91soPUR 15 | gGH414doOC94s9gDzZqSIU9YK9/U+KmbgxgYwanqjZxeyQXIQGWf0RLTAoGBANMQ 16 | b5+ZMEluFPxFY+22mPx8abiL4hZNpsYyvPt8UlGZrLtqgIwqEaAlgJpxuRaHGZ46 17 | eSjvBu7K3Jn3WNYBtpWS9Z81jjATAF6AmgJEeiy3oP7THxGARuadSJmPFhnXNMKE 18 | HeXAYHsjNlK8qcsOJ4IFqHAptt69jxqjtLB7hh4zAoGBAJq+1bwvy77VXgkB3QV0 19 | F7RcKH9VTvoCLtYijZmyKKTON+Ww/H9npRbda9ubC6biXEf/vbw4Ts8RGGSWJt6k 20 | /LDqLhg1xoTdWpTZskPRFeIrpn9V3hKpq/kmathDEWvVha7CjgFxUdhuCnqGkoL+ 21 | F8AJ/anRe0eTZOnVrrOMVWpLAoGATk0FrCbPlB5DqMcxaEnafajGK9GxQWbzXQoL 22 | tByOCXnCbBD5uYYN3eSrziAscyARr/KvajEq2EHoDzKFAXfHPbw0ZSkgI9OYynZZ 23 | LEgtLxO8pWy7VOnK49krytQbdeCx0Qvkb4yr/mK0z4LwVsVcgM8KivnevsmCInbj 24 | HKnmuqMCgYEAkNXaiJj+MuNdu4zUq5dJ/PeMxYnBEDXGDIqo1n+/6SC7FlbgsnoO 25 | LxllR7o5Dq2qk9ON60uoGqYHgoeTqToH7HydCz4oeJVmrilrdKzorjIDaEPahbcZ 26 | eGDyZ2HdeKO7JiTsLP+XaDDugkRKw6DIVtI817WTdeTKjKMI6DivPqE= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/rp1_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr0Ij82dbuKpQNeVkoRZS 3 | NqRFm/oUGo+DqkYoc+O6Ui+Cpc8nKKeCCFtvc0yLukMX3SVEUUnjubChzhUR2NTA 4 | BY57GdOU//1oC7gNqBYYZ2t6eJdzql0Fqpp21diyPrrKmd3Q+tlBnCSohfa/HmGQ 5 | e+LgAZbOfkPajrqa8QlYV+k7AymyXckYhxsiQVb9Me24Shvpns8kplkSvaINl9vV 6 | k+4ZPWBxssMazrkIE5XHavHiqNlYjiHrmp/xmZ3qvovD8pWo/9wHYXJd9MN5Wkw9 7 | vUFTmvkEj5H/wbt0keNPI9m5VbJkVnnvbQydi+c0lumkCmCtQ8vPsZ5yviWEkk16 8 | CQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/rp2_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAwkyFO6VbD0xFk3JKZ3EcNlKl+PHBU6xKbF7D/+QTbD4ApFUY 3 | wtFIoTMwI/0uNEHvcJAflFaOFn9rokrjqTsUllaWBNK7EixgsofJaEFj8XmJth95 4 | rsNyF/DN852TTDrzGJ74/fnjOSvVfkSFN9B6gmQLJ/fESQz3R+anCio/3M1Rg2aY 5 | C4idnMSP3hYDZQnsfoG8KrJsvZ9tDar4KL4+WrD85YY1dMRZj6A1BpV09/cysze7 6 | fpjLvzk8DrnQn875ZRoGf4e047j1nY7C8ty9rdtTSB6J4tf5BvlMkWr7MhgzfYiM 7 | ogxYuKxvMYMRF4BbYxHyVhm+h0SahJYU3P2vNQIDAQABAoIBAGmUYyGSLPUXIQeK 8 | J1wmXoo2RvILjF4HVTmmFSNLsDI1Tuv9QcM7LhhKVHJ59U14NsAX0NEuZ29aNgau 9 | Yx9mdz1qN4LPb8/kRXc9yffY8JIa1PYeDGUm1yyjMYabrZrSvZ43ZF2+F/bNFunS 10 | GgHGS4vnCRjizcpUPVrYvxQK+UDlbadHhmhptpQ3k8OQssduNCMWfXLfaJGyl9qV 11 | 4yUFaVSoI9B5vv7EVHkYeyeb7vc+hobqq0iaRuVS081EJgoagZFjlei4+KhaDCp3 12 | y7v3LnEhQ+pBbqI75IgYEFpBwWNIKWNm7Om72PKD0I6WVsEgsmlZrmwfWrV4bhKS 13 | lazxAQECgYEA8bG2dABm1Sxfa35GDbNWJG9XFEXKaPc7LD/osuyFLyxKP7atcSpx 14 | /AzT3m2x3qur5lIJUK52FFUC4LTd8VMIBkNHrwOBBIoX7S2z7k1W3Wtzs09WP4cd 15 | d7641ptJoPZIRNH7aVJHBnjq4lcTW0C9cAGGH2v5CLm57PV7LNLg93ECgYEAzcyl 16 | xu/1TqaGJvfkCsyF5IRLACkE6rjTWUtCVHRC2P5Bhwi8azSlU7llVqAViy0OYkey 17 | RNVxppiyG4QDW2MznWMsCBdsNeeR4C1YpNRt2UxxMUy8Q8al1umsqQMyx7kGu7h1 18 | s2x2UFWTO85lb3O8QHNQ0lOWAfBBIKt7Hd79egUCgYA9WwzjQ9rXEO2kPykPf1BF 19 | 7ZHgjpsErIZ0BEFRcqOYxxiONhSvnsPS5Xq/g39c9J2t2XON7MwC+1XAr4mMIrTt 20 | yhSfhDczbM8IIcsEmtOLYCS+B0zw0Z8Ub/FCYad+WicceWXmZcGsDfQqw0ohpzyv 21 | +2MOBP3yThu54NOFHH+JsQKBgF+jUwb4TI+YY4+Ic7lxAmgH8rLIXTiXW+CLUO/e 22 | d5JP1jPio21OseYOqkFvc5OSBLU3jGjgqEg7fcm7t7Oojjv98mBwQiFq1CfR6vfu 23 | oH3zQEcg2fzFPBx7y3lfuyGFotNqDYisRu9eVWXdrNX2eu2YqV6U6YlNFXcROc3P 24 | 6wvhAoGAFghKJzk5q3C1oHi27oGJS//hVLe5bOd1Latqm3yC/1pGuTTZiB/2sx6w 25 | 59auqg+Tp7Zk4tVlESFtRE02EeIwQmJbQQqL7gjKWwORdC/XxqsHsBrL0Hj/+Lk5 26 | 21Ckj8Bnndy6zeED1AyeW8FF3uc73tsNruJdbJ0K1hABjc50x2I= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/rp2_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwkyFO6VbD0xFk3JKZ3Ec 3 | NlKl+PHBU6xKbF7D/+QTbD4ApFUYwtFIoTMwI/0uNEHvcJAflFaOFn9rokrjqTsU 4 | llaWBNK7EixgsofJaEFj8XmJth95rsNyF/DN852TTDrzGJ74/fnjOSvVfkSFN9B6 5 | gmQLJ/fESQz3R+anCio/3M1Rg2aYC4idnMSP3hYDZQnsfoG8KrJsvZ9tDar4KL4+ 6 | WrD85YY1dMRZj6A1BpV09/cysze7fpjLvzk8DrnQn875ZRoGf4e047j1nY7C8ty9 7 | rdtTSB6J4tf5BvlMkWr7MhgzfYiMogxYuKxvMYMRF4BbYxHyVhm+h0SahJYU3P2v 8 | NQIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/rp3_master: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAy2gcy4pSnJzvweIdV3lM4FyNEOv/dIA2j5FFwR835R2QZJms 3 | 5Ys1fY65icP44w+XTrSY1JPCWXCu+tBB6FEybJiqfJlO0tgH8OLe3S7qe6L7AYYx 4 | Rfem2J6kchahjZvhG75nHSIAEWwLm0nAkuYSw4zrlLtEP7NOkXTe5VuRWU1AKyWM 5 | caH3vSQAgvhVDECo5xlynABBLWbdHpZGjD5DYnhJPs5sdYanZMhlcT9AkovB+65l 6 | 2eMugu7bta+6oyFzvkv7uzSFxvjwUhQ0FJ+sFGh43/e7S5juDpoACe8Ua/+tU+Ri 7 | ok/REalxAxBZv9Xv1Lys7hCCHRZswxUaEqzB0wIDAQABAoIBAE3I5KoZnXnyseUs 8 | +ReIdZOfEPsVpL0CgtroLQqrS468fYlbEzk8wRngyKccYENEpRIeEgvI7ZuScffM 9 | SEf1NRk+UIQRhIkwv+ioeZ2P4W+iZeaxUIp3KEDSegR/Dwy+PZmEeJ41cF05Oj8K 10 | NzB191r8uuJHstPBWBxb2xlOqQjCyLQ98QIoqK5kBgyp/r8CQlSj89SVvCbdDJ9b 11 | ZBUPMM+Yd1vNx74cqhG4Ja4kYalSJDo7L7+wSIxJbZOFI+csmyzIvUJg6L+anrYJ 12 | QC2kOGAHtCy+0cCNK12gTVXMnLFyGSa2PDQoTdWI1CHXAGmGMnb8XlnL35ryXtiA 13 | dVrr47ECgYEA+fQ/aon4zZd5Ef/WZcoyI9JZE7XrIsqm/2b48/RpqF/27CoDc/Dw 14 | t/vWtRpEduLPsijpYbGmSSOigizQkH6H1g7lnNHbpBzaFJDauEBUzNkEFyvVfej8 15 | GORNZThbb3FCt1dWWTb9bnr4VcDdIesz8LdxqMsJ3fkfvVwrnhSQRH0CgYEA0FOi 16 | 7XY4WGNwVfrT3BXGrTcsB0rS8MgGnj045dKc9RMfK6O0cR0GdUeKOGqnB5Ho6KgO 17 | zqTQzUz5Lu4HzfEx1NSFV1dbgWA2sjxVBS/fhAMwsX78pQzSCBEndFQpXbNugZJp 18 | B6iF3fvE95pCZP6Wo1A3AI9cREHaG00Dx0K4gI8CgYAz7UELchRlKbW2Po8c4G+g 19 | L3/f72gk9zLQVmUb0Uft+dnDYEsNWB26KzCEuStGA4KggY1ShWSFR0jogETn79Fq 20 | b/fVp2dY5cGMijdWFc9IK0GFSs70dGWDClLl11pvgXkZu6QtrpXh0NwsfH+0HzfQ 21 | J1wOc/fdzHaCkVZiZeU+xQKBgCm0lKl1QVJwlcygqkklEuEaanYLRK9vW+PR3dIk 22 | l8d4TIUwAK+kX+aaq9EfiNC7JSVuf4he9m4jOr9qZ6WS46b35LnXgzojSM/lxB+F 23 | tfl3qgfepDVmm6WByaRANQfNJBJMfTpLQoFuJcBr4V7WmNGY/WnfSVlg1YkhoeAC 24 | O22BAoGAcRW3EVpWAZ1rwSOsmRzz9s7g0O6zxDNyHFmIQMIRkASyxw5+xW+bPpJW 25 | 6QdKGQrI7QabHS6mrPqmsdSVWmdeuAy744F+U19pXd8uVt3H45bi5MrYoQZS2uGv 26 | gJ6lKBxfJFZvzjZd4zWi6OdUsR2IJhUnrL+E0+uJGgH5ztDACNU= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /main-server/dev_key/master_keys/rp3_master.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy2gcy4pSnJzvweIdV3lM 3 | 4FyNEOv/dIA2j5FFwR835R2QZJms5Ys1fY65icP44w+XTrSY1JPCWXCu+tBB6FEy 4 | bJiqfJlO0tgH8OLe3S7qe6L7AYYxRfem2J6kchahjZvhG75nHSIAEWwLm0nAkuYS 5 | w4zrlLtEP7NOkXTe5VuRWU1AKyWMcaH3vSQAgvhVDECo5xlynABBLWbdHpZGjD5D 6 | YnhJPs5sdYanZMhlcT9AkovB+65l2eMugu7bta+6oyFzvkv7uzSFxvjwUhQ0FJ+s 7 | FGh43/e7S5juDpoACe8Ua/+tU+Riok/REalxAxBZv9Xv1Lys7hCCHRZswxUaEqzB 8 | 0wIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /main-server/src/core/common/thai_citizen_id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import * as thaiIdUtils from '../../utils/thai_id'; 24 | import CustomError from 'ndid-error/custom_error'; 25 | import errorType from 'ndid-error/type'; 26 | 27 | const CITIZEN_ID_NAMESPACE = 'citizen_id'; 28 | 29 | export function validateIdentifier({ namespace, identifier }) { 30 | if (namespace === CITIZEN_ID_NAMESPACE) { 31 | const valid = thaiIdUtils.validateThaiIdNumber(identifier); 32 | if (!valid) { 33 | throw new CustomError({ 34 | errorType: errorType.INVALID_IDENTIFIER, 35 | details: { 36 | namespace, 37 | identifier, 38 | }, 39 | }); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /main-server/src/core/identity/accessor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import * as tendermintNdid from '../../tendermint/ndid'; 24 | 25 | export async function getAccessor({ accessorId }) { 26 | const accessor = await tendermintNdid.getAccessorKey(accessorId); 27 | 28 | if (accessor == null) { 29 | return null; 30 | } 31 | 32 | if (accessor.creation_block_height <= 0) { 33 | accessor.creation_block_height = null; 34 | } 35 | 36 | if (accessor.creation_chain_id === '') { 37 | accessor.creation_chain_id = null; 38 | } 39 | 40 | return accessor; 41 | } 42 | -------------------------------------------------------------------------------- /main-server/src/core/identity/operation_type.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | const IDENTITY_OPERATION_TYPES = { 24 | REGISTER_IDENTITY: 'RegisterIdentity', 25 | ADD_IDENTITY: 'AddIdentity', 26 | ADD_ACCESSOR: 'AddAccessor', 27 | REVOKE_ACCESSOR: 'RevokeAccessor', 28 | REVOKE_AND_ADD_ACCESSOR: 'RevokeAndAddAccessor', 29 | REVOKE_IDENTITY_ASSOCIATION: 'RevokeIdentityAssociation', 30 | UPDATE_IDENTITY_MODE_LIST: 'UpdateIdentityModeList', 31 | }; 32 | 33 | export default IDENTITY_OPERATION_TYPES; 34 | -------------------------------------------------------------------------------- /main-server/src/core/message.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import * as tendermintNdid from '../tendermint/ndid'; 24 | 25 | export async function getMessageDetails({ messageId }) { 26 | const messageDetail = await tendermintNdid.getMessageDetail({ messageId }); 27 | 28 | if (messageDetail == null) { 29 | return null; 30 | } 31 | 32 | let message; 33 | 34 | message = { 35 | ...messageDetail, 36 | }; 37 | 38 | const { 39 | purpose, // eslint-disable-line no-unused-vars 40 | creation_chain_id, 41 | creation_block_height, 42 | } = message; 43 | 44 | return { 45 | ...message, 46 | creation_block_height: `${creation_chain_id}:${creation_block_height}`, 47 | }; 48 | } 49 | -------------------------------------------------------------------------------- /main-server/src/data_url.js: -------------------------------------------------------------------------------- 1 | export const dataUrlRegex = /(^\s*data:\s*([a-z]+\/[a-z0-9-+.]+(\s*;\s*[a-z-]+=[a-z0-9-]+)?)?(\s*;\s*base64)?\s*,\s*)([a-z0-9!$&',()*+;=\-._~:@/?%\s]*)\s*$/i; 2 | -------------------------------------------------------------------------------- /main-server/src/db/cache/redis.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import RedisInstance from '../redis'; 24 | 25 | const dbName = 'cache'; 26 | 27 | const redisInstance = new RedisInstance(dbName); 28 | 29 | export default redisInstance; 30 | -------------------------------------------------------------------------------- /main-server/src/db/data/redis.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import RedisInstance from '../redis'; 24 | 25 | const dbName = 'data'; 26 | 27 | const redisInstance = new RedisInstance(dbName); 28 | 29 | export default redisInstance; 30 | -------------------------------------------------------------------------------- /main-server/src/db/long_term/redis.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import RedisInstance from '../redis'; 24 | 25 | const dbName = 'long-term'; 26 | 27 | const redisInstance = new RedisInstance(dbName); 28 | 29 | export default redisInstance; 30 | -------------------------------------------------------------------------------- /main-server/src/db/telemetry/redis.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import RedisInstance from '../redis'; 24 | import * as config from '../../config'; 25 | 26 | const dbName = 'telemetry'; 27 | 28 | const redisInstance = new RedisInstance(dbName, { 29 | dbIp: config.telemetryDbHost, 30 | dbPort: config.telemetryDbPort, 31 | dbPassword: config.telemetryDbPassword, 32 | }); 33 | 34 | export default redisInstance; 35 | -------------------------------------------------------------------------------- /main-server/src/db/telemetry_events/redis.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import RedisInstance from '../redis'; 24 | import * as config from '../../config'; 25 | 26 | const dbName = 'telemetry_events'; 27 | 28 | const redisInstance = new RedisInstance(dbName, { 29 | dbIp: config.telemetryDbHost, 30 | dbPort: config.telemetryDbPort, 31 | dbPassword: config.telemetryDbPassword, 32 | }); 33 | 34 | export default redisInstance; 35 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/middleware/helpers.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | export function routeCollisionStopper(req, res, next) { 24 | if (res.headersSent) { 25 | return next('route'); 26 | } 27 | next(); 28 | } 29 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/reinit_node_keys.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import * as nodeKey from '../../utils/node_key'; 24 | import * as config from '../../config'; 25 | import logger from '../../logger'; 26 | 27 | export default async function reinitNodeKeys(req, res, next) { 28 | try { 29 | if (!config.useExternalCryptoService) { 30 | await nodeKey.initialize(); 31 | logger.info({ 32 | message: 'Successfully re-initialize node key files', 33 | }); 34 | } 35 | res.status(204).end(); 36 | next(); 37 | } catch (error) { 38 | next(error); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v4/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import express from 'express'; 24 | 25 | import ndidRouter from './ndid'; 26 | import rpRouter from './rp'; 27 | import idpRouter from './idp'; 28 | import asRouter from './as'; 29 | import proxyRouter from './proxy'; 30 | import identityRouter from './identity'; 31 | import identityRequestRouter from './identity_request'; 32 | import utilityRouter from './utility'; 33 | import nodeRouter from './node'; 34 | 35 | const router = express.Router(); 36 | 37 | router.use('/ndid', ndidRouter); 38 | router.use('/rp', rpRouter); 39 | router.use('/idp', idpRouter); 40 | router.use('/as', asRouter); 41 | router.use('/proxy', proxyRouter); 42 | router.use('/identity', identityRouter); 43 | router.use('/identity_request', identityRequestRouter); 44 | router.use('/utility', utilityRouter); 45 | router.use('/node', nodeRouter); 46 | 47 | export default router; 48 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v4/version.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | 24 | export const apiVersion = '4.0'; 25 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v5/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import express from 'express'; 24 | 25 | import ndidRouter from './ndid'; 26 | import rpRouter from './rp'; 27 | import idpRouter from './idp'; 28 | import asRouter from './as'; 29 | import proxyRouter from './proxy'; 30 | import identityRouter from './identity'; 31 | import identityRequestRouter from './identity_request'; 32 | import utilityRouter from './utility'; 33 | import nodeRouter from './node'; 34 | 35 | const router = express.Router(); 36 | 37 | router.use('/ndid', ndidRouter); 38 | router.use('/rp', rpRouter); 39 | router.use('/idp', idpRouter); 40 | router.use('/as', asRouter); 41 | router.use('/proxy', proxyRouter); 42 | router.use('/identity', identityRouter); 43 | router.use('/identity_request', identityRequestRouter); 44 | router.use('/utility', utilityRouter); 45 | router.use('/node', nodeRouter); 46 | 47 | export default router; 48 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v5/private_http_header.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | export const HTTP_HEADER_FIELDS = { 24 | ndidMemberAppType: 'ndid-member-app-type', 25 | ndidMemberAppVersion: 'ndid-member-app-version', 26 | }; 27 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v5/version.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | export const apiVersion = '5.3'; 24 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v6/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import express from 'express'; 24 | 25 | import ndidRouter from './ndid'; 26 | import rpRouter from './rp'; 27 | import idpRouter from './idp'; 28 | import asRouter from './as'; 29 | import proxyRouter from './proxy'; 30 | import identityRouter from './identity'; 31 | import identityRequestRouter from './identity_request'; 32 | import utilityRouter from './utility'; 33 | import nodeRouter from './node'; 34 | 35 | const router = express.Router(); 36 | 37 | router.use('/ndid', ndidRouter); 38 | router.use('/rp', rpRouter); 39 | router.use('/idp', idpRouter); 40 | router.use('/as', asRouter); 41 | router.use('/proxy', proxyRouter); 42 | router.use('/identity', identityRouter); 43 | router.use('/identity_request', identityRequestRouter); 44 | router.use('/utility', utilityRouter); 45 | router.use('/node', nodeRouter); 46 | 47 | export default router; 48 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v6/private_http_header.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | export const HTTP_HEADER_FIELDS = { 24 | ndidMemberAppType: 'ndid-member-app-type', 25 | ndidMemberAppVersion: 'ndid-member-app-version', 26 | }; 27 | -------------------------------------------------------------------------------- /main-server/src/http_server/routes/v6/version.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | export const apiVersion = '6.0'; 24 | -------------------------------------------------------------------------------- /main-server/src/mode.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | const TYPES = { 24 | STANDALONE: 'standalone', 25 | MASTER: 'master', 26 | WORKER: 'worker', 27 | }; 28 | 29 | export default TYPES; 30 | -------------------------------------------------------------------------------- /main-server/src/mq/message/type.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | const TYPES = { 24 | IDP_RESPONSE: 'idp_response', 25 | AS_RESPONSE: 'as_response', 26 | CONSENT_REQUEST: 'consent_request', 27 | DATA_REQUEST: 'data_request', 28 | }; 29 | 30 | export default TYPES; 31 | -------------------------------------------------------------------------------- /main-server/src/prometheus/http_server/routes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import express from 'express'; 24 | 25 | import Prometheus from 'prom-client'; 26 | 27 | const router = express.Router(); 28 | 29 | router.get('/metrics', async (req, res) => { 30 | res.set('Content-Type', Prometheus.register.contentType); 31 | res.end(await Prometheus.register.metrics()); 32 | }); 33 | 34 | router.use('*', function(req, res) { 35 | if (!res.headersSent) { 36 | res.status(404).end(); 37 | } 38 | }); 39 | 40 | export default router; 41 | -------------------------------------------------------------------------------- /main-server/src/role.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | const ROLE = { 24 | NDID: 'ndid', 25 | RP: 'rp', 26 | IDP: 'idp', 27 | AS: 'as', 28 | PROXY: 'proxy', 29 | }; 30 | 31 | export default ROLE; 32 | -------------------------------------------------------------------------------- /main-server/src/telemetry/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import TelemetryLogger, { REQUEST_EVENTS } from './logger'; 24 | 25 | import * as config from '../config'; 26 | 27 | const logger = new TelemetryLogger({ 28 | enable: config.telemetryLoggingEnabled, 29 | }); 30 | 31 | export { REQUEST_EVENTS }; 32 | export default logger; 33 | -------------------------------------------------------------------------------- /main-server/src/utils/error.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import { getErrorObjectForClient as _getErrorObjectForClient } from 'ndid-error/helpers'; 24 | import { env } from '../config'; 25 | 26 | export function getErrorObjectForClient(error) { 27 | return _getErrorObjectForClient(error, env === 'development'); 28 | } 29 | -------------------------------------------------------------------------------- /main-server/src/utils/thai_id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | export function validateThaiIdNumber(thaiId) { 24 | // if (typeof thaiId !== 'string') { 25 | // thaiId = thaiId.toString(); 26 | // } 27 | 28 | if (thaiId.length != 13) { 29 | return false; 30 | } 31 | 32 | let sum = 0; 33 | for (let i = 0; i < 12; i++) { 34 | const n = parseInt(thaiId[i]); 35 | sum = sum + (14 - (i + 1)) * n; 36 | } 37 | const x = sum % 11; 38 | 39 | let checksum; 40 | if (x <= 1) { 41 | checksum = 1 - x; 42 | } else { 43 | checksum = 11 - x; 44 | } 45 | 46 | const lastNumber = parseInt(thaiId[12]); 47 | 48 | return checksum == lastNumber; 49 | } 50 | -------------------------------------------------------------------------------- /main-server/src/version.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import path from 'path'; 24 | import fs from 'fs'; 25 | 26 | import logger from './logger'; 27 | 28 | export let version; 29 | 30 | try { 31 | version = fs.readFileSync( 32 | path.join(__dirname, '..', '..', 'VERSION'), 33 | 'utf8' 34 | ); 35 | } catch (error) { 36 | logger.error({ 37 | message: 'Unable to read VERSION file', 38 | err: error, 39 | }); 40 | } 41 | -------------------------------------------------------------------------------- /mq-server/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | es6: true, 5 | node: true, 6 | }, 7 | extends: 'eslint:recommended', 8 | plugins: ['@babel'], 9 | parser: '@babel/eslint-parser', 10 | parserOptions: { 11 | babelOptions: { 12 | configFile: './mq-server/babel.config.json', 13 | }, 14 | }, 15 | rules: { 16 | indent: ['off', 2], 17 | 'linebreak-style': ['error', 'unix'], 18 | quotes: ['warn', 'single'], 19 | semi: ['warn', 'always'], 20 | 'no-console': 0, 21 | 'no-unused-vars': 1, 22 | 'no-empty': 1, 23 | 'no-inner-declarations': 1, 24 | 25 | 'generator-star-spacing': 1, 26 | 'array-bracket-spacing': 1, 27 | 'object-shorthand': 1, 28 | 'arrow-parens': 1, 29 | 'no-await-in-loop': 1, 30 | 31 | '@babel/new-cap': 1, 32 | '@babel/object-curly-spacing': 0, 33 | }, 34 | overrides: [ 35 | { 36 | files: ['*.test.js'], 37 | env: { 38 | mocha: true, 39 | }, 40 | }, 41 | ], 42 | }; 43 | -------------------------------------------------------------------------------- /mq-server/babel.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/env", 5 | { 6 | "targets": { 7 | "node": "current" 8 | } 9 | } 10 | ] 11 | ], 12 | "plugins": ["@babel/transform-runtime"] 13 | } 14 | -------------------------------------------------------------------------------- /mq-server/dev_https_key/cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDiDCCAnACCQDcoPDLjV1DFzANBgkqhkiG9w0BAQsFADCBhTELMAkGA1UEBhMC 3 | VEgxEDAOBgNVBAgMB0Jhbmdrb2sxEDAOBgNVBAcMB0Jhbmdrb2sxDTALBgNVBAoM 4 | BE5ESUQxFDASBgNVBAsMC0RldmVsb3BtZW50MQ0wCwYDVQQDDARuZGlkMR4wHAYJ 5 | KoZIhvcNAQkBFg9pbmZvQG5kaWQuY28udGgwHhcNMTgwNjE5MDgwNTM1WhcNMTkw 6 | NjE5MDgwNTM1WjCBhTELMAkGA1UEBhMCVEgxEDAOBgNVBAgMB0Jhbmdrb2sxEDAO 7 | BgNVBAcMB0Jhbmdrb2sxDTALBgNVBAoMBE5ESUQxFDASBgNVBAsMC0RldmVsb3Bt 8 | ZW50MQ0wCwYDVQQDDARuZGlkMR4wHAYJKoZIhvcNAQkBFg9pbmZvQG5kaWQuY28u 9 | dGgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDzxOIv6rl414Xk24ws 10 | G3YxWRjzthzCeeEw5ETnzU/cFwYOSyhLxZPVzwbblXSDfA0+/jePCI17yasWSz5A 11 | U0llLPv6NBm/zM6o0oMU4YxGZArSEG2huQhwwlz5myF6TTLdi4Zcc1TSTnIL/1Hp 12 | u3xMCIZQ0yv9tUsJCLmvqkwYYVpqz96z5xfucXpfwbmUytvNcQ3/21EpVQunrCGf 13 | 9wIuxXtvVkmD0I3NoMEHHEAhdtOygZUawjjb+h+IP7/XfrBIFDiezTdGSjTT9+68 14 | hW7Sgjtyq7EPwL7ZK1B6iNqOP1IFSppFvzPCGqQAryKRMzEKMKmrnE5Ad1I598ux 15 | yyiFAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGinkCjikIYqmdlEuHn3FGPj0lIq 16 | I+4Hi/SGyquXHLob9++oQQpnUk34lMJKD6vyu0KfSDki5ZUCIHP1dUKyOnefFuK6 17 | jrRB9N/a6dhpi9+6ZTYn6H1JPcIXeNqIOQdPYi/Om7TNpUi+N8P64mLVXHaykv9q 18 | qejWDV6WVo8aaskYn5MyYVruAUftzawqiD0wm1QFxk6AR2ccFG8knnbU/25WYeN6 19 | aU5tVgRA3nKLO09hOUI4u0rtxkt4VHh/pWxJhpfJVgZK8aKNA/Hlwh15Z7PO+CSY 20 | e81be0u2bFLZ0tAc50AHmUqxSipx6ea3Vb6SI7Yl3H+0DdjMs1H/2VKSxuA= 21 | -----END CERTIFICATE----- 22 | -------------------------------------------------------------------------------- /mq-server/dev_https_key/key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDzxOIv6rl414Xk 3 | 24wsG3YxWRjzthzCeeEw5ETnzU/cFwYOSyhLxZPVzwbblXSDfA0+/jePCI17yasW 4 | Sz5AU0llLPv6NBm/zM6o0oMU4YxGZArSEG2huQhwwlz5myF6TTLdi4Zcc1TSTnIL 5 | /1Hpu3xMCIZQ0yv9tUsJCLmvqkwYYVpqz96z5xfucXpfwbmUytvNcQ3/21EpVQun 6 | rCGf9wIuxXtvVkmD0I3NoMEHHEAhdtOygZUawjjb+h+IP7/XfrBIFDiezTdGSjTT 7 | 9+68hW7Sgjtyq7EPwL7ZK1B6iNqOP1IFSppFvzPCGqQAryKRMzEKMKmrnE5Ad1I5 8 | 98uxyyiFAgMBAAECggEBANYSc5Qi7Mg7dOEbEMj3QN9rYCc+KZl70Q/Pltd+DQC5 9 | 016gD/4iv4YHLf2ODWkeer90HrRkjWNFIhMM9tkkixLn40zBjk9Ke730SJsAy+BR 10 | INODC9P3G3typJWq70ZpHx9B1TfBLJ8Xtr3kdTnupORcpB+8oyhFmmSPngmvYu4Q 11 | ccUZ0n6MlV1e48d8iOrLmhhhr3Qlq34lVBwSsRfctFn6sl4UrZY19yLO96p3S69/ 12 | febksYn1t5QXd3F2dtzevOhP4WonvEI/vUCMuw+6AgwitGYe2dXcmchETW5HUFZW 13 | 6GBepTYp8V4oE+vWEP8Vv3MU3IPk4tLFH6xrcSg9R4ECgYEA+iNMybt7RVj3ofT6 14 | YbvNuFmAGFqO/vLfaElXAO1785ErYoCGDj2e/PXT072a9YhObdcSEB4NdqAQnRDJ 15 | 92kx7pDzLIi7eJxOwUvn6jfwDGEwF7IbNJ+yeSAEB05Oqzak9zd1A/lS6JXKDUfa 16 | koG6PQveBCxRjdGc9L1soj3jFCUCgYEA+Xtfuv0Yg9b/2O5wte6KuJ5/N/VU7yjO 17 | AugpU6kna0QWtEYg/yeOqZWLxPfFmGjLCRT8kgfKH/gZ3wSdnS5Fhm5i4B8Mn4p3 18 | twQx7nZalP6PyHuizItbKK2MTY0xJe1a7AcpN5q1XBtCR2nIna8o0rfZwi3z5lz/ 19 | p+Z95Ah4ZOECgYEAgaK70C0vFOCn7jLVdMNtOaaA4Z5FT9I1gInJ4nwx6iiJUJKF 20 | Z2n+NOF+d9VjMu8CnqCBBwNcPOd11MD3uxa0vww2SxVN+5MeqcUaG2QEL5ZK42z1 21 | 9o7xYx75l4O497jpRApkxbt4gXvn7HwZxiYfjDXTSVxio9pHuvtVCryCLFUCgYAV 22 | ZcyHKDATFryo6YKHSCdjwExfC062mIRa4Xix8T8tRxC/c4he+hCVYPs08J9k/A/1 23 | /nPPPpXKeigV5bpzAcX6yrr2SBN4F5M/AkAaGNKaFt9ULa5/5q/x5Di1ahe+DgaP 24 | WeniGAXYGYpsv5jyVVSmBhjKO9DAgFd5Gh7QER3qYQKBgDCqL+3t5mpcLiPHUnhu 25 | +L7KRulaqttioH5VIg5lGuLgToZbe0ymw6mmjoliwJEIyLDi39qIOm2AMho5psmi 26 | 2DpmklVVqpkHwnQxW5fClQSMxhiIPZaYMGg1NHAEUSU9rx0euPdZh7hVoTelDQnV 27 | 2OZs/enkPebOsAfOaIwCNdKN 28 | -----END PRIVATE KEY----- 29 | -------------------------------------------------------------------------------- /mq-server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ndid-api", 3 | "version": "8.0.2", 4 | "description": "", 5 | "license": "AGPL-3.0-or-later", 6 | "scripts": { 7 | "build": "rm -rf build/ && npx babel src -d ./build/ --source-maps inline --verbose", 8 | "start": "npm run build && node build/server.js", 9 | "test": "npm run build && NODE_ID=unit-test npx mocha build/**/*.test.js", 10 | "test:es6": "NODE_ID=unit-test mocha src/**/*.test.js --require @babel/register --require source-map-support/register", 11 | "docker-build": "./docker/build.sh", 12 | "docker-up": "docker-compose -f docker/docker-compose.yml up", 13 | "docker-down": "docker-compose -f docker/docker-compose.yml down" 14 | }, 15 | "dependencies": { 16 | "@babel/runtime": "^7.25.0", 17 | "@grpc/grpc-js": "^1.12.2", 18 | "@grpc/proto-loader": "^0.7.13", 19 | "dotenv": "^16.4.5", 20 | "express": "^4.19.2", 21 | "ndid-error": "file:../ndid-error", 22 | "ndid-logger": "file:../ndid-logger", 23 | "prom-client": "^15.1.3", 24 | "source-map-support": "^0.5.21", 25 | "zeromq": "^5.3.1" 26 | }, 27 | "devDependencies": { 28 | "@babel/cli": "^7.24.8", 29 | "@babel/core": "^7.25.2", 30 | "@babel/eslint-parser": "^7.25.1", 31 | "@babel/eslint-plugin": "^7.25.1", 32 | "@babel/plugin-proposal-object-rest-spread": "^7.20.7", 33 | "@babel/plugin-transform-runtime": "^7.24.7", 34 | "@babel/preset-env": "^7.25.2", 35 | "@babel/register": "^7.24.6", 36 | "chai": "^4.5.0", 37 | "chai-http": "^4.4.0", 38 | "eslint": "^8.57.0", 39 | "mocha": "^10.7.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /mq-server/src/logger.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import { initLogger } from 'ndid-logger'; 24 | 25 | import * as config from './config'; 26 | 27 | const logger = initLogger({ 28 | env: config.env, 29 | name: config.nodeId, 30 | logLevel: config.logLevel, 31 | // logPid: config.env !== 'development', 32 | // logHostname: config.env !== 'development', 33 | // logTarget: config.logTarget, 34 | // logDirectoryPath: config.logDirectoryPath, 35 | // logFormat: config.logFormat, 36 | logPrettyPrint: config.logPrettyPrint, 37 | logColor: config.logColor, 38 | logOneLine: config.logOneLine, 39 | // replaceForTooLongLog: config.replaceForTooLongLog, 40 | // logLengthThreshold: config.logLengthThreshold, 41 | }); 42 | 43 | export default logger; 44 | -------------------------------------------------------------------------------- /mq-server/src/prometheus/http_server/routes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import express from 'express'; 24 | 25 | import Prometheus from 'prom-client'; 26 | 27 | const router = express.Router(); 28 | 29 | router.get('/metrics', async (req, res) => { 30 | res.set('Content-Type', Prometheus.register.contentType); 31 | res.end(await Prometheus.register.metrics()); 32 | }); 33 | 34 | router.use('*', function(req, res) { 35 | if (!res.headersSent) { 36 | res.status(404).end(); 37 | } 38 | }); 39 | 40 | export default router; 41 | -------------------------------------------------------------------------------- /mq-server/src/utils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import fs from 'fs'; 24 | 25 | export function readFileAsync(path, opts) { 26 | return new Promise((resolve, reject) => { 27 | fs.readFile(path, opts, (err, data) => { 28 | if (err) { 29 | reject(err); 30 | return; 31 | } 32 | resolve(data); 33 | }); 34 | }); 35 | } 36 | -------------------------------------------------------------------------------- /mq-server/src/version.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import path from 'path'; 24 | import fs from 'fs'; 25 | 26 | import logger from './logger'; 27 | 28 | export let version; 29 | 30 | try { 31 | version = fs.readFileSync( 32 | path.join(__dirname, '..', '..', 'VERSION'), 33 | 'utf8' 34 | ); 35 | } catch (error) { 36 | logger.error({ 37 | message: 'Unable to read VERSION file', 38 | err: error, 39 | }); 40 | } 41 | -------------------------------------------------------------------------------- /ndid-error/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | es6: true, 5 | node: true, 6 | }, 7 | extends: 'eslint:recommended', 8 | rules: { 9 | indent: ['off', 2], 10 | 'linebreak-style': ['error', 'unix'], 11 | quotes: ['warn', 'single'], 12 | semi: ['warn', 'always'], 13 | 'no-console': 0, 14 | 'no-unused-vars': 1, 15 | 'no-empty': 1, 16 | 'no-inner-declarations': 1, 17 | 18 | 'generator-star-spacing': 1, 19 | 'array-bracket-spacing': 1, 20 | 'object-shorthand': 1, 21 | 'arrow-parens': 1, 22 | 'no-await-in-loop': 1, 23 | }, 24 | overrides: [ 25 | { 26 | files: ['*.test.js'], 27 | env: { 28 | mocha: true, 29 | }, 30 | }, 31 | ], 32 | }; 33 | -------------------------------------------------------------------------------- /ndid-error/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ndid-error", 3 | "version": "8.0.2", 4 | "description": "", 5 | "license": "AGPL-3.0-or-later", 6 | "main": "dist/index.js", 7 | "scripts": { 8 | "test": "mocha ./**/*.test.js --require source-map-support/register" 9 | }, 10 | "devDependencies": { 11 | "chai": "^4.5.0", 12 | "eslint": "^8.57.0", 13 | "mocha": "^10.7.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ndid-logger/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | es6: true, 5 | node: true, 6 | }, 7 | extends: 'eslint:recommended', 8 | rules: { 9 | indent: ['off', 2], 10 | 'linebreak-style': ['error', 'unix'], 11 | quotes: ['warn', 'single'], 12 | semi: ['warn', 'always'], 13 | 'no-console': 0, 14 | 'no-unused-vars': 1, 15 | 'no-empty': 1, 16 | 'no-inner-declarations': 1, 17 | 18 | 'generator-star-spacing': 1, 19 | 'array-bracket-spacing': 1, 20 | 'object-shorthand': 1, 21 | 'arrow-parens': 1, 22 | 'no-await-in-loop': 1, 23 | }, 24 | overrides: [ 25 | { 26 | files: ['*.test.js'], 27 | env: { 28 | mocha: true, 29 | }, 30 | }, 31 | ], 32 | }; 33 | -------------------------------------------------------------------------------- /ndid-logger/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ndid-logger", 3 | "version": "8.0.2", 4 | "description": "", 5 | "license": "AGPL-3.0-or-later", 6 | "main": "lib/logger.js", 7 | "scripts": { 8 | "test": "npm run build && NODE_ID=unit-test npx mocha build/**/*.test.js", 9 | "test:es6": "mocha src/**/*.test.js --require @babel/register --require source-map-support/register" 10 | }, 11 | "dependencies": { 12 | "pino": "^6.14.0", 13 | "pino-multi-stream": "^6.0.0", 14 | "pino-pretty": "^6.0.0" 15 | }, 16 | "devDependencies": { 17 | "chai": "^4.5.0", 18 | "eslint": "^8.57.0", 19 | "mocha": "^10.7.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /protos/encrypted_mq_message.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | message EncryptedMqMessage { 4 | bytes encrypted_symmetric_key = 1; 5 | bytes encrypted_mq_message = 2; 6 | } -------------------------------------------------------------------------------- /protos/master_worker.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | service MasterWorker { 4 | rpc getMasterId(WorkerId) returns (MasterId){} 5 | rpc subscribe(WorkerId) returns (stream OutboundMessage){} 6 | /*rpc mqRetryCall(InboundMessageForTimerJob) returns(Empty){} 7 | rpc callbackRetryCall(InboundMessageForTimerJob) returns(Empty){} 8 | rpc requestTimeoutCall(InboundMessageForTimerJob) returns(Empty){} 9 | rpc cancelTimerJobCall(InboundMessageForCancelTimerJob) returns(Empty){}*/ 10 | rpc tasksBeforeShutdown(RemainingTasks) returns(Empty){} 11 | rpc returnResultCall(Result) returns(Empty){} 12 | rpc externalCryptoServiceCallbackUrlsSet(ExternalCryptoServiceCallbackUrlsSetArgs) returns(Empty){} 13 | rpc removeRequestTimeoutScheduler(RequestTimeoutSchedulerMetadata) returns(Empty){} 14 | rpc workerStoppingCall(WorkerId) returns(Empty){} 15 | } 16 | 17 | message WorkerId { 18 | string workerId = 1; 19 | } 20 | 21 | message MasterId { 22 | string masterId = 1; 23 | } 24 | 25 | message OutboundMessage { 26 | string fnName = 1; 27 | bytes args = 2; 28 | string grpcRefId = 3; 29 | string eventName = 4; 30 | } 31 | 32 | message RemainingTasks { 33 | string jobsDetail = 1; 34 | string workerId = 2; 35 | } 36 | 37 | message ExternalCryptoServiceCallbackUrlsSetArgs { 38 | string workerId = 1; 39 | } 40 | 41 | message RequestTimeoutSchedulerMetadata { 42 | string workerId = 1; 43 | string nodeId = 2; 44 | string requestId = 3; 45 | } 46 | 47 | /*message InboundMessageForCancelTimerJob { 48 | string jobId = 1; 49 | string type = 2; 50 | string workerId = 3; 51 | }*/ 52 | 53 | message Result { 54 | string grpcRefId = 1; 55 | string retValStr = 2; 56 | string error = 3; 57 | } 58 | 59 | message Empty { 60 | 61 | } -------------------------------------------------------------------------------- /protos/mq_message.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | message MqMessage { 4 | int32 version = 1; 5 | string message_type = 2; 6 | bytes message = 3; 7 | bytes signature = 4; 8 | string receiver_node_id = 5; 9 | string sender_node_id = 6; 10 | string message_compression_algorithm = 7; 11 | } 12 | 13 | message ConsentRequestMqMessage { 14 | string request_json = 1; 15 | string request_message_data_url_prefix = 2; 16 | bytes request_message_bytes = 3; 17 | } 18 | 19 | message AsDataResponseMqMessage { 20 | string request_json = 1; 21 | string packed_data_metadata = 2; 22 | bytes packed_data_bytes = 3; 23 | } -------------------------------------------------------------------------------- /protos/mq_protocol_message.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | message MqProtocolMessage { 4 | int32 version = 1; 5 | string msg_id = 2; 6 | int32 seq_id = 3; 7 | bytes message = 4; 8 | string sender_id = 5; 9 | } 10 | -------------------------------------------------------------------------------- /protos/mq_service.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | service MessageQueue { 4 | rpc subscribeToRecvMessages(Empty) returns (stream InboundMessage){} 5 | rpc sendAckForRecvMessage(InboundMessageAck) returns(Empty){} 6 | rpc sendMessage(OutboundMessage) returns (Empty){} 7 | rpc getInfo(Empty) returns (ServiceServerInfo){} 8 | } 9 | 10 | message InboundMessage { 11 | bytes message = 1; 12 | string message_id = 2; 13 | string sender_id = 3; 14 | Error error = 4; 15 | } 16 | 17 | message InboundMessageAck { 18 | string message_id = 1; 19 | } 20 | 21 | message OutboundMessage { 22 | MqAddress mq_address = 1; 23 | bytes payload = 2; 24 | string message_id = 3; 25 | } 26 | 27 | message MqAddress { 28 | string ip = 1; 29 | int32 port = 2; 30 | } 31 | 32 | message Error { 33 | int32 code = 1; 34 | string message = 2; 35 | } 36 | 37 | message ServiceServerInfo { 38 | string node_id = 1; 39 | int32 mq_binding_port = 2; 40 | string version = 3; 41 | } 42 | 43 | message Empty { 44 | 45 | } 46 | -------------------------------------------------------------------------------- /protos/tendermint.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | message Tx { 4 | string method = 1; 5 | bytes params = 2; 6 | bytes nonce = 3; 7 | bytes signature = 4; 8 | string node_id = 5; 9 | } 10 | 11 | message Query { 12 | string method = 1; 13 | bytes params = 2; 14 | } -------------------------------------------------------------------------------- /protos/worker_functions.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | message MqProcessRawMessageArgs { 4 | string messageId = 1; 5 | bytes messageProtobuf = 2; 6 | int64 timestamp = 3; 7 | } 8 | 9 | message RpProcessRequestUpdateArgs { 10 | string nodeId = 1; 11 | string requestId = 2; 12 | int64 height = 3; 13 | string callbackUrl = 4; 14 | string referenceId = 5; 15 | } 16 | 17 | message OthersArgs { 18 | string args = 1; 19 | } 20 | -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd mq-server 4 | npm run build 5 | cd .. 6 | 7 | cd main-server 8 | npm run build 9 | -------------------------------------------------------------------------------- /scripts/init_dev.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # redis-server --port 6379 & 4 | 5 | # redis-cli -p 6379 FLUSHALL 6 | 7 | docker run --rm -p 6379:6379 --name ndid_redis_1 redis:5-alpine & 8 | 9 | cd main-server 10 | 11 | TENDERMINT_IP=127.0.0.1 \ 12 | TENDERMINT_PORT=45000 \ 13 | NODE_ID=ndid1 \ 14 | npm run initDev 15 | 16 | docker stop ndid_redis_1 17 | -------------------------------------------------------------------------------- /scripts/install_deps.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | cd ndid-logger 4 | rm -rf node_modules 5 | npm install 6 | cd .. 7 | 8 | cd ndid-error 9 | rm -rf node_modules 10 | npm install 11 | cd .. 12 | 13 | cd main-server 14 | rm -rf node_modules 15 | npm install 16 | cd .. 17 | 18 | cd mq-server 19 | rm -rf node_modules 20 | npm install 21 | cd .. 22 | 23 | cd telemetry 24 | rm -rf node_modules 25 | npm install 26 | -------------------------------------------------------------------------------- /scripts/run_dev_mq.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | cd mq-server 11 | 12 | npm run build 13 | 14 | NODE_ID=idp1 \ 15 | MQ_BINDING_PORT=5555 \ 16 | SERVER_PORT=50051 \ 17 | node build/server.js & 18 | 19 | NODE_ID=idp2 \ 20 | MQ_BINDING_PORT=5655 \ 21 | SERVER_PORT=50052 \ 22 | node build/server.js & 23 | 24 | NODE_ID=rp1 \ 25 | MQ_BINDING_PORT=5556 \ 26 | SERVER_PORT=50053 \ 27 | node build/server.js & 28 | 29 | NODE_ID=as1 \ 30 | MQ_BINDING_PORT=5557 \ 31 | SERVER_PORT=50054 \ 32 | node build/server.js & 33 | 34 | NODE_ID=as2 \ 35 | MQ_BINDING_PORT=5558 \ 36 | SERVER_PORT=50055 \ 37 | node build/server.js & 38 | 39 | NODE_ID=proxy1 \ 40 | MQ_BINDING_PORT=5658 \ 41 | SERVER_PORT=50056 \ 42 | node build/server.js & 43 | 44 | NODE_ID=proxy2 \ 45 | MQ_BINDING_PORT=5659 \ 46 | SERVER_PORT=50057 \ 47 | node build/server.js & 48 | 49 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/as1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6379 & 11 | 12 | # redis-cli -p 6379 FLUSHALL 13 | 14 | docker run --rm -p 6379:6379 --name ndid_redis_1 redis:5-alpine & 15 | 16 | cd mq-server 17 | 18 | # npm run build 19 | 20 | NODE_ID=as1 \ 21 | MQ_BINDING_PORT=5200 \ 22 | SERVER_PORT=52000 \ 23 | node build/server.js & 24 | 25 | cd ../main-server 26 | 27 | # npm run build 28 | 29 | TENDERMINT_IP=127.0.0.1 \ 30 | TENDERMINT_PORT=45002 \ 31 | MQ_CONTACT_IP=127.0.0.1 \ 32 | MQ_BINDING_PORT=5200 \ 33 | MQ_SERVICE_SERVER_PORT=52000 \ 34 | SERVER_PORT=8300 \ 35 | NODE_ID=as1 \ 36 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 37 | node --security-revert=CVE-2023-46809 build/server.js & 38 | 39 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/as2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6379 & 11 | 12 | # redis-cli -p 6379 FLUSHALL 13 | 14 | docker run --rm -p 6379:6379 --name ndid_redis_1 redis:5-alpine & 15 | 16 | cd mq-server 17 | 18 | # npm run build 19 | 20 | NODE_ID=as2 \ 21 | MQ_BINDING_PORT=5201 \ 22 | SERVER_PORT=52001 \ 23 | node build/server.js & 24 | 25 | cd ../main-server 26 | 27 | # npm run build 28 | 29 | TENDERMINT_IP=127.0.0.1 \ 30 | TENDERMINT_PORT=45002 \ 31 | MQ_CONTACT_IP=127.0.0.1 \ 32 | MQ_BINDING_PORT=5201 \ 33 | MQ_SERVICE_SERVER_PORT=52001 \ 34 | SERVER_PORT=8301 \ 35 | NODE_ID=as2 \ 36 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 37 | node --security-revert=CVE-2023-46809 build/server.js & 38 | 39 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/idp1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6379 & 11 | 12 | # redis-cli -p 6379 FLUSHALL 13 | 14 | docker run --rm -p 6379:6379 --name ndid_redis_1 redis:5-alpine & 15 | 16 | cd mq-server 17 | 18 | # npm run build 19 | 20 | NODE_ID=idp1 \ 21 | MQ_BINDING_PORT=5000 \ 22 | SERVER_PORT=50000 \ 23 | node build/server.js & 24 | 25 | cd ../main-server 26 | 27 | # npm run build 28 | 29 | TENDERMINT_IP=127.0.0.1 \ 30 | TENDERMINT_PORT=45000 \ 31 | MQ_CONTACT_IP=127.0.0.1 \ 32 | MQ_BINDING_PORT=5000 \ 33 | MQ_SERVICE_SERVER_PORT=50000 \ 34 | SERVER_PORT=8100 \ 35 | NODE_ID=idp1 \ 36 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 37 | node --security-revert=CVE-2023-46809 build/server.js & 38 | 39 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/idp2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6379 & 11 | 12 | # redis-cli -p 6379 FLUSHALL 13 | 14 | docker run --rm -p 6379:6379 --name ndid_redis_1 redis:5-alpine & 15 | 16 | cd mq-server 17 | 18 | # npm run build 19 | 20 | NODE_ID=idp2 \ 21 | MQ_BINDING_PORT=5001 \ 22 | SERVER_PORT=50001 \ 23 | node build/server.js & 24 | 25 | cd ../main-server 26 | 27 | # npm run build 28 | 29 | TENDERMINT_IP=127.0.0.1 \ 30 | TENDERMINT_PORT=45000 \ 31 | MQ_CONTACT_IP=127.0.0.1 \ 32 | MQ_BINDING_PORT=5001 \ 33 | MQ_SERVICE_SERVER_PORT=50001 \ 34 | SERVER_PORT=8101 \ 35 | NODE_ID=idp2 \ 36 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 37 | node --security-revert=CVE-2023-46809 build/server.js & 38 | 39 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | docker run --rm -p 6379:6379 --name ndid_redis_1 -d redis:5-alpine 4 | 5 | cd main-server 6 | 7 | TENDERMINT_IP=127.0.0.1 \ 8 | TENDERMINT_PORT=45000 \ 9 | NODE_ID=ndid1 \ 10 | npm run initDev 11 | 12 | docker stop ndid_redis_1 13 | -------------------------------------------------------------------------------- /scripts/run_dev_single_node/ndid1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6379 & 11 | # redis-server --port 6380 & 12 | # redis-server --port 6381 & 13 | 14 | # redis-cli -p 6379 FLUSHALL 15 | # redis-cli -p 6380 FLUSHALL 16 | # redis-cli -p 6381 FLUSHALL 17 | 18 | docker run --rm -p 6379:6379 --name ndid_redis_1 redis:5-alpine & 19 | 20 | cd main-server 21 | 22 | TENDERMINT_IP=127.0.0.1 \ 23 | TENDERMINT_PORT=45000 \ 24 | NODE_ID=ndid1 \ 25 | NDID_NODE=true \ 26 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 27 | ENABLE_TELEMETRY_LOGGING=false \ 28 | node --security-revert=CVE-2023-46809 build/server.js & 29 | 30 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/proxy1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6380 & 11 | 12 | # redis-cli -p 6380 FLUSHALL 13 | 14 | docker run --rm -p 6380:6379 --name ndid_redis_2 redis:5-alpine & 15 | 16 | cd mq-server 17 | 18 | # npm run build 19 | 20 | NODE_ID=proxy1 \ 21 | MQ_BINDING_PORT=5300 \ 22 | SERVER_PORT=53000 \ 23 | node build/server.js & 24 | 25 | cd ../main-server 26 | 27 | # npm run build 28 | 29 | TENDERMINT_IP=127.0.0.1 \ 30 | TENDERMINT_PORT=45003 \ 31 | MQ_CONTACT_IP=127.0.0.1 \ 32 | MQ_BINDING_PORT=5300 \ 33 | MQ_SERVICE_SERVER_PORT=53000 \ 34 | SERVER_PORT=8400 \ 35 | NODE_ID=proxy1 \ 36 | DB_PORT=6380 \ 37 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 38 | node --security-revert=CVE-2023-46809 build/server.js & 39 | 40 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/proxy2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6381 & 11 | 12 | # redis-cli -p 6381 FLUSHALL 13 | 14 | docker run --rm -p 6381:6379 --name ndid_redis_3 redis:5-alpine & 15 | 16 | cd mq-server 17 | 18 | # npm run build 19 | 20 | NODE_ID=proxy2 \ 21 | MQ_BINDING_PORT=5301 \ 22 | SERVER_PORT=53001 \ 23 | node build/server.js & 24 | 25 | cd ../main-server 26 | 27 | # npm run build 28 | 29 | TENDERMINT_IP=127.0.0.1 \ 30 | TENDERMINT_PORT=45003 \ 31 | MQ_CONTACT_IP=127.0.0.1 \ 32 | MQ_BINDING_PORT=5301 \ 33 | MQ_SERVICE_SERVER_PORT=53001 \ 34 | SERVER_PORT=8401 \ 35 | NODE_ID=proxy2 \ 36 | DB_PORT=6381 \ 37 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 38 | node --security-revert=CVE-2023-46809 build/server.js & 39 | 40 | wait -------------------------------------------------------------------------------- /scripts/run_dev_single_node/rp1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | # redis-server --port 6379 & 11 | 12 | # redis-cli -p 6379 FLUSHALL 13 | 14 | docker run --rm -p 6379:6379 --name ndid_redis_1 redis:5-alpine & 15 | 16 | cd mq-server 17 | 18 | # npm run build 19 | 20 | NODE_ID=rp1 \ 21 | MQ_BINDING_PORT=5100 \ 22 | SERVER_PORT=51000 \ 23 | node build/server.js & 24 | 25 | cd ../main-server 26 | 27 | # npm run build 28 | 29 | TENDERMINT_IP=127.0.0.1 \ 30 | TENDERMINT_PORT=45001 \ 31 | MQ_CONTACT_IP=127.0.0.1 \ 32 | MQ_BINDING_PORT=5100 \ 33 | MQ_SERVICE_SERVER_PORT=51000 \ 34 | SERVER_PORT=8200 \ 35 | NODE_ID=rp1 \ 36 | ENABLE_CONFIG_HTTP_ROUTE_PATH=true \ 37 | node --security-revert=CVE-2023-46809 build/server.js & 38 | 39 | wait -------------------------------------------------------------------------------- /scripts/run_dev_telemetry.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | cd telemetry 11 | 12 | npm run build 13 | 14 | NODE_ID=idp1,idp2,idp3,rp1,rp2,as1 \ 15 | TELEMETRY_DB_HOST=localhost \ 16 | TELEMETRY_DB_PORT=6379 \ 17 | TELEMETRY_NODE_GRPC_HOST=localhost \ 18 | TELEMETRY_NODE_GRPC_PORT=8880 \ 19 | FLUSH_INTERVAL_SEC=20 \ 20 | node build/index.js & 21 | 22 | NODE_ID=proxy1_rp4,proxy1_idp4,proxy1_as4 \ 23 | TELEMETRY_DB_HOST=localhost \ 24 | TELEMETRY_DB_PORT=6380 \ 25 | TELEMETRY_NODE_GRPC_HOST=localhost \ 26 | TELEMETRY_NODE_GRPC_PORT=8880 \ 27 | FLUSH_INTERVAL_SEC=20 \ 28 | node build/index.js & 29 | 30 | NODE_ID=proxy2_rp5 \ 31 | TELEMETRY_DB_HOST=localhost \ 32 | TELEMETRY_DB_PORT=6381 \ 33 | TELEMETRY_NODE_GRPC_HOST=localhost \ 34 | TELEMETRY_NODE_GRPC_PORT=8880 \ 35 | FLUSH_INTERVAL_SEC=20 \ 36 | node build/index.js & 37 | 38 | wait 39 | -------------------------------------------------------------------------------- /scripts/run_dev_telemetry_ssl.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | cd telemetry 11 | 12 | npm run build 13 | 14 | NODE_ID=idp1,idp2,idp3,rp1,rp2,as1 \ 15 | TELEMETRY_DB_HOST=localhost \ 16 | TELEMETRY_DB_PORT=6379 \ 17 | TELEMETRY_NODE_GRPC_HOST=localhost \ 18 | TELEMETRY_NODE_GRPC_PORT=8880 \ 19 | GRPC_SSL=true \ 20 | FLUSH_INTERVAL_SEC=20 \ 21 | node build/index.js & 22 | 23 | NODE_ID=proxy1_rp4,proxy1_idp4,proxy1_as4 \ 24 | TELEMETRY_DB_HOST=localhost \ 25 | TELEMETRY_DB_PORT=6380 \ 26 | TELEMETRY_NODE_GRPC_HOST=localhost \ 27 | TELEMETRY_NODE_GRPC_PORT=8880 \ 28 | GRPC_SSL=true \ 29 | FLUSH_INTERVAL_SEC=20 \ 30 | node build/index.js & 31 | 32 | NODE_ID=proxy2_rp5 \ 33 | TELEMETRY_DB_HOST=localhost \ 34 | TELEMETRY_DB_PORT=6381 \ 35 | TELEMETRY_NODE_GRPC_HOST=localhost \ 36 | TELEMETRY_NODE_GRPC_PORT=8880 \ 37 | GRPC_SSL=true \ 38 | FLUSH_INTERVAL_SEC=20 \ 39 | node build/index.js & 40 | 41 | wait 42 | -------------------------------------------------------------------------------- /scripts/run_dev_telemetry_ssl_self_signed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | trap killgroup SIGINT 4 | 5 | killgroup(){ 6 | echo killing... 7 | kill 0 8 | } 9 | 10 | cd telemetry 11 | 12 | npm run build 13 | 14 | NODE_ID=idp1,idp2,idp3,rp1,rp2,as1 \ 15 | TELEMETRY_DB_HOST=localhost \ 16 | TELEMETRY_DB_PORT=6379 \ 17 | TELEMETRY_NODE_GRPC_HOST=localhost \ 18 | TELEMETRY_NODE_GRPC_PORT=8880 \ 19 | GRPC_SSL=true \ 20 | GRPC_SSL_ROOT_CERT_FILE_PATH=../dev_cert/telemetry_grpc/server1.crt \ 21 | FLUSH_INTERVAL_SEC=20 \ 22 | node build/index.js & 23 | 24 | NODE_ID=proxy1_rp4,proxy1_idp4,proxy1_as4 \ 25 | TELEMETRY_DB_HOST=localhost \ 26 | TELEMETRY_DB_PORT=6380 \ 27 | TELEMETRY_NODE_GRPC_HOST=localhost \ 28 | TELEMETRY_NODE_GRPC_PORT=8880 \ 29 | GRPC_SSL=true \ 30 | GRPC_SSL_ROOT_CERT_FILE_PATH=../dev_cert/telemetry_grpc/server1.crt \ 31 | FLUSH_INTERVAL_SEC=20 \ 32 | node build/index.js & 33 | 34 | NODE_ID=proxy2_rp5 \ 35 | TELEMETRY_DB_HOST=localhost \ 36 | TELEMETRY_DB_PORT=6381 \ 37 | TELEMETRY_NODE_GRPC_HOST=localhost \ 38 | TELEMETRY_NODE_GRPC_PORT=8880 \ 39 | GRPC_SSL=true \ 40 | GRPC_SSL_ROOT_CERT_FILE_PATH=../dev_cert/telemetry_grpc/server1.crt \ 41 | FLUSH_INTERVAL_SEC=20 \ 42 | node build/index.js & 43 | 44 | wait 45 | -------------------------------------------------------------------------------- /scripts/set_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | if [[ -z "$1" ]]; then 5 | echo "Missing argument: new version to set" 6 | exit 1 7 | fi 8 | 9 | NEW_VERSION=$1 10 | 11 | DIR="$(dirname "$BASH_SOURCE")" 12 | DIR_ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 13 | 14 | echo $ABSOLUTE_PATH 15 | 16 | echo -n "$NEW_VERSION" > $DIR_ABSOLUTE_PATH/../VERSION 17 | cd $DIR_ABSOLUTE_PATH/../main-server && npm version --allow-same-version $NEW_VERSION 18 | cd $DIR_ABSOLUTE_PATH/../mq-server && npm version --allow-same-version $NEW_VERSION 19 | cd $DIR_ABSOLUTE_PATH/../ndid-logger && npm version --allow-same-version $NEW_VERSION 20 | cd $DIR_ABSOLUTE_PATH/../ndid-error && npm version --allow-same-version $NEW_VERSION 21 | cd $DIR_ABSOLUTE_PATH/../telemetry && npm version --allow-same-version $NEW_VERSION 22 | -------------------------------------------------------------------------------- /telemetry/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | es6: true, 5 | node: true, 6 | }, 7 | extends: 'eslint:recommended', 8 | plugins: ['@babel'], 9 | parser: '@babel/eslint-parser', 10 | parserOptions: { 11 | babelOptions: { 12 | configFile: './telemetry/babel.config.json', 13 | }, 14 | }, 15 | rules: { 16 | indent: ['off', 2], 17 | 'linebreak-style': ['error', 'unix'], 18 | quotes: ['warn', 'single'], 19 | semi: ['warn', 'always'], 20 | 'no-console': 0, 21 | 'no-unused-vars': 1, 22 | 'no-empty': 1, 23 | 'no-inner-declarations': 1, 24 | 25 | 'generator-star-spacing': 1, 26 | 'array-bracket-spacing': 1, 27 | 'object-shorthand': 1, 28 | 'arrow-parens': 1, 29 | 'no-await-in-loop': 1, 30 | 31 | '@babel/new-cap': 1, 32 | '@babel/object-curly-spacing': 0, 33 | }, 34 | overrides: [ 35 | { 36 | files: ['*.test.js'], 37 | env: { 38 | mocha: true, 39 | }, 40 | }, 41 | ], 42 | }; 43 | -------------------------------------------------------------------------------- /telemetry/babel.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | [ 4 | "@babel/env", 5 | { 6 | "targets": { 7 | "node": "current" 8 | } 9 | } 10 | ] 11 | ], 12 | "plugins": ["@babel/transform-runtime", "@babel/proposal-object-rest-spread"] 13 | } 14 | -------------------------------------------------------------------------------- /telemetry/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "telemetry", 3 | "version": "8.0.2", 4 | "description": "Collect activities on NDID API server and forward to NDID telemetry sever", 5 | "scripts": { 6 | "build": "rm -rf build/ && npx babel src -d ./build/ --source-maps inline --verbose", 7 | "start": "npm run build && node build/index.js", 8 | "test": "npm run build && NODE_ID=unit-test npx mocha build/**/*.test.js", 9 | "test:es6": "NODE_ID=unit-test mocha src/**/*.test.js --require @babel/register --require source-map-support/register" 10 | }, 11 | "author": "", 12 | "license": "AGPL-3.0-or-later", 13 | "dependencies": { 14 | "@babel/runtime": "^7.25.0", 15 | "@grpc/grpc-js": "^1.12.2", 16 | "@grpc/proto-loader": "^0.7.13", 17 | "ioredis": "^5.4.1", 18 | "ndid-logger": "file:../ndid-logger", 19 | "simple-backoff": "^1.1.0", 20 | "source-map-support": "^0.5.21" 21 | }, 22 | "devDependencies": { 23 | "@babel/cli": "^7.24.8", 24 | "@babel/core": "^7.25.2", 25 | "@babel/eslint-parser": "^7.25.1", 26 | "@babel/eslint-plugin": "^7.25.1", 27 | "@babel/plugin-proposal-object-rest-spread": "^7.20.7", 28 | "@babel/plugin-transform-runtime": "^7.24.7", 29 | "@babel/preset-env": "^7.25.2", 30 | "@babel/register": "^7.24.6", 31 | "eslint": "^8.57.0" 32 | }, 33 | "main": "index.js", 34 | "keywords": [] 35 | } 36 | -------------------------------------------------------------------------------- /telemetry/src/config_validate.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | // required config 24 | [ 25 | 'NODE_ID', 26 | 'TELEMETRY_DB_HOST', 27 | 'TELEMETRY_DB_PORT', 28 | 'TELEMETRY_NODE_GRPC_HOST', 29 | 'TELEMETRY_NODE_GRPC_PORT', 30 | ].forEach((conf) => { 31 | if (process.env[conf] == undefined) { 32 | throw new Error(`${conf} config is missing`); 33 | } 34 | }); 35 | -------------------------------------------------------------------------------- /telemetry/src/logger.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2018, 2019 National Digital ID COMPANY LIMITED 3 | * 4 | * This file is part of NDID software. 5 | * 6 | * NDID is the free software: you can redistribute it and/or modify it under 7 | * the terms of the Affero GNU General Public License as published by the 8 | * Free Software Foundation, either version 3 of the License, or any later 9 | * version. 10 | * 11 | * NDID is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | * See the Affero GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the Affero GNU General Public License 17 | * along with the NDID source code. If not, see https://www.gnu.org/licenses/agpl.txt. 18 | * 19 | * Please contact info@ndid.co.th for any further questions 20 | * 21 | */ 22 | 23 | import { initLogger } from 'ndid-logger'; 24 | 25 | import * as config from './config'; 26 | 27 | const logger = initLogger({ 28 | env: config.env, 29 | name: config.nodeId, 30 | logLevel: config.logLevel, 31 | 32 | logPrettyPrint: config.logPrettyPrint, 33 | logColor: config.logColor, 34 | }); 35 | 36 | export default logger; 37 | --------------------------------------------------------------------------------