t_netpgpkeys.sh revision 1.1
11.1Swiz#! /bin/sh 21.1Swiz 31.1Swiz# $NetBSD: t_netpgpkeys.sh,v 1.1 2026/01/23 20:57:10 wiz Exp $ 41.1Swiz 51.1Swiz# 61.1Swiz# Copyright (c) 2026 The NetBSD Foundation, Inc. 71.1Swiz# All rights reserved. 81.1Swiz# 91.1Swiz# This code is derived from software contributed to The NetBSD Foundation 101.1Swiz# by Thomas Klausner <wiz@NetBSD.org> 111.1Swiz# 121.1Swiz# Redistribution and use in source and binary forms, with or without 131.1Swiz# modification, are permitted provided that the following conditions 141.1Swiz# are met: 151.1Swiz# 1. Redistributions of source code must retain the above copyright 161.1Swiz# notice, this list of conditions and the following disclaimer. 171.1Swiz# 2. Redistributions in binary form must reproduce the above copyright 181.1Swiz# notice, this list of conditions and the following disclaimer in the 191.1Swiz# documentation and/or other materials provided with the distribution. 201.1Swiz# 211.1Swiz# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 221.1Swiz# AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 231.1Swiz# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 241.1Swiz# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 251.1Swiz# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 261.1Swiz# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 271.1Swiz# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 281.1Swiz# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 291.1Swiz# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 301.1Swiz# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 311.1Swiz# POSSIBILITY OF SUCH DAMAGE. 321.1Swiz# 331.1Swiz 341.1Swiz# Test set 1 (rsa key) for netpgpkeys 351.1Swizatf_test_case netpgpkeys_testset_1_rsa_keys 361.1Swiz 371.1Swiznetpgpkeys_testset_1_rsa_keys_head() { 381.1Swiz atf_set "descr" "Test set 1 (rsa_keys) for netpgpkeys" 391.1Swiz} 401.1Swiznetpgpkeys_testset_1_rsa_keys_body() { 411.1Swiz atf_expect_fail "PR bin/59936 - does not support keys generated by gnugp2" 421.1Swiz uudecode << EOF 431.1Swizbegin-base64 664 testkey-rsa.pub 441.1SwizmQINBGlz2mABEADOhQSqLh3zpdtL5s25l6VG5S3EGYFixiSOX3qy+/GfZpAAmNni 451.1SwizQJwYPAMe6pyJ34/lJclmQu3yaxLfelLwb0feh0N0GWqfRGa5tVKrMxaz8S6FAAWQ 461.1Swizr17MUsXsqFHJiCqU3+5/70fn+3gPSS/KP+3s7GaXtYoXfuf0J1c/pfqy4OeY5OEf 471.1Swiz1KtF4mIFBCqF+fnrt1R66VQh8/WwS0052+s4EOcJzVi7qEiMB9A6dYVGYJ47HyNF 481.1SwizOiIm+jpUfUyZCbh0b7b/ZB1oMvGSiU5r+R5FGShBUOmMT5c6x+BRNizeCLWgwKA3 491.1Swiz5+/ecOoEaWwArIeKTHLyFmhIse6YdD7G4jIKVngLle+bR9RwfctO9iyB14m7nrfZ 501.1SwizcFsLW36JW7D2FsJTEA74FU02/tT9Mcr/UDr+ZMxewxPADLDPUX6l8EuG+8vWo+qK 511.1SwizAWs7r9f7Kwv/ZnY0Z+bhWwq6oGKauNn1pJqpfbJoeAobh9ynwnDFvxvXOPnuu2zS 521.1SwizzJIfIAzGM7p2XDtMg3D0WWul1/q6U8Rmie7iaroYsaPPcGf1KpGz8W3hSmRW4FZ6 531.1SwizddX47S2Sa5qF6ggwmF/KzWI60PXXUzf/fxk66YIjp4geAzXMM2n6i4jzFeLkg2Wh 541.1Swiz6+2zASMIGnsxlF+Sp01OcI6L51velWzC6UZQmBnKnX23mYbT0JUF4BPlhQARAQAB 551.1SwiztBZ0ZXN0IDx0ZXN0QE5ldEJTRC5vcmc+iQJRBBMBCAA7FiEEWFZ/P6oG3WjQHypk 561.1SwizZ1NP82elnLAFAmlz2mACGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQ 571.1SwizZ1NP82elnLBfXA/8DEaN4lQkt0L/iTpLFeSJ0p2XNW4wC6ABmg+HRPE0F7YYnnSm 581.1SwizLFy3xm3NOFy6bpw660nAi/Pv7KB1FAbMFd/F+KYT+kv6yhS/XVZSvL/RQrUdUDBJ 591.1SwizNIbwiD+Cp3J220EBviyh61R4f2SZRdYsJPS7Vo0J7S3lcJHMxBlTSVyo/SMPwdiE 601.1SwizJo5vOGh7QmuskmaHl6Cdnv9/k36DhVTvabCmgunGd3saaWaRoSI7uEnTR2qFKAVs 611.1Swiz0eB2AJQdrM5T7CmGn1KBQClV/3nzifuv4KDF3UDg3gKwEUoPjlmzVuF2BvXVpAH4 621.1SwizOPZq7GthLHNHgOvfzKn3A+/PAooHnWqsCN54GrloStbrR9B2BUzoo5DCmLp9wDJF 631.1SwizpWoWTFWOQbYmjNEjqJmS1iZv/dm2pTZbzqcYIEdKprj+Ua+Tw5qjC+0TVVoki4f+ 641.1SwizuqfO2GQeJ5AthGwR5o8W9BYiRFL1ncR5YEXmpnZdjxiq6Ub0p8tz5UQyOip8hLen 651.1SwizJkGfBpxl9Wo+z3morTbJQ3z3gNuoey5O47tJE+FYmM3e9TilxJcqVjqAPFNjG6QD 661.1SwizWM19hA2G7Y0KRvokJun2zLeK4ZjGXbceQTp8Rwybd9EO4i7vdh6UTYaduDhKbS8B 671.1SwizkWwQcol8U4xbBPXB1/Ks+AsrCzmMAdKi4T9uNmILzec2F32N65I0T+T0PRO5Ag0E 681.1SwizaXPaYAEQAMFT9cLS7ED1SqLmNzmEC+CYcRyGzKXTtrL0hoSF/wCcAWGMrWBbMCg7 691.1Swizi4MmOrRY3WtNaWr6TZ6bz36kX+at7N3wzn6rAft2/NAmEAkNtBEddOyAMHQv1UL1 701.1Swizc4kQQ8qaGD5TF64Ga3E8a/gyCQ7j3/ftzvB8fKRG7m/bDlmVqw97L1HZoVh6qgLQ 711.1SwizfR7vZ7XzJ+aC4M1q2XZ4kcqoWtcYUfWSLSkS0t4qK/ea7wkYKykseBEd2yrNWKng 721.1SwizqYeLDZgbuJApQwEVWaI9T/0m46VmGaSvcU1UgpeGWRiiXAmH3R7eiFLzZF4zwc1Z 731.1SwizoXF6Y95+mlPbsfq2CKlbGq2QgE45ykv3z1h/MwpnAZCcu/y0RVmVqsROHiSjQTga 741.1SwizEKSlMYMj8kMFpCKPlPsOmQXqp9DFNEgFSNs+k6spPwCyP6O83vnSnkgQmk1eOwkd 751.1SwiztM7xDivlZlQKwWGyqqqIeoj4Qs4RLLvr9g02ZnzRpjpRd8xv6tF8et4JGdFpOyNu 761.1SwizxYJ67IZ5VCWOyPnvPFgVILQbhIjXVwFjTY+sQtxRaVUmw1dswx///PJI/EGmF4Rb 771.1Swizg4EUqqPvJjMXG6l4iG+LNd0KOzVu/YbLsWRJBKuSGZ8DrKCdyRi5e7oaNtcEJFnE 781.1SwizqXgc8XacWeAsTr5cTL0zqypoJcAWqh/qr/qcZ4wek1YXyud4E4k/ABEBAAGJAjYE 791.1SwizGAEIACAWIQRYVn8/qgbdaNAfKmRnU0/zZ6WcsAUCaXPaYAIbDAAKCRBnU0/zZ6Wc 801.1SwizsOY1EACe9olfRYIYrBhQoC8gHWoH9dzANEnKKzetPoxskEdiB3EqLl0fjV2rJ44M 811.1SwizygFc482JTOx4LAq/tfd6YHa0k9nvXvxIFndZ9xbB4lZkXVc0olNUFQ5j5OQIHeNF 821.1Swizm98MU167kvIhpAomVHIWaIZlNI4J5NesDgnvAJYaxl86bPeMR3z5O4NziE2OqWp6 831.1SwizGZTuMQAWl6IZlmHmfavizU/kiVPWh8lkiiUZaIolMIs/f1GrzXU/LCFfTP1nClic 841.1SwizmKiq22bNbeSH7GgnwvE+pBMf3M37Crlw7ftZ8ILTElYp5kHQ37Ov4gnOJOGMz41M 851.1Swizc5+pdHk2OKh0MZwElEUXTkSMNaU+bMK3fw/LKjlDbIaRUYaBha1ahATbm0lGsdy4 861.1Swiz3vVNqMWojnHKlnWkMRgpWs3Q1pMan1BtczB1tQtmid01pc/RqZqjfiac5qaeeJGi 871.1SwizaIZASR7DJ3TPHLvMm4hKuyxr/clEqEZCo94xVXVkeKrz76U0Bo34yteruZK8llpx 881.1Swizf4Q3IRqjtxl2weU6ko8WBUWtmh1fBhXEWLpAr0tHgcJE5XIWTtlk68t18nRCgF8x 891.1SwizIw0H82nu+zERxpKhu6xT4PcnOGinQtC7uaAKn6M9rLrOZT0Gus42w+d2ABuyECs7 901.1SwizUVuYOxUw6lXquwOl4WO37imwmqIhFuqQaVLlVCrhc1QRcnHZ0g== 911.1Swiz==== 921.1SwizEOF 931.1Swiz # TODO: fix netpgpkeys so it doesn't need an empty keyring 941.1Swiz uudecode << EOF 951.1Swizbegin-base64 664 pubring.gpg 961.1Swiz==== 971.1SwizEOF 981.1Swiz # TODO: needs fixing once netpgpkeys accepts the key 991.1Swiz uudecode << EOF 1001.1Swizbegin-base64 664 expected_rsa.out 1011.1Swiz==== 1021.1SwizEOF 1031.1Swiz atf_check -s exit:0 -o file:expected_rsa.out -e empty env TZ=US/Pacific netpgpkeys --keyring pubring.gpg --import-key testkey-rsa.pub 1041.1Swiz} 1051.1Swiz 1061.1Swiz# Test set 2 (elliptic curve keys) for netpgpkeys 1071.1Swizatf_test_case netpgpkeys_testset_2_ec_keys 1081.1Swiz 1091.1Swiznetpgpkeys_testset_2_ec_keys_head() { 1101.1Swiz atf_set "descr" "Test set 2 (ec_keys) for netpgpkeys" 1111.1Swiz} 1121.1Swiznetpgpkeys_testset_2_ec_keys_body() { 1131.1Swiz atf_expect_fail "PR bin/59936 - does not support keys generated by gnugp2 - dumps core for EC keys" 1141.1Swiz uudecode << EOF 1151.1Swizbegin-base64 664 testkey-ec.pub 1161.1SwizmDMEaXPYGBYJKwYBBAHaRw8BAQdAJItrcRJ05uSrXI4pWRwwYBzcqq+DMVL951D6 1171.1SwizUta3t/m0FnRlc3QgPHRlc3RATmV0QlNELm9yZz6ImQQTFgoAQRYhBCSzfniW90FO 1181.1SwizSQjiiNqj8eXPHLOfBQJpc9gYAhsDBQkFo5qABQsJCAcCAiICBhUKCQgLAgQWAgMB 1191.1SwizAh4HAheAAAoJENqj8eXPHLOfgBQA/1dkSm8JHk1nKDbsAugPyEPhrCRXOdSPq/mH 1201.1Swizrjii7/M4AP0VteJ7uuxW7BNYNXQHaHokWVIrUaIjdybnB3SmCZnwBrg4BGlz2BgS 1211.1SwizCisGAQQBl1UBBQEBB0AoRgnCTqdaT7uCOLC/zzG0Ul15Sx36OxNBsYwBfrbkGwMB 1221.1SwizCAeIfgQYFgoAJhYhBCSzfniW90FOSQjiiNqj8eXPHLOfBQJpc9gYAhsMBQkFo5qA 1231.1SwizAAoJENqj8eXPHLOfGxkBAM+FmClSgZIon6yACCuhz8gSDtUAsaIhACG0tWVVYxaR 1241.1SwizAQCGIvbI0ZmcpPZ2ptYKiLxSfeOk1JigVxGG61Sy8k+oDg== 1251.1Swiz==== 1261.1SwizEOF 1271.1Swiz # TODO: fix netpgpkeys so it doesn't need an empty keyring 1281.1Swiz uudecode << EOF 1291.1Swizbegin-base64 664 pubring.gpg 1301.1Swiz==== 1311.1SwizEOF 1321.1Swiz # TODO: needs fixing once netpgpkeys doesn't dump core 1331.1Swiz uudecode << EOF 1341.1Swizbegin-base64 664 expected_ec.out 1351.1Swiz==== 1361.1SwizEOF 1371.1Swiz atf_check -s exit:0 -o file:expected_ec.out -e empty env TZ=US/Pacific netpgpkeys --keyring pubring.gpg --import-key testkey-ec.pub 1381.1Swiz} 1391.1Swiz 1401.1Swiz# all test sets 1411.1Swizatf_init_test_cases() { 1421.1Swiz atf_add_test_case netpgpkeys_testset_1_rsa_keys 1431.1Swiz atf_add_test_case netpgpkeys_testset_2_ec_keys 1441.1Swiz} 1451.1Swiz 146