diff options
| author | zhaokun <[email protected]> | 2023-11-08 13:44:25 +0800 |
|---|---|---|
| committer | zhaokun <[email protected]> | 2023-11-08 13:44:25 +0800 |
| commit | 4e683d5703daf29810097b9961b5ce02420202ea (patch) | |
| tree | 4ad01d46a7417a14a8c8a9045e95d0387cf24388 /testdata | |
| parent | 44ed57c3f0b5f83e2836aadeea34003f08867b08 (diff) | |
updatemain
Diffstat (limited to 'testdata')
40 files changed, 1253 insertions, 0 deletions
diff --git a/testdata/demo1_data.json b/testdata/demo1_data.json new file mode 100644 index 00000000..0dfde25f --- /dev/null +++ b/testdata/demo1_data.json @@ -0,0 +1,15 @@ +{ + "item": + [ + { + "a": 1, + "b": 2, + "expect": 3 + }, + { + "a": 3, + "b": 4, + "expect": 7 + } + ] +} diff --git a/testdata/json_data.json b/testdata/json_data.json new file mode 100644 index 00000000..ffdd918f --- /dev/null +++ b/testdata/json_data.json @@ -0,0 +1,31 @@ +{ + "item": + [ + { + "request": + { + "url": "http://192.168.44.72/v1/user/login", + "body": + { + "id":"111", + "username": "zcw", + "password": "Gg1Etyh7fs1y/v/K2XOJDg==" + } + }, + "response":"true" + }, + { + "request": + { + "url": "http://192.168.44.72/v1/user/login", + "body": + { + "id":"222", + "username": "zcw3", + "password": "Gg1Etyh7fs1y/v/K2XOJDg==" + } + }, + "response":"true" + } + ] +}
\ No newline at end of file diff --git a/testdata/ui_data/__init__.py b/testdata/ui_data/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_data/__init__.py diff --git a/testdata/ui_data/profiles_data/DoS_detection_profiles.json b/testdata/ui_data/profiles_data/DoS_detection_profiles.json new file mode 100644 index 00000000..bc969470 --- /dev/null +++ b/testdata/ui_data/profiles_data/DoS_detection_profiles.json @@ -0,0 +1,16 @@ +{ + "comment": "shaping_profiles参数注解:item中为参数驱动测试,model可选为modify。'->'为创建修改数据分隔符,前为创建数据,后为修改数据。unit分隔符后为空则只创建数据,例如’bps->‘、'543->'。unit分隔符后非空,修改数据。544->表示不修改、654->456表示修改前后数据。", + "item": + [ + { + "ids": "创建Generic_bps用例", + "model": "create", + "attack_type": "DNS Flood->", + "target_IPs": [ + "1.1.1.1->" + ], + "packet_second": "0->", + "bits_second": "0->" + } + ] +} diff --git a/testdata/ui_data/profiles_data/__init__.py b/testdata/ui_data/profiles_data/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_data/profiles_data/__init__.py diff --git a/testdata/ui_data/profiles_data/dns_records.json b/testdata/ui_data/profiles_data/dns_records.json new file mode 100644 index 00000000..801ac7b7 --- /dev/null +++ b/testdata/ui_data/profiles_data/dns_records.json @@ -0,0 +1,184 @@ +{ + "comment": "dns_records参数注解:item中为参数驱动测试,model可选为create、modify。type可选为A、AAAA、CNAME 。如果model=modify,例如:modify.'12.12.12.12->34.45.67.54'表示修改前后数据,'->'为前后数据分隔符。在修改中,分隔符前为空表示新增数据。分隔符后为空表示删除数据。其它同理。", + "item": + [ + { + "ids": "创建单个类型A用例", + "model": "create", + "type": "A", + "values": + [ + "45.23.122.223" + ], + "description": "test-description45.23.122.223" + }, + { + "ids": "创建单个类型A再修改为A用例", + "model": "modify", + "type": "A->A", + "values": + [ + "145.223.172.243->32.124.176.43" + ], + "description": "test-description32.124.176.43" + }, + { + "ids": "创建多个类型A用例", + "model": "create", + "type": "A", + "values": + [ + "2.2.2.2", + "3.3.3.3", + "4.4.4.4" + ], + "description": "test-description" + }, + { + "ids": "创建多个类型A,再修改为多个类型A用例", + "model": "modify", + "type": "A->A", + "values": + [ + "12.12.12.12->34.45.67.54", + "13.13.31.13->", + "->65.123.34.56", + "14.14.14.41->56.43.46.64", + "->165.123.134.56" + ], + "description": "test-description->tesst modify desc" + }, + { + "ids": "创建单个类型AAAA用例", + "model": "create", + "type": "AAAA", + "values": + [ + "32:12aa::34cd" + ], + "description": "test-32:12aa::34cd" + }, + { + "ids": "创建单个类型AAAA,再修改为AAAA用例", + "model": "modify", + "type": "AAAA->AAAA", + "values": + [ + "32:12aa::34cd->1231:3452:5643::aa" + ], + "description": "test-1231:3452:5643::aa" + }, + { + "ids": "创建多个类型AAAA用例", + "model": "create", + "type": "AAAA", + "values": + [ + "32:12aa::34cd", + "4265:5688:3345::4325:4456", + "1234::3456:53aa" + ], + "description": "test-sa14265:5688:3345::4325:4456" + }, + { + + "ids": "创建多类型AAAA,再修改为AAAA用例", + "model": "modify", + "type": "AAAA->AAAA", + "values": + [ + "3322:12aa::34cd->1231:3452:5643::aa", + "3252:123a::347d->", + "3352:127a::844d->1231:3752:9643::86aa", + "->1431:7652:5333::64aa" + ], + "description": "test-ssa1231:3752:9643::86aa" + }, + { + "ids": "创建单个类型CNAME用例", + "model": "create", + "type": "CNAME", + "values": + [ + "test.sds.asd.com" + ], + "description": "test-test.sds.asd.com" + }, + { + "ids": "创建单个类型CNAME,再修改为CNAME用例", + "model": "modify", + "type": "CNAME->CNAME", + "values": + [ + "test.sttds.adssd.com->test.sda.ddss.gec.cn" + ], + "description": "test-test.sda.ddss.gec.cn" + }, + { + "ids": "创建多个类型CNAME用例", + "model": "create", + "type": "CNAME", + "values": + [ + "test.sttds.adssd.com", + "test.sttsdssds.addfeessd.com", + "test.sttee2wads.adsssssd.com" + ], + "description": "test-sa1test.sttee2wads.adsssssd.com" + }, + { + "ids": "创建多类型CNAME,再修改为CNAME用例", + "model": "modify", + "type": "CNAME->CNAME", + "values": + [ + "->test.sddsg.sdsssdd.fco.cn", + "test.ssdsdssds.addsd.com->test.sdgoc.sdwa.caom.com", + "->test.sddsg.sdsd.fcfgo.cn", + "test.sassdo.caom.com->", + "test.sdoas.comada.com->test.sodmao.asdo.com", + "->test.sddsg.sdsd.fco.cn" + ], + "description": "test-est.sddsg.sdsd.fco.cn" + }, + { + "ids": "创建多类型A,再修改为CNAME用例", + "model": "modify", + "type": "A->CNAME", + "values": + [ + "112.12.32.12->test.sdgoc.sdwa.caom.com", + "53.23.234.21->", + "12.12.33.45->test.sodmao.asdo.com", + "->test.sddsg.sdsd.fco.cn" + ], + "description": "12.12.33.45->test.sodmao.asdo.com" + }, + { + "ids": "创建多类型CNAME,再修改为CNAME用例", + "model": "modify", + "type": "AAAA->CNAME", + "values": + [ + "42::4532:2234->test.sdgoc.sdwa.caom.com", + "5342:5322:3234::3213->", + "aa11:3214::4521->test.sodmao.asdo.com", + "->test.sddsg.sdsd.fco.cn" + ], + "description": "test-aa11:3214::4521->test.sodmao.asdo.com" + }, + { + "ids": "创建多类型CNAME,再修改为A用例", + "model": "modify", + "type": "CNAME->A", + "values": + [ + "test.ssdsdssds.addsd.com->23.42.234.12", + "test.sassdo.caom.com->", + "test.sdoas.comada.com->53.65.156.176", + "->12.45.168.123" + ], + "description": "test-est.test.sdoas.comada.com->53.65.156.176" + } + ] +} diff --git a/testdata/ui_data/profiles_data/hijack_files.json b/testdata/ui_data/profiles_data/hijack_files.json new file mode 100644 index 00000000..d65f9b0c --- /dev/null +++ b/testdata/ui_data/profiles_data/hijack_files.json @@ -0,0 +1,49 @@ +{ + "comment": "标识符'->'参数注解:model可选参数create、modify。标识符'->'为前后数据分隔符,分隔符前为创建数据,后为修改数据。例如:16->7:表示创建及修改;18->不修改:表示只创建不修改;18->删除:表示删除;->18:表示修改为新增(创建时不输入)", + "comment2": "1.file:文件名称。2.download_name in (Mirror Server Response, 或者其它输入内容)。3.file_type in (gif,jpeg,png,svg+xml,exe,apk,html)", + "item": + [ + { + "ids": "创建gif类型hijack_files数据", + "model": "create", + "file": "test_gif_1.gif->", + "download_name": "Mirror Server Response->", + "file_type": "gif->" + }, + { + "ids": "创建gif类型hijack_files数据再修改数据gif数据", + "model": "modify", + "file": "test_gif_1.gif->test_gif_2.gif", + "download_name": "test_gif_1.gif->Mirror Server Response", + "file_type": "gif->不修改" + }, + { + "ids": "创建jpeg类型hijack_files数据", + "model": "create", + "file": "test_jpeg_1.jpeg->", + "download_name": "test_jpeg_1.jpeg->", + "file_type": "jpeg->" + }, + { + "ids": "创建png类型hijack_files数据再修改数据svg+xml数据", + "model": "modify", + "file": "test_png_1.png->test_svg_1.svg", + "download_name": "test_png_1.gif->name_test_svg_1.svg", + "file_type": "png->svg+xml" + }, + { + "ids": "创建exe类型hijack_files数据", + "model": "create", + "file": "test_exe_1.exe->", + "download_name": "test_name_exe_1.exe->", + "file_type": "exe->" + }, + { + "ids": "创建apk类型hijack_files数据再修改数据html数据", + "model": "modify", + "file": "test_apk_1.apk->test_html_1.html", + "download_name": "Mirror Server Response->不修改", + "file_type": "apk->html" + } + ] +} diff --git a/testdata/ui_data/profiles_data/insert_scripts.json b/testdata/ui_data/profiles_data/insert_scripts.json new file mode 100644 index 00000000..fab53d86 --- /dev/null +++ b/testdata/ui_data/profiles_data/insert_scripts.json @@ -0,0 +1,21 @@ +{ + "comment": "标识符'->'参数注解:model可选参数create、modify。标识符'->'为前后数据分隔符,分隔符前为创建数据,后为修改数据。例如:16->7:表示创建及修改;18->不修改:表示只创建不修改;18->删除:表示删除;->18:表示修改为新增(创建时不输入)", + "comment2": "1.script:文件名称。2.script_type in (js, css)。3.insert_position in (After Page Load, Before Page Load)", + "item": + [ + { + "ids": "创建js类型insert_files数据11", + "model": "create", + "script": "test_js_1.js->", + "script_type": "js->", + "insert_position": "After Page Load->" + }, + { + "ids": "创建css类型css数据22", + "model": "create", + "script": "test_css_1.css->", + "script_type": "css->", + "insert_position": "->" + } + ] +} diff --git a/testdata/ui_data/profiles_data/response_pages.json b/testdata/ui_data/profiles_data/response_pages.json new file mode 100644 index 00000000..606a0f17 --- /dev/null +++ b/testdata/ui_data/profiles_data/response_pages.json @@ -0,0 +1,17 @@ +{ + "comment": "Resposne_pages参数注解,model可选参数create、modify。file中'->'为前后数据分隔符,分隔符前为创建数据,后为修改数据。例如:testa.html->表示只创建数据、testa.html->testb.html表示创建和修改数据。", + + "item": + [ + { + "ids": "创建respose_page文件11", + "model": "create", + "file": "testa.html->" + }, + { + "ids": "创建respose_page文件再修改", + "model": "modify", + "file": "testa.html->testb.html" + } + ] +} diff --git a/testdata/ui_data/profiles_data/shaping_profiles.json b/testdata/ui_data/profiles_data/shaping_profiles.json new file mode 100644 index 00000000..d94dc3fa --- /dev/null +++ b/testdata/ui_data/profiles_data/shaping_profiles.json @@ -0,0 +1,69 @@ +{ + "comment": "shaping_profiles参数注解:item中为参数驱动测试,model可选为modify。'->'为创建修改数据分隔符,前为创建数据,后为修改数据。unit分隔符后为空则只创建数据,例如’bps->‘、'543->'。unit分隔符后非空,修改数据。544->表示不修改、654->456表示修改前后数据。", + "item": + [ + { + "ids": "创建Generic_bps用例", + "model": "create", + "type": "Generic", + "argument": "", + "unit": "bps->", + "incoming": "0->", + "outgoing": "0->" + }, + { + "ids": "创建Generic_bps用例", + "model": "create", + "type": "Generic", + "argument": "", + "unit": "bps->", + "incoming": "876->", + "outgoing": "543->" + }, + { + "ids": "创建Fair_Share_Kbps用例", + "model": "create", + "type": "Fair Share", + "argument": "Max Min Host Fairness", + "unit": "Kbps->", + "incoming": "345->", + "outgoing": "678->" + }, + { + "ids": "创建Split_By_Mbps用例", + "model": "create", + "type": "Split By", + "argument": "Local Host", + "unit": "Mbps->", + "incoming": "678->", + "outgoing": "565->" + }, + { + "ids": "创建Generic_Gbps再修改为bps带宽", + "model": "modify", + "type": "Generic", + "argument": "", + "unit": "Gbps->bps", + "incoming": "500->876", + "outgoing": "800->543" + }, + { + "ids": "创建Fair_Share_bps再修改为Gps带宽", + "model": "modify", + "type": "Fair Share", + "argument": "Max Min Host Fairness", + "unit": "bps->Gbps", + "incoming": "670->856", + "outgoing": "550->543" + }, + { + "ids": "创建Split_By_Mps再修改为Mps带宽", + "model": "modify", + "type": "Split By", + "argument": "Local Host", + "unit": "Mbps->Mbps", + "incoming": "640->576", + "outgoing": "250->533" + } + ] +} diff --git a/testdata/ui_data/profiles_data/ssl_decryption_keyrings.json b/testdata/ui_data/profiles_data/ssl_decryption_keyrings.json new file mode 100644 index 00000000..01623df2 --- /dev/null +++ b/testdata/ui_data/profiles_data/ssl_decryption_keyrings.json @@ -0,0 +1,63 @@ +{ + "comment": "标识符'->'参数注解:model可选参数create、modify。标识符'->'为前后数据分隔符,分隔符前为创建数据,后为修改数据。例如:16->7:表示创建及修改;18->不修改:表示只创建不修改", + "comment2": "可选值参考certificate和private_key为文件名称。private_key=‘HSM-***’表示选择HSM格式,private_key=‘PKF-***’上次key文件名称。reissue_expiry_hours=‘MSC’表示默认时间,reissue_expiry_hours=‘C-***表示自定义时间’", + "comnent3": "可选值参考:type in (Root-Certificate,Intermediate-Certificate,End-entity)。 public_key_algorithm in (RSA-1024,RSA-2048,SECP-256r1,SECP-384r1)。 include_root in (on,off)", + "item": + [ + { + "ids": "创建root_根证书PKA设置为RSA-20481", + "model": "create", + "certificate": "test_root_cert_catest.cer->", + "private_key": "PKF-test_root_key_catest.key->", + "reissue_expiry_hours": "MSC->", + "type": "Root-Certificate->", + "public_key_algorithm": "RSA-2048->", + "certificate_revocation_list": "http://www.example.ABCD.com->", + "include_root": "off->" + }, + { + "ids": "创建root_根证书PKA设置为RSA-2048只修改PKA为SECP-384r1", + "model": "modify", + "certificate": "test_root_cert_catest.cer->不修改", + "private_key": "PKF-test_root_key_catest.key->不修改", + "reissue_expiry_hours": "MSC->不修改", + "type": "Root-Certificate->不修改", + "public_key_algorithm": "RSA-2048->SECP-384r1", + "certificate_revocation_list": "http://www.example.ABCD.com->不修改", + "include_root": "on->off" + }, + { + "ids": "创建root_根证书PKA设置为RSA-2048再修改为中间证书PKA设置为RSA-10243", + "model": "modify", + "certificate": "test_root_cert_catest.cer->test_mid_cert_camiddletest.chain.pem", + "private_key": "PKF-test_root_key_catest.key->PKF-test_mid_key_camiddletest.key", + "reissue_expiry_hours": "MSC->C-120", + "type": "Root-Certificate->Intermediate-Certificate", + "public_key_algorithm": "RSA-2048->RSA-1024", + "certificate_revocation_list": "->不修改", + "include_root": "on->off" + }, + { + "ids": "创建mid_中间书PKA设置为SECP-256r1再修改为实体证书PKA设置为SECP-384r1", + "model": "modify", + "certificate": "test_mid_cert_camiddletest.chain.pem->test_end_cert_caentitytest.chain.pem", + "private_key": "PKF-test_mid_key_camiddletest.key->PKF-test_end_keycaentitytest.key", + "reissue_expiry_hours": "C400->C-320", + "type": "Intermediate-Certificate->End-entity", + "public_key_algorithm": "SECP-256r1->SECP-384r1", + "certificate_revocation_list": "http://www.example.ABCD.cn.cmo->http://www.TESTAA.abcd.cn.cmo", + "include_root": "on->off" + }, + { + "ids": "创建mid_中间证书PKA设置为SECP-256r1私钥为HSM", + "model": "create", + "certificate": "test_mid_cert_camiddletest.chain.pem->", + "private_key": "HSM-453->", + "reissue_expiry_hours": "MSC->", + "type": "Intermediate-Certificate->", + "public_key_algorithm": "RSA-2048->", + "certificate_revocation_list": "http://www.www.ww->", + "include_root": "off->" + } + ] +} diff --git a/testdata/ui_data/profiles_data/ssl_decryption_profiles.json b/testdata/ui_data/profiles_data/ssl_decryption_profiles.json new file mode 100644 index 00000000..a8ab38ab --- /dev/null +++ b/testdata/ui_data/profiles_data/ssl_decryption_profiles.json @@ -0,0 +1,64 @@ +{ + "comment": "标识符'->'参数注解:model可选参数create、modify。标识符'->'为前后数据分隔符,分隔符前为创建数据,后为修改数据。例如:16->7:表示创建及修改;18->不修改:表示只创建不修改;18->删除:表示删除;->18:表示修改为新增(创建时不输入)", + "comment2": "开关的取值为:1.on、off。2.fail_action in (Fail-close,Pass-through)。3.min_client_version、max_client_version in (SSLv3.0,TLSv1.0,TLSv1.1,TLSv1.2,TLSv1.3)", + "item": + [ + { + "ids": "创建ssl_decryption_profiles_fail_action_on11", + "model": "create", + "common_name":"on->", + "issuer":"off->", + "self_signed":"off->", + "expiry_date":"on->", + "fail_action":"Pass-through->", + "ev_certificate":"on->", + "certificate_transparency":"on->", + "mutual_authentication":"on->", + "protocol_errors":"on->", + "certificate_pinning":"on->", + "certificate_not_installed":"on->", + "mirror_client_versions":"off->", + "min_client_version":"TLSv1.0->", + "max_client_version":"TLSv1.2->", + "allow_HTTP2":"off->" + }, + { + "ids": "创建ssl_decryption_profiles_fail_action_on再修改common_name_off22", + "model": "modify", + "common_name":"on->off", + "issuer":"on-off>", + "self_signed":"on->不修改", + "expiry_date":"on->不修改", + "fail_action":"Pass-through->不修改", + "ev_certificate":"on->off", + "certificate_transparency":"on->不修改", + "mutual_authentication":"on->不修改", + "protocol_errors":"on->不修改", + "certificate_pinning":"on->off", + "certificate_not_installed":"on->", + "mirror_client_versions":"off->off", + "min_client_version":"TLSv1.2->不修改", + "max_client_version":"TLSv1.3->不修改", + "allow_HTTP2":"off->on" + }, + { + "ids": "创建ssl_decryption_profiles_fail_action_on33", + "model": "create", + "common_name":"on->", + "issuer":"on->", + "self_signed":"on->", + "expiry_date":"on->", + "fail_action":"Pass-through->", + "ev_certificate":"off->", + "certificate_transparency":"off->", + "mutual_authentication":"on->", + "protocol_errors":"on->", + "certificate_pinning":"on->", + "certificate_not_installed":"off->", + "mirror_client_versions":"on->", + "min_client_version":"TLSv1.0->", + "max_client_version":"TLSv1.2->", + "allow_HTTP2":"on->" + } + ] +} diff --git a/testdata/ui_data/profiles_data/traffic_mirroring_profiles.json b/testdata/ui_data/profiles_data/traffic_mirroring_profiles.json new file mode 100644 index 00000000..934c3a04 --- /dev/null +++ b/testdata/ui_data/profiles_data/traffic_mirroring_profiles.json @@ -0,0 +1,44 @@ +{ + "comment": "traffic mirroring profiles参数注解,model可选参数create、modify。vlan_id为列表参数,标识符'->'为前后数据分隔符,分隔符前为创建数据,后为修改数据。例如:16->7:表示创建及修改;18->:表示只创建不修改;->23:表示修改中新增", + + "item": + [ + { + "ids": "创建traffic_mirroring_profiles_多vlanid", + "model": "create", + "vlan_id": + [ + "6->", + "58->" + ] + }, + { + "ids": "创建vlanid再修改", + "model": "modify", + "vlan_id": + [ + "16->7", + "18->", + "->23", + "25->45", + "55->55" + ] + }, + { + "ids": "创建一个vlanid", + "model": "create", + "vlan_id": + [ + "35->" + ] + }, + { + "ids": "创建一个vlanid再修改", + "model": "create", + "vlan_id": + [ + "45->25" + ] + } + ] +} diff --git a/testdata/ui_file/__init__.py b/testdata/ui_file/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_file/__init__.py diff --git a/testdata/ui_file/profiles/__init__.py b/testdata/ui_file/profiles/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_file/profiles/__init__.py diff --git a/testdata/ui_file/profiles/hijack_files/__init__.py b/testdata/ui_file/profiles/hijack_files/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/__init__.py diff --git a/testdata/ui_file/profiles/hijack_files/test_apk_1.apk b/testdata/ui_file/profiles/hijack_files/test_apk_1.apk Binary files differnew file mode 100644 index 00000000..c96c8ce8 --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_apk_1.apk diff --git a/testdata/ui_file/profiles/hijack_files/test_exe_1.exe b/testdata/ui_file/profiles/hijack_files/test_exe_1.exe Binary files differnew file mode 100644 index 00000000..e33f7250 --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_exe_1.exe diff --git a/testdata/ui_file/profiles/hijack_files/test_gif_1.gif b/testdata/ui_file/profiles/hijack_files/test_gif_1.gif Binary files differnew file mode 100644 index 00000000..8a8d19e6 --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_gif_1.gif diff --git a/testdata/ui_file/profiles/hijack_files/test_gif_2.gif b/testdata/ui_file/profiles/hijack_files/test_gif_2.gif Binary files differnew file mode 100644 index 00000000..042ac791 --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_gif_2.gif diff --git a/testdata/ui_file/profiles/hijack_files/test_html_1.html b/testdata/ui_file/profiles/hijack_files/test_html_1.html new file mode 100644 index 00000000..9cee60cd --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_html_1.html @@ -0,0 +1,185 @@ +<html> +<head> + <title>新建网页</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> + <meta name="description" content=""/> + <meta name="keywords" content=""/> + + <script type="text/javascript"> + //① 绘制地图 + function Map() { + //私有成员(不会随便发生变化) + var w = 800; + var h = 400; + + //成员方法,绘制地图 + this.showmap = function () { + //创建div、设置css样式、追加给body + var tu = document.createElement('div'); + + tu.style.width = w + "px"; + tu.style.height = h + "px"; + tu.style.backgroundImage = "url(./12.jpg)"; + + document.body.appendChild(tu); + } + } + + //② 绘制食物 + function Food() { + var len = 20; + //把食物(权值)坐标声明为公开的,以便在外部访问 + this.xFood = 0; + this.yFood = 0; + this.piece = null; //页面上唯一的食物对象 + //绘制 + this.showfood = function () { + //创建div、设置css样式、追加给body + if (this.piece === null) { + this.piece = document.createElement('div'); + this.piece.style.width = this.piece.style.height = len + "px"; + this.piece.style.backgroundColor = "green"; + this.piece.style.position = "absolute"; + + document.body.appendChild(this.piece); + } + //食物设置绝对定位(position/left/top) + //食物位置“随机”摆放 + //移动步进值:20px + //食物“权值”坐标: X轴(0-39) Y轴(0-19) + //食物真实坐标:权值坐标 * 步进值 + this.xFood = Math.floor(Math.random() * 40); //0-39的随机数 + this.yFood = Math.floor(Math.random() * 20); //0-19的随机数 + + this.piece.style.left = this.xFood * len + "px"; + this.piece.style.top = this.yFood * len + "px"; + + } + } + + //③ 小蛇 + function Snake() { + var len = 20; + this.redirect = "right"; //默认向右边移动 + //后期snakebody要变化,因此声明为公开的(每个蛇节:[x坐标,y坐标,颜色,蛇节对象]) + this.snakebody = [[0, 1, 'green', null], [1, 1, 'green', null], [2, 1, 'green', null], [3, 1, 'red', null]]; + //a.绘制小蛇 + this.showsnake = function () { + //遍历小蛇的各个蛇节,并依次创建即可 + for (var i = 0; i < this.snakebody.length; i++) { + //this.snakebody[i]//代表每个蛇节 + //创建蛇节div + if (this.snakebody[i][3] === null) {//判断没有创建对应的蛇节 + this.snakebody[i][3] = document.createElement('div'); + //设置css样式(宽度、高度、颜色) + this.snakebody[i][3].style.width = this.snakebody[i][3].style.height = len + "px"; + this.snakebody[i][3].style.backgroundColor = this.snakebody[i][2]; + //绝对定位及位置 + this.snakebody[i][3].style.position = "absolute"; + //把蛇节追加给body + document.body.appendChild(this.snakebody[i][3]); + } + this.snakebody[i][3].style.left = this.snakebody[i][0] * len + "px"; + this.snakebody[i][3].style.top = this.snakebody[i][1] * len + "px"; + } + } + + //b.移动小蛇 + this.movesnake = function () { + //非蛇头蛇节(当前蛇节的新坐标 是"下个蛇节"的旧坐标) + for (var i = 0; i < this.snakebody.length - 1; i++) { + this.snakebody[i][0] = this.snakebody[i + 1][0]; + this.snakebody[i][1] = this.snakebody[i + 1][1]; + } + if (this.redirect == "right") { + //蛇头x坐标递增 + this.snakebody[this.snakebody.length - 1][0] += 1; + } + if (this.redirect == "left") { + //蛇头x坐标递减 + this.snakebody[this.snakebody.length - 1][0] -= 1; + } + if (this.redirect == "up") { + //蛇头y坐标递减 + this.snakebody[this.snakebody.length - 1][1] -= 1; + } + if (this.redirect == "down") { + //蛇头y坐标递增 + this.snakebody[this.snakebody.length - 1][1] += 1; + } + + //判断蛇头碰到食物 + //蛇头坐标 + var xSnake = this.snakebody[this.snakebody.length - 1][0]; + var ySnake = this.snakebody[this.snakebody.length - 1][1]; + //食物坐标food.xFood/food.yFood; + if (xSnake == food.xFood && ySnake == food.yFood) { + //吃食物增加蛇节 + var newjie = [this.snakebody[0][0], this.snakebody[0][1], 'green', null]; + this.snakebody.unshift(newjie);//把newjie放到数组的第一个位置去 + + //原食物消失,重新生成一个食物 + food.showfood(); + } + + //控制小蛇在地图范围内移动 + if (xSnake < 0 || xSnake > 39 || ySnake < 0 || ySnake > 19) { + alert('game over'); + clearInterval(mytime); + return false; + } + //吃到自己判断(蛇头坐标与其他蛇节坐标一致) + for (var k = 0; k < this.snakebody.length - 1; k++) { + if (this.snakebody[k][0] == xSnake && this.snakebody[k][1] == ySnake) { + alert('game over kill you by yourself'); + clearInterval(mytime); + return false; + } + } + + //根据新坐标绘制小蛇 + this.showsnake(); + } + } + + window.onload = function () { + var map = new Map(); + map.showmap(); + + food = new Food();//声明为全局的以便在该加载事件函数外部访问 + food.showfood(); + + snake = new Snake();//声明为全局的snake对象 + snake.showsnake(); + + //移动小蛇 + //setInterval(全局变量,时间) + mytime = setInterval("snake.movesnake()", 200); + + //设置键盘事件,控制器小蛇移动方向 + document.onkeydown = function (evt) { + var num = evt.keyCode;//通过事件对象获得数值码,进而知道被触发键子 + if (num == 38) { + snake.redirect = "up"; + } + if (num == 40) { + snake.redirect = "down"; + } + if (num == 37) { + snake.redirect = "left"; + } + if (num == 39) { + snake.redirect = "right"; + } + } + } + </script> +<!-- + <style type="text/css"> + body { + margin: 0; + } + </style> --> +</head> +<body></body> +</html> diff --git a/testdata/ui_file/profiles/hijack_files/test_jpeg_1.jpeg b/testdata/ui_file/profiles/hijack_files/test_jpeg_1.jpeg Binary files differnew file mode 100644 index 00000000..c96c8ce8 --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_jpeg_1.jpeg diff --git a/testdata/ui_file/profiles/hijack_files/test_png_1.png b/testdata/ui_file/profiles/hijack_files/test_png_1.png Binary files differnew file mode 100644 index 00000000..76e778e0 --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_png_1.png diff --git a/testdata/ui_file/profiles/hijack_files/test_svg_1.svg b/testdata/ui_file/profiles/hijack_files/test_svg_1.svg Binary files differnew file mode 100644 index 00000000..e33f7250 --- /dev/null +++ b/testdata/ui_file/profiles/hijack_files/test_svg_1.svg diff --git a/testdata/ui_file/profiles/insert_scripts/__init__.py b/testdata/ui_file/profiles/insert_scripts/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_file/profiles/insert_scripts/__init__.py diff --git a/testdata/ui_file/profiles/insert_scripts/test_css_1.css b/testdata/ui_file/profiles/insert_scripts/test_css_1.css new file mode 100644 index 00000000..4b928372 --- /dev/null +++ b/testdata/ui_file/profiles/insert_scripts/test_css_1.css @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>菜鸟教程(runoob.com)</title> +<style> +body { + background-color:red; +} +h1 { + color:red; + text-align:center; +} +p { + font-family:"Times New Roman"; + font-size:20px; +} +</style> +</head> + +<body> + +<h1>CSS 实例!</h1> +<p>这是一个段落。</p> + +</body> +</html>
\ No newline at end of file diff --git a/testdata/ui_file/profiles/insert_scripts/test_css_2.css b/testdata/ui_file/profiles/insert_scripts/test_css_2.css new file mode 100644 index 00000000..08fd48b5 --- /dev/null +++ b/testdata/ui_file/profiles/insert_scripts/test_css_2.css @@ -0,0 +1,3 @@ +body{ + background:red !important; +}
\ No newline at end of file diff --git a/testdata/ui_file/profiles/insert_scripts/test_js_1.js b/testdata/ui_file/profiles/insert_scripts/test_js_1.js new file mode 100644 index 00000000..4f110c37 --- /dev/null +++ b/testdata/ui_file/profiles/insert_scripts/test_js_1.js @@ -0,0 +1 @@ +alert("鎵цjavascript!");
\ No newline at end of file diff --git a/testdata/ui_file/profiles/insert_scripts/test_js_2.js b/testdata/ui_file/profiles/insert_scripts/test_js_2.js new file mode 100644 index 00000000..6e7bffe1 --- /dev/null +++ b/testdata/ui_file/profiles/insert_scripts/test_js_2.js @@ -0,0 +1 @@ +alert("Hello World");
\ No newline at end of file diff --git a/testdata/ui_file/profiles/response_pages/__init__.py b/testdata/ui_file/profiles/response_pages/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_file/profiles/response_pages/__init__.py diff --git a/testdata/ui_file/profiles/response_pages/testa.html b/testdata/ui_file/profiles/response_pages/testa.html new file mode 100644 index 00000000..a490e611 --- /dev/null +++ b/testdata/ui_file/profiles/response_pages/testa.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> + +<meta charset="UTF-8" http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<title>404-对不起!您访问的页面不存在</title> + +<style type="text/css"> + +.head404{ width:580px; height:234px; margin:50px auto 0 auto; background:url(https://www.daixiaorui.com/Public/images/head404.png) no-repeat; } + +.txtbg404{ width:499px; height:169px; margin:10px auto 0 auto; background:url(https://www.daixiaorui.com/Public/images/txtbg404.png) no-repeat;} + +.txtbg404 .txtbox{ width:390px; position:relative; top:30px; left:60px;color:#eee; font-size:13px;} + +.txtbg404 .txtbox p {margin:5px 0; line-height:18px;} + +.txtbg404 .txtbox .paddingbox { padding-top:15px;} + +.txtbg404 .txtbox p a { color:#eee; text-decoration:none;} + +.txtbg404 .txtbox p a:hover { color:#FC9D1D; text-decoration:underline;} + +</style> + +</head> + + + +<body bgcolor="#494949"> + + <div class="head404"></div> + + <div class="txtbg404"> + + <div class="txtbox"> + + <p>对不起,您请求的页面不存在、或已被删除、或暂时不可用</p> + + <p class="paddingbox">请点击以下链接继续浏览网页</p> + + <p>》<a style="cursor:pointer" onclick="history.back()">返回上一页面</a></p> + + <p>》<a href="https://www.daixiaorui.com">返回网站首页</a></p> + + </div> + + </div> + +</body> + +</html> +</html> diff --git a/testdata/ui_file/profiles/response_pages/testb.html b/testdata/ui_file/profiles/response_pages/testb.html new file mode 100644 index 00000000..9fd8aa96 --- /dev/null +++ b/testdata/ui_file/profiles/response_pages/testb.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> + +<meta charset="UTF-8" http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<title>404 sorry! The page you visited does not exist</title> + +<style type="text/css"> + +.head404{ width:580px; height:234px; margin:50px auto 0 auto; background:url(https://www.daixiaorui.com/Public/images/head404.png) no-repeat; } + +.txtbg404{ width:499px; height:169px; margin:10px auto 0 auto; background:url(https://www.daixiaorui.com/Public/images/txtbg404.png) no-repeat;} + +.txtbg404 .txtbox{ width:390px; position:relative; top:30px; left:60px;color:#eee; font-size:13px;} + +.txtbg404 .txtbox p {margin:5px 0; line-height:18px;} + +.txtbg404 .txtbox .paddingbox { padding-top:15px;} + +.txtbg404 .txtbox p a { color:#eee; text-decoration:none;} + +.txtbg404 .txtbox p a:hover { color:#FC9D1D; text-decoration:underline;} + +</style> + +</head> + + + +<body bgcolor="#494949"> + + <div class="head404"></div> + + <div class="txtbg404"> + + <div class="txtbox"> + + <p>Sorry, the page you requested does not exist, has been deleted, or is temporarily unavailable</p> + + <p class="paddingbox">Please click the following link to continue browsing</p> + + <p>》<a style="cursor:pointer" onclick="history.back()">Back to previous page</a></p> + + <p>》<a href="https://www.daixiaorui.com">Back to home page</a></p> + + </div> + + </div> + +</body> + +</html> +</html> diff --git a/testdata/ui_file/profiles/response_pages/testc.html b/testdata/ui_file/profiles/response_pages/testc.html new file mode 100644 index 00000000..21d6fcdc --- /dev/null +++ b/testdata/ui_file/profiles/response_pages/testc.html @@ -0,0 +1,56 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> + +<meta charset="UTF-8" http-equiv="Content-Type" content="text/html; charset=utf-8" /> + +<title> - 404, простите! страница, к которой вы пришли, не существует </title> + +<style type="text/css"> + +.head404{ width:580px; height:234px; margin:50px auto 0 auto; background:url(https://www.daixiaorui.com/Public/images/head404.png) no-repeat; } + +.txtbg404{ width:499px; height:169px; margin:10px auto 0 auto; background:url(https://www.daixiaorui.com/Public/images/txtbg404.png) no-repeat;} + +.txtbg404 .txtbox{ width:390px; position:relative; top:30px; left:60px;color:#eee; font-size:13px;} + +.txtbg404 .txtbox p {margin:5px 0; line-height:18px;} + +.txtbg404 .txtbox .paddingbox { padding-top:15px;} + +.txtbg404 .txtbox p a { color:#eee; text-decoration:none;} + +.txtbg404 .txtbox p a:hover { color:#FC9D1D; text-decoration:underline;} + +</style> + +</head> + + + +<body bgcolor="#494949"> + + <div class="head404"></div> + + <div class="txtbg404"> + + <div class="txtbox"> + + <p> Извините, запрошенная страница не существует или была удалена или временно недоступна </p> + + <p class="paddingbox">Продолжайте просматривать страницы</p> + + <p>》<a style="cursor:pointer" onclick="history.back()">вернуться на предыдущую страницу </a></p> + + <p>》<a href="https://www.daixiaorui.com">вернуться на главную страницу сайта </a></p> + + </div> + + </div> + +</body> + +</html> +</html> diff --git a/testdata/ui_file/profiles/ssl_decryption_keyrings/__init__.py b/testdata/ui_file/profiles/ssl_decryption_keyrings/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/testdata/ui_file/profiles/ssl_decryption_keyrings/__init__.py diff --git a/testdata/ui_file/profiles/ssl_decryption_keyrings/test_end_cert_caentitytest.chain.pem b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_end_cert_caentitytest.chain.pem new file mode 100644 index 00000000..730ea47b --- /dev/null +++ b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_end_cert_caentitytest.chain.pem @@ -0,0 +1,93 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 72:cc:5f:e2:55:f6:e6:f6:c4:bc:7c:6b + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, ST=BJ, L=BJ, O=NT, OU=NT, CN=CA TRUST1 + Validity + Not Before: Jul 7 11:39:21 2023 GMT + Not After : Nov 18 11:39:21 2024 GMT + Subject: C=CN, CN=www.bbc.com + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:df:ad:1c:bc:ae:44:16:8a:be:bf:eb:69:06:07: + 5e:16:35:3b:e7:41:5d:48:8b:0f:6c:38:ee:7e:97: + 0f:43:de:63:27:84:5e:65:bc:28:7c:57:f1:4c:2a: + 92:98:e2:73:33:be:39:58:f2:7a:cf:55:45:23:16: + f3:c1:e9:fd:3e:f8:a7:a2:02:c6:f1:20:ff:13:dc: + f2:0a:31:29:fc:d8:e7:90:2d:ef:8e:44:6d:65:92: + fa:3a:a2:73:99:26:ee:e8:35:6f:07:dd:2f:49:61: + 11:11:d2:fb:7a:4c:8a:b9:19:ab:e3:99:79:07:ac: + fc:dd:62:7b:7f:de:fe:ff:8b:a7:68:8c:61:f8:49: + 57:67:8d:a8:23:92:a4:3f:e5:69:0a:6a:38:e3:56: + e2:dc:d2:ac:d5:62:6e:16:9e:46:c5:f3:19:c1:85: + 95:f2:5c:99:d0:2a:a6:80:64:2c:d2:7e:06:b6:80: + fc:48:f0:fc:06:57:c0:89:17:6a:4b:06:c9:26:54: + f5:36:59:44:01:89:89:5c:8d:fb:50:d7:10:ca:bc: + 3a:76:2a:f5:fa:4d:dc:0f:bc:bc:49:e0:92:8d:1d: + 7a:33:42:52:83:dc:ce:78:59:86:31:88:c0:4f:25: + f2:4b:7b:6f:18:d8:59:fd:f4:53:1b:fd:b4:95:ad: + 99:d3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Alternative Name: + DNS:*.bbc.com, DNS:*.bbc.cn + Signature Algorithm: sha256WithRSAEncryption + ba:a0:a4:49:aa:7f:04:9d:eb:df:c1:c6:27:27:2e:52:c1:3a: + 1d:31:73:be:37:d7:17:6e:7f:1d:ca:f6:f8:24:bb:40:e2:08: + aa:13:84:5e:94:c0:e0:7c:80:f2:75:91:2c:cf:b2:31:9c:38: + bf:45:63:81:7c:20:60:d0:23:cf:0c:ca:14:41:b4:95:a0:e2: + 8f:b7:b8:e9:cb:2e:69:19:f0:53:c6:8f:96:1c:94:bd:41:c2: + d6:81:6e:1f:84:45:00:fa:7c:5a:39:3e:fa:14:6d:75:bf:d9: + ad:c9:85:58:10:24:3a:38:2a:85:90:a2:0b:58:06:7d:c8:2f: + 4a:b8:31:92:8e:c8:3d:21:9d:f6:74:2f:29:57:b2:7b:ee:8e: + 90:47:34:69:54:34:af:93:e3:cf:3a:31:56:40:20:03:61:ec: + 38:49:5b:e9:5a:e4:23:41:6e:f1:33:64:7f:d6:44:96:7b:e8: + 14:79:bf:5e:34:03:d0:63:a0:06:bb:c7:b0:24:8b:87:c6:df: + 5e:24:54:2e:35:05:88:f4:36:12:3d:76:8b:92:8f:95:e9:9c: + 14:39:0e:8f:e4:50:70:f6:f7:cf:24:01:7b:30:7d:33:43:b0: + 20:e1:1c:93:64:15:66:f2:4f:b0:2b:ae:48:18:67:fc:86:fa: + b8:f2:5b:ec +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIMcsxf4lX25vbEvHxrMA0GCSqGSIb3DQEBCwUAMFUxCzAJ +BgNVBAYTAkNOMQswCQYDVQQIDAJCSjELMAkGA1UEBwwCQkoxCzAJBgNVBAoMAk5U +MQswCQYDVQQLDAJOVDESMBAGA1UEAwwJQ0EgVFJVU1QxMB4XDTIzMDcwNzExMzky +MVoXDTI0MTExODExMzkyMVowIzELMAkGA1UEBhMCQ04xFDASBgNVBAMMC3d3dy5i +YmMuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA360cvK5EFoq+ +v+tpBgdeFjU750FdSIsPbDjufpcPQ95jJ4ReZbwofFfxTCqSmOJzM745WPJ6z1VF +Ixbzwen9PvinogLG8SD/E9zyCjEp/NjnkC3vjkRtZZL6OqJzmSbu6DVvB90vSWER +EdL7ekyKuRmr45l5B6z83WJ7f97+/4unaIxh+ElXZ42oI5KkP+VpCmo441bi3NKs +1WJuFp5GxfMZwYWV8lyZ0CqmgGQs0n4GtoD8SPD8BlfAiRdqSwbJJlT1NllEAYmJ +XI37UNcQyrw6dir1+k3cD7y8SeCSjR16M0JSg9zOeFmGMYjATyXyS3tvGNhZ/fRT +G/20la2Z0wIDAQABoyIwIDAeBgNVHREEFzAVggkqLmJiYy5jb22CCCouYmJjLmNu +MA0GCSqGSIb3DQEBCwUAA4IBAQC6oKRJqn8EnevfwcYnJy5SwTodMXO+N9cXbn8d +yvb4JLtA4giqE4RelMDgfIDydZEsz7IxnDi/RWOBfCBg0CPPDMoUQbSVoOKPt7jp +yy5pGfBTxo+WHJS9QcLWgW4fhEUA+nxaOT76FG11v9mtyYVYECQ6OCqFkKILWAZ9 +yC9KuDGSjsg9IZ32dC8pV7J77o6QRzRpVDSvk+PPOjFWQCADYew4SVvpWuQjQW7x +M2R/1kSWe+gUeb9eNAPQY6AGu8ewJIuHxt9eJFQuNQWI9DYSPXaLko+V6ZwUOQ6P +5FBw9vfPJAF7MH0zQ7Ag4RyTZBVm8k+wK65IGGf8hvq48lvs +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIJAJnxzpEq+vIfMA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV +BAYTAkNOMQswCQYDVQQIDAJCSjELMAkGA1UEBwwCQkoxCzAJBgNVBAoMAk5UMQsw +CQYDVQQLDAJOVDESMBAGA1UEAwwJQ0EgVFJVU1QxMB4XDTIzMDcwNzExMjk1NVoX +DTI0MTExODExMjk1NVowVTELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkJKMQswCQYD +VQQHDAJCSjELMAkGA1UECgwCTlQxCzAJBgNVBAsMAk5UMRIwEAYDVQQDDAlDQSBU +UlVTVDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDO+4rZA65F6tlt +HEnbFG56FyYs/V9XAM6sSSnnFj8H8MNvxiRQXlaevdK8/7xwtN3udX+x4VdSnmi4 +wPGLhrPWvrrv2ZrDbRlBwNmIosmE+dQdqf9OyN44Pw4/TQoh14CWqjqxQXYLevrn +45GH1POUR64U6qO5Uq5B83zimTRWTbXertvrYb4plOKNxvav3IKdNEufRJSqxelf +AUMQnsrH1iO4iMpZHBYSNbfwl6gkgnXxsr8YTZrrQwk9Bcd/0bFQ+v3OiWD5oiYc +XfcIBTeoy6IIICNc7krfnXRpsXO2oimNgMS6nHPKvXYF5jTbKr0A40ElDEIjtt5T +Yb4oWNHfAgMBAAGjUDBOMB0GA1UdDgQWBBSD6d3VXldZQOiVGZC0Y3nuANvG2zAf +BgNVHSMEGDAWgBSD6d3VXldZQOiVGZC0Y3nuANvG2zAMBgNVHRMEBTADAQH/MA0G +CSqGSIb3DQEBCwUAA4IBAQCM3XHUZ1RwpLtF5DpEKDmC4osIiguk7ENF7Bg+LCQt +GzIeBkHPZ0sKbqZr0og6a0r0Qn1Xzr5nku9cuFH1Gc9Wwg82i8zXLgD8//VSNy5k +SLKb7MiAAnUHv6ZkluX8X9bdg32vb+sTwhuFhjbI5LVWvY3dq/Ez+WERFUxgNL3s +dgiJABkslbkjobgB39m/Lr223P6HwG5n6YukKSmwfiion5QYsTbTpd9AYbAD5UTs +A5H5pRdk/mxJ7yYsgosu60wAUI/xVAVvsaUDGa+koiVKPhUg4A7Qd/2oDByb/H9J +atqHkSjkwvhAekC0mOjKh6ED/Nr2tnN5l0GIbwRvj9Xz +-----END CERTIFICATE----- diff --git a/testdata/ui_file/profiles/ssl_decryption_keyrings/test_end_keycaentitytest.key b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_end_keycaentitytest.key new file mode 100644 index 00000000..7683dbe3 --- /dev/null +++ b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_end_keycaentitytest.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEA360cvK5EFoq+v+tpBgdeFjU750FdSIsPbDjufpcPQ95jJ4Re +ZbwofFfxTCqSmOJzM745WPJ6z1VFIxbzwen9PvinogLG8SD/E9zyCjEp/NjnkC3v +jkRtZZL6OqJzmSbu6DVvB90vSWEREdL7ekyKuRmr45l5B6z83WJ7f97+/4unaIxh ++ElXZ42oI5KkP+VpCmo441bi3NKs1WJuFp5GxfMZwYWV8lyZ0CqmgGQs0n4GtoD8 +SPD8BlfAiRdqSwbJJlT1NllEAYmJXI37UNcQyrw6dir1+k3cD7y8SeCSjR16M0JS +g9zOeFmGMYjATyXyS3tvGNhZ/fRTG/20la2Z0wIDAQABAoIBAFqQNe1zRaA25wq/ +3xMQ0ph9T1bP0Vw46bKwzme08/pPxafPYYUhjObjmJB1QEvkjC5sG74W14CxDsAp +X+Kowd/IP99J7pDdAkphkCJuS4jTrdZjsvXQYNbajrRE6DcfW2XrlJwDg0zbn1Sv +LyEScqyFZ2JM1oM0GGHuqQBaIrcGa6c8LgtaxmgVKMGA5EbSL86eZ8s0UNwiQs8Y +U1GLrb0ecxJxjI7qHkj3e6bzfJ84P+EA97ZwnSEx2xV9ceMYfzo/nUKFo6BZo9Qy +S1vBbHCs6Pv+1jg5rObI4F+w3Q1xkXDtOo8iGsFjIYvAXVw8k8DeI6hgI1OhF8I1 +Xz/azMkCgYEA8N5JE/u8SVZCfvaHj+e2Orlll+hTvI9GWu7lLYEVd9vdfri31n7v +hHrcV98JqSBVPiKO78H29kSYWfmLRGMWKHInFfdVmuEOi7Xq3b4yIUk+y308A4qo +Wx5JppQQ7Ej/9+lO+AF1ru1x4qsvY+XlmfC9l3zYy9G2+TIKe1kzV1UCgYEA7bpW +tA2ocmeCUWP69dxXwLihsrAMkyIww7DWZHcE2tTH1YxfRdQM4AxrlO2st2aDcP6G +P74cF6ooyeijZS3825rnZpxdpIjic0k/MwJnkyD2Rf16qXhvvu82pA46uyZ2TBfk +Z5kFJw2pC6maNhg2OZCHNlWj2Qprr2EdzcdYXIcCgYBvWNK/gifQXyfuOVkBlUQQ +cZQdXTEYgcMsVjNrjbi259TEt++EILnorEMf++MjY+cECkW5YBkiTyN+tHVE7+lW +WS7oYKYaKt/mhfpE95+E868rsoEDwh2BwcaaUuhf0n9Bw4DV9RbJ/soe1rPZonU5 +bKi4VuaBkjjbid5+lwW84QKBgEB1aBEGKwhqPJGpFGEZz8l3xpBW3/H9MU++YUN4 +ah6T12N13ldmud7+PyVwlIZeC4HV4bzi5WcdQlYM+FD0+TzqcZgHCfUVEKHF2JcS +Lddc9qnfoyTUfSg+YIh3O0GHmkfjqpDUkusV7yI0aJYGVp2hLKh07CprgutY3+Xu +CW19AoGAZzRkQeqrdwLEHOMY4p0GNrwDnubfwBzjEHWt3tBCgRQjPiwpdtXIdXgk +LDc2ZRUMw38JDELQ/BnzhXZa7JKJJJY6mNFTP/mUiGW959C8axE8csiPbIbQopY2 +wseDiyumC8r2wkhUfFST115LoShLeK/ZoiIA2ThWxCdbm/1PHVg= +-----END RSA PRIVATE KEY----- diff --git a/testdata/ui_file/profiles/ssl_decryption_keyrings/test_mid_cert_camiddletest.chain.pem b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_mid_cert_camiddletest.chain.pem new file mode 100644 index 00000000..c13ccf89 --- /dev/null +++ b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_mid_cert_camiddletest.chain.pem @@ -0,0 +1,100 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 71:d9:ff:18:5a:34:cc:9f:ee:60:0b:bd + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=CN, ST=BJ, L=BJ, O=NT, OU=NT, CN=CA TRUST1 + Validity + Not Before: Jul 7 11:30:01 2023 GMT + Not After : Nov 18 11:30:01 2024 GMT + Subject: C=CN, ST=BJ, O=NT, OU=NT, CN=camiddle1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:cb:5a:af:94:d2:6a:98:91:f1:13:6e:95:9e:ed: + 50:96:85:0e:8e:0b:fd:7f:f2:20:b6:88:27:34:91: + 9f:b3:c4:27:43:e4:e9:44:80:fd:e2:51:67:d7:f8: + 9b:17:16:2c:36:7e:f4:75:29:63:40:ec:9b:29:a7: + 4e:a2:d9:e1:ca:1a:51:62:43:5e:af:55:8a:64:b5: + 76:ba:a4:78:d6:87:fa:d6:a1:cb:08:67:69:0c:ec: + 5a:d9:7b:78:6f:28:d3:1b:14:63:ee:bd:47:92:e1: + 57:18:33:bc:99:ba:2f:82:cd:45:15:b2:bd:13:fa: + 51:38:bb:2b:68:11:0a:a4:b9:18:88:70:56:5f:89: + e1:10:21:79:e9:b1:f4:15:8b:74:10:6f:d8:36:9e: + 60:4c:1d:61:63:52:7b:b7:3d:63:8b:65:b3:2f:ed: + e7:d4:b5:39:15:32:52:d3:73:ea:c4:85:53:45:ea: + 5a:77:67:4c:3c:bb:0a:b8:0b:63:69:39:38:d3:61: + 78:16:10:48:e6:40:bf:1a:a9:9b:7a:1c:6f:33:45: + c6:f7:71:43:8c:62:27:7b:78:c3:0e:a7:99:c3:46: + b0:9a:1a:57:aa:8d:aa:75:b3:3d:66:dc:6e:c2:a1: + 04:0c:1e:de:0b:47:22:a9:9e:79:f9:77:b0:4f:02: + a4:f9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + 5D:44:58:02:45:8B:00:5A:DC:03:69:84:EE:70:D6:41:3F:17:C6:10 + X509v3 Authority Key Identifier: + keyid:83:E9:DD:D5:5E:57:59:40:E8:95:19:90:B4:63:79:EE:00:DB:C6:DB + + X509v3 Basic Constraints: + CA:TRUE + Signature Algorithm: sha256WithRSAEncryption + 42:d8:bc:41:ae:5f:f3:3b:49:c0:72:b3:79:d0:68:36:22:82: + 14:d6:71:56:2c:d2:85:39:2c:34:7c:0a:2c:d8:88:2b:0e:04: + 62:b2:5a:0b:ab:03:df:58:a8:ac:a9:16:a4:81:e8:e4:61:45: + 08:2b:82:3c:7c:66:ca:00:04:57:a5:47:7e:15:f4:1b:a8:7d: + c0:02:5d:2e:ad:ee:52:03:38:d4:5b:e2:d8:4e:04:7b:c2:cd: + 7e:0e:ca:9f:b9:e9:43:1c:25:01:60:2b:91:37:de:de:31:cc: + 88:47:88:1f:46:95:49:de:67:35:16:f1:21:77:c3:03:40:56: + 6a:ac:dc:49:4c:ba:b4:5a:13:cb:68:97:59:8d:5c:7e:ca:a2: + fc:5d:21:95:9f:3c:3f:9b:ea:25:b9:8f:30:6d:68:a6:58:6c: + b6:8f:4c:d3:4c:c4:a7:da:04:49:ca:d0:96:81:c3:fb:41:6d: + ba:4d:9a:b2:fd:b2:0b:30:7c:1e:da:90:54:d3:ac:e0:ad:e3: + 48:9f:ef:51:9e:e4:e8:2e:1d:a5:17:cd:8b:40:94:30:44:e0: + 1d:f3:7f:ec:a6:6e:c8:2f:1c:a3:84:17:f9:66:f7:74:f9:8d: + b5:59:86:da:36:31:71:14:0f:af:d9:c3:96:92:e2:54:c6:b4: + 8b:76:f6:08 +-----BEGIN CERTIFICATE----- +MIIDczCCAlugAwIBAgIMcdn/GFo0zJ/uYAu9MA0GCSqGSIb3DQEBCwUAMFUxCzAJ +BgNVBAYTAkNOMQswCQYDVQQIDAJCSjELMAkGA1UEBwwCQkoxCzAJBgNVBAoMAk5U +MQswCQYDVQQLDAJOVDESMBAGA1UEAwwJQ0EgVFJVU1QxMB4XDTIzMDcwNzExMzAw +MVoXDTI0MTExODExMzAwMVowSDELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkJKMQsw +CQYDVQQKDAJOVDELMAkGA1UECwwCTlQxEjAQBgNVBAMMCWNhbWlkZGxlMTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMtar5TSapiR8RNulZ7tUJaFDo4L +/X/yILaIJzSRn7PEJ0Pk6USA/eJRZ9f4mxcWLDZ+9HUpY0DsmymnTqLZ4coaUWJD +Xq9VimS1drqkeNaH+tahywhnaQzsWtl7eG8o0xsUY+69R5LhVxgzvJm6L4LNRRWy +vRP6UTi7K2gRCqS5GIhwVl+J4RAheemx9BWLdBBv2DaeYEwdYWNSe7c9Y4tlsy/t +59S1ORUyUtNz6sSFU0XqWndnTDy7CrgLY2k5ONNheBYQSOZAvxqpm3ocbzNFxvdx +Q4xiJ3t4ww6nmcNGsJoaV6qNqnWzPWbcbsKhBAwe3gtHIqmeefl3sE8CpPkCAwEA +AaNQME4wHQYDVR0OBBYEFF1EWAJFiwBa3ANphO5w1kE/F8YQMB8GA1UdIwQYMBaA +FIPp3dVeV1lA6JUZkLRjee4A28bbMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBAELYvEGuX/M7ScBys3nQaDYighTWcVYs0oU5LDR8CizYiCsOBGKyWgur +A99YqKypFqSB6ORhRQgrgjx8ZsoABFelR34V9BuofcACXS6t7lIDONRb4thOBHvC +zX4Oyp+56UMcJQFgK5E33t4xzIhHiB9GlUneZzUW8SF3wwNAVmqs3ElMurRaE8to +l1mNXH7KovxdIZWfPD+b6iW5jzBtaKZYbLaPTNNMxKfaBEnK0JaBw/tBbbpNmrL9 +sgswfB7akFTTrOCt40if71Ge5OguHaUXzYtAlDBE4B3zf+ymbsgvHKOEF/lm93T5 +jbVZhto2MXEUD6/Zw5aS4lTGtIt29gg= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIJAJnxzpEq+vIfMA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV +BAYTAkNOMQswCQYDVQQIDAJCSjELMAkGA1UEBwwCQkoxCzAJBgNVBAoMAk5UMQsw +CQYDVQQLDAJOVDESMBAGA1UEAwwJQ0EgVFJVU1QxMB4XDTIzMDcwNzExMjk1NVoX +DTI0MTExODExMjk1NVowVTELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkJKMQswCQYD +VQQHDAJCSjELMAkGA1UECgwCTlQxCzAJBgNVBAsMAk5UMRIwEAYDVQQDDAlDQSBU +UlVTVDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDO+4rZA65F6tlt +HEnbFG56FyYs/V9XAM6sSSnnFj8H8MNvxiRQXlaevdK8/7xwtN3udX+x4VdSnmi4 +wPGLhrPWvrrv2ZrDbRlBwNmIosmE+dQdqf9OyN44Pw4/TQoh14CWqjqxQXYLevrn +45GH1POUR64U6qO5Uq5B83zimTRWTbXertvrYb4plOKNxvav3IKdNEufRJSqxelf +AUMQnsrH1iO4iMpZHBYSNbfwl6gkgnXxsr8YTZrrQwk9Bcd/0bFQ+v3OiWD5oiYc +XfcIBTeoy6IIICNc7krfnXRpsXO2oimNgMS6nHPKvXYF5jTbKr0A40ElDEIjtt5T +Yb4oWNHfAgMBAAGjUDBOMB0GA1UdDgQWBBSD6d3VXldZQOiVGZC0Y3nuANvG2zAf +BgNVHSMEGDAWgBSD6d3VXldZQOiVGZC0Y3nuANvG2zAMBgNVHRMEBTADAQH/MA0G +CSqGSIb3DQEBCwUAA4IBAQCM3XHUZ1RwpLtF5DpEKDmC4osIiguk7ENF7Bg+LCQt +GzIeBkHPZ0sKbqZr0og6a0r0Qn1Xzr5nku9cuFH1Gc9Wwg82i8zXLgD8//VSNy5k +SLKb7MiAAnUHv6ZkluX8X9bdg32vb+sTwhuFhjbI5LVWvY3dq/Ez+WERFUxgNL3s +dgiJABkslbkjobgB39m/Lr223P6HwG5n6YukKSmwfiion5QYsTbTpd9AYbAD5UTs +A5H5pRdk/mxJ7yYsgosu60wAUI/xVAVvsaUDGa+koiVKPhUg4A7Qd/2oDByb/H9J +atqHkSjkwvhAekC0mOjKh6ED/Nr2tnN5l0GIbwRvj9Xz +-----END CERTIFICATE----- diff --git a/testdata/ui_file/profiles/ssl_decryption_keyrings/test_mid_key_camiddletest.key b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_mid_key_camiddletest.key new file mode 100644 index 00000000..2060cc7d --- /dev/null +++ b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_mid_key_camiddletest.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAy1qvlNJqmJHxE26Vnu1QloUOjgv9f/IgtognNJGfs8QnQ+Tp +RID94lFn1/ibFxYsNn70dSljQOybKadOotnhyhpRYkNer1WKZLV2uqR41of61qHL +CGdpDOxa2Xt4byjTGxRj7r1HkuFXGDO8mbovgs1FFbK9E/pROLsraBEKpLkYiHBW +X4nhECF56bH0FYt0EG/YNp5gTB1hY1J7tz1ji2WzL+3n1LU5FTJS03PqxIVTRepa +d2dMPLsKuAtjaTk402F4FhBI5kC/GqmbehxvM0XG93FDjGIne3jDDqeZw0awmhpX +qo2qdbM9ZtxuwqEEDB7eC0ciqZ55+XewTwKk+QIDAQABAoIBAGHBsaB4WrgHiH3P +7mtdKB2Dz1Bn4TBtpF47K6Wwz7YqeLnBxIWjAOmYOrRvFZdOmGiGNVxRTh5638hx +XnMZDNsMNc1oF49wLrxlI7Nrt49iBSrC0oiytaR5xt6/5VCCrqFY9wVgxpSMcUL4 +NBUulQJrTWe16gE9l2gPSjmX36b5XLG6n3wsMCh8yphwwOBg86DjYWVY+q/AKY+j +emSka2HYNTXOLQw6cBMcx2dKXtz4/XxDEtbhn/Fwd8B4D4n5RsuqDlLe/vLSXoDp +1IDuK+SsprFZg2O6ss6r9hFEpBtTLYlk9RPlCgtvrMhwCULcRhxoIVxfvL9i+75E +WT6KoQECgYEA6J8btSUE/bNVgy3mmcTZ9t/ukagg3DOyAR/cojEZB3G4FocGxfI8 +BRWUYL3X4tTibLh222fWQMiJB2nUGCEstPKC4vBuorq8jdmNS4EvT0v7w0MiELrf +MiBq2vRla74buweIlTO67kXt+2+MsY4H8jkUanj6ajseJYWvPPsEQWECgYEA38qW +qE7Hc32VlgL00uIYjBGkvfEHDRzwROwTiWMtvqea2WpdR/mBfzrWle4rUXiH9c+A +GTSh2aBpfEgIqzR5wDASYk4cbgfyl/PjsG0ibCf/auilMeHJXw9RDSdkWnfPmFd/ +633yzsY6aYNNauaxSuTLI09VxX8rVYXYfp2W0pkCgYEAiXFI67SdyFBnXASI1Z3r +suQIj2MpVzHsIKH0uJgN08orHJRXOimvsMlZS/efUNS7m8U55NTrUIer/wdWW5Nu +WNNY5kFs/RUcRyudQlln3JBmhq5puDzRl0p0GD6CljBTLiR7XLyd3B7RR9hW5qmm +pEV5fJdSTeX0H/Nm4L7nesECgYBbTnnnk7TWzw9gFDa1b+AaDfzMLnH1DLCPPk6+ +SEPavOF2AWqrugX21hfFNlZgODAov4+BOTMr6sH/HhjDWXavTi3CBCKfVgjJrI1i +ZzSbMjqI8QCteHTDnykvl7nfG3EMs+6SM2IEsWYVtKe6jQMbDnw/HNhe6wLQMvrg +tgVaSQKBgQDRLgTP5YxrUMUT3dq1cyXy3DQoMCPjAka07zXBaAAALtnn57SxR1mN +kJ4cl4YjhdhRBvGV7KSB4hDBKks+xRuuuQ+Eq+I68a9uWE/k4Sdh3MZpif57lC+L +edJqQRviqD0xMi+JImb6rUtNCjVJ/OgLc5pGgdeFi/+lRkiX9M8xJA== +-----END RSA PRIVATE KEY----- diff --git a/testdata/ui_file/profiles/ssl_decryption_keyrings/test_root_cert_catest.cer b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_root_cert_catest.cer new file mode 100644 index 00000000..8392b0d6 --- /dev/null +++ b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_root_cert_catest.cer @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIJAJnxzpEq+vIfMA0GCSqGSIb3DQEBCwUAMFUxCzAJBgNV +BAYTAkNOMQswCQYDVQQIDAJCSjELMAkGA1UEBwwCQkoxCzAJBgNVBAoMAk5UMQsw +CQYDVQQLDAJOVDESMBAGA1UEAwwJQ0EgVFJVU1QxMB4XDTIzMDcwNzExMjk1NVoX +DTI0MTExODExMjk1NVowVTELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAkJKMQswCQYD +VQQHDAJCSjELMAkGA1UECgwCTlQxCzAJBgNVBAsMAk5UMRIwEAYDVQQDDAlDQSBU +UlVTVDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDO+4rZA65F6tlt +HEnbFG56FyYs/V9XAM6sSSnnFj8H8MNvxiRQXlaevdK8/7xwtN3udX+x4VdSnmi4 +wPGLhrPWvrrv2ZrDbRlBwNmIosmE+dQdqf9OyN44Pw4/TQoh14CWqjqxQXYLevrn +45GH1POUR64U6qO5Uq5B83zimTRWTbXertvrYb4plOKNxvav3IKdNEufRJSqxelf +AUMQnsrH1iO4iMpZHBYSNbfwl6gkgnXxsr8YTZrrQwk9Bcd/0bFQ+v3OiWD5oiYc +XfcIBTeoy6IIICNc7krfnXRpsXO2oimNgMS6nHPKvXYF5jTbKr0A40ElDEIjtt5T +Yb4oWNHfAgMBAAGjUDBOMB0GA1UdDgQWBBSD6d3VXldZQOiVGZC0Y3nuANvG2zAf +BgNVHSMEGDAWgBSD6d3VXldZQOiVGZC0Y3nuANvG2zAMBgNVHRMEBTADAQH/MA0G +CSqGSIb3DQEBCwUAA4IBAQCM3XHUZ1RwpLtF5DpEKDmC4osIiguk7ENF7Bg+LCQt +GzIeBkHPZ0sKbqZr0og6a0r0Qn1Xzr5nku9cuFH1Gc9Wwg82i8zXLgD8//VSNy5k +SLKb7MiAAnUHv6ZkluX8X9bdg32vb+sTwhuFhjbI5LVWvY3dq/Ez+WERFUxgNL3s +dgiJABkslbkjobgB39m/Lr223P6HwG5n6YukKSmwfiion5QYsTbTpd9AYbAD5UTs +A5H5pRdk/mxJ7yYsgosu60wAUI/xVAVvsaUDGa+koiVKPhUg4A7Qd/2oDByb/H9J +atqHkSjkwvhAekC0mOjKh6ED/Nr2tnN5l0GIbwRvj9Xz +-----END CERTIFICATE----- diff --git a/testdata/ui_file/profiles/ssl_decryption_keyrings/test_root_key_catest.key b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_root_key_catest.key new file mode 100644 index 00000000..a347d61e --- /dev/null +++ b/testdata/ui_file/profiles/ssl_decryption_keyrings/test_root_key_catest.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAzvuK2QOuRerZbRxJ2xRuehcmLP1fVwDOrEkp5xY/B/DDb8Yk +UF5Wnr3SvP+8cLTd7nV/seFXUp5ouMDxi4az1r6679maw20ZQcDZiKLJhPnUHan/ +TsjeOD8OP00KIdeAlqo6sUF2C3r65+ORh9TzlEeuFOqjuVKuQfN84pk0Vk213q7b +62G+KZTijcb2r9yCnTRLn0SUqsXpXwFDEJ7Kx9YjuIjKWRwWEjW38JeoJIJ18bK/ +GE2a60MJPQXHf9GxUPr9zolg+aImHF33CAU3qMuiCCAjXO5K3510abFztqIpjYDE +upxzyr12BeY02yq9AONBJQxCI7beU2G+KFjR3wIDAQABAoIBAQClBnEhrYmZPTG1 +iMRp49Rhi2tom2sUVxRw0LSUBmyizBdGWthBK7YsQnRvNAbuZYY8xXnWPS/+M0aT +Z2IuOGvSX6dz7C80eRuWDUhjZEb/uqCgNhXUntpuRff6CFZ3vPZNKdQ511Niu96o +XAyAHA1IwA3Pp3R6Ia3F73g2wqez1jorYZC14OZl8zv2CMLhZ5ES76gilypRV/g0 +6bBbBrpGZ130Cg+kQ81T+HUZWRgNtByFNwzZfBAu1jcdxQdAR1kMtnCjHtUm/kUX +z1h3XclM1nuWoLY6bOUttJKWlHz8J6NKb4pO2PGmsWOhZx7JuQcSJE3rfLbG6LiH +JJSEYB7hAoGBAPCXMUvMwqOsW0uCmsAH1iC1UeNG1lAAgDo49qDeKPoMXLUKmkjw +s/zcllWH1TawU0M4SpdRLolBFJjkgNZL/woiPJ67mUDFSLeYQ/hrgVdxTzWaUnCG +5XUyaiCs9C22Pzs+hMIkAgBhf0rh61J0hCNX0UeyrsMG+tG524lrfAfzAoGBANw9 +TRkqoHRPM9GsM1Kme/5WzT89IpQwSYSFI1v07de5GFNnIFzY7/B8wI61vyne5Bwf +PJmYtdzB4ebU0xJf02QozuKkkYIupju1pDaWctKpgR/0ZYPTh8TAVqjfS0IeOup1 +EVkUSOJffPJuiM6ukuut6e/OTZKI+R4FvDzOolVlAoGAQV3yyNNzNqEHlPaBMRdv ++CcLfqKqa8YXELqVV5PEsltVfOLKlHLBlDwipE5pgZhapvLOYVpvOF90Ry4eSxsO +yiQPMFlsBAsV/LvkC8S5uZZRnRC2wVgFU9hEuWgEV78iYuhTjaPW31+eBCxpkVeS +5z9e3woPLXHiB8Vlfmqzoj0CgYEA2hom8MZC8gvBUGHMzYurfRtu1LJxPPl4xLCo +bJdotlpJ2cZlySzYqHqSooEf15IwqhzRAXa2mvCyCss2X5rgF+9FujKpGpeh7b2a +6qgg+7f69K8tnNftOw4Sg9fliouvYqIeVO3+o5dWgCqwdqVxP84Rvna6YWQd9/pM +CJfFMPUCgYEA5v064YjwtVkE5IIZR7b0HMpZKeJMLRhNkSrYGDpt8y/da/GnRpcw +H8shApl6E+/rTElHPd7o+HTxQ4LdqqgEUDM08sGSFz9R+0DA7YARCPahh5ZIXTqV +4QNdC8CUu20PR05YuLj0V9UXRaO+njtvr2785iv3AF7kBgl9K90sR5E= +-----END RSA PRIVATE KEY----- |
