/openbmc/qemu/crypto/ |
H A D | secret.c | 2 * QEMU crypto secret support 22 #include "crypto/secret.h" 39 QCryptoSecret *secret = QCRYPTO_SECRET(sec_common); in qcrypto_secret_load_data() local 44 if (secret->file) { in qcrypto_secret_load_data() 45 if (secret->data) { in qcrypto_secret_load_data() 50 if (!g_file_get_contents(secret->file, &data, &length, &gerr)) { in qcrypto_secret_load_data() 53 secret->file, gerr->message); in qcrypto_secret_load_data() 59 } else if (secret->data) { in qcrypto_secret_load_data() 60 *outputlen = strlen(secret->data); in qcrypto_secret_load_data() 61 *output = (uint8_t *)g_strdup(secret->data); in qcrypto_secret_load_data() [all …]
|
H A D | secret_common.c | 2 * QEMU crypto secret support 31 static void qcrypto_secret_decrypt(QCryptoSecretCommon *secret, in qcrypto_secret_decrypt() argument 48 if (qcrypto_secret_lookup(secret->keyid, in qcrypto_secret_decrypt() 59 if (!secret->iv) { in qcrypto_secret_decrypt() 60 error_setg(errp, "IV is required to decrypt secret"); in qcrypto_secret_decrypt() 64 iv = qbase64_decode(secret->iv, -1, &ivlen, errp); in qcrypto_secret_decrypt() 86 if (secret->format == QCRYPTO_SECRET_FORMAT_BASE64) { in qcrypto_secret_decrypt() 143 QCryptoSecretCommon *secret = QCRYPTO_SECRET_COMMON(uc); in qcrypto_secret_complete() local 154 sec_class->load_data(secret, &input, &inputlen, &local_err); in qcrypto_secret_complete() 165 if (secret->keyid) { in qcrypto_secret_complete() [all …]
|
H A D | secret_keyring.c | 2 * QEMU crypto secret support 43 QCryptoSecretKeyring *secret = QCRYPTO_SECRET_KEYRING(sec_common); in qcrypto_secret_keyring_load_data() local 50 if (!secret->serial) { in qcrypto_secret_keyring_load_data() 55 retcode = keyctl_read(secret->serial, NULL, 0); in qcrypto_secret_keyring_load_data() 62 retcode = keyctl_read(secret->serial, buffer, retcode); in qcrypto_secret_keyring_load_data() 75 secret->serial); in qcrypto_secret_keyring_load_data() 84 QCryptoSecretKeyring *secret = QCRYPTO_SECRET_KEYRING(obj); in qcrypto_secret_prop_set_key() local 90 secret->serial = value; in qcrypto_secret_prop_set_key() 99 QCryptoSecretKeyring *secret = QCRYPTO_SECRET_KEYRING(obj); in qcrypto_secret_prop_get_key() local 100 int32_t value = secret->serial; in qcrypto_secret_prop_get_key()
|
/openbmc/qemu/tests/qemu-iotests/ |
H A D | 293 | 54 S0="--object secret,id=sec0,data=hunter0" 55 S1="--object secret,id=sec1,data=hunter1" 56 S2="--object secret,id=sec2,data=hunter2" 57 S3="--object secret,id=sec3,data=hunter3" 58 S4="--object secret,id=sec4,data=hunter4" 61 # image with given secret 62 IMGS0="--image-opts driver=$IMGFMT,file.filename=$TEST_IMG,${PR}key-secret=sec0" 63 IMGS1="--image-opts driver=$IMGFMT,file.filename=$TEST_IMG,${PR}key-secret=sec1" 64 IMGS2="--image-opts driver=$IMGFMT,file.filename=$TEST_IMG,${PR}key-secret=sec2" 65 IMGS3="--image-opts driver=$IMGFMT,file.filename=$TEST_IMG,${PR}key-secret=sec3" [all …]
|
H A D | 158 | 46 SECRET="secret,id=sec0,data=astrochicken" 51 _make_test_img --object $SECRET -o "encryption=on,encrypt.key-secret=sec0" $size 54 IMGSPECBASE="driver=$IMGFMT,file.filename=$TEST_IMG_BASE,encrypt.key-secret=sec0" 55 …MGFMT,backing.file.filename=$TEST_IMG_BASE,backing.encrypt.key-secret=sec0,encrypt.key-secret=sec0" 60 $QEMU_IO --object $SECRET -c "write -P 0xa 0 $size" --image-opts $IMGSPECBASE | _filter_qemu_io | _… 64 $QEMU_IO --object $SECRET -c "read -P 0xa 0 $size" --image-opts $IMGSPECBASE | _filter_qemu_io | _f… 67 _make_test_img -u --object $SECRET -o "encryption=on,encrypt.key-secret=sec0" -b "$TEST_IMG_BASE" -… 71 $QEMU_IO --object $SECRET -c "write -P 0xe 0 1024" --image-opts $IMGSPEC | _filter_qemu_io | _filte… 75 $QEMU_IO --object $SECRET -c "read -P 0xe 0 1024" --image-opts $IMGSPEC | _filter_qemu_io | _filter… 78 $QEMU_IO --object $SECRET -c "read -P 0xa 1024 64512" --image-opts $IMGSPEC | _filter_qemu_io | _fi…
|
H A D | 263 | 51 SECRET="secret,id=sec0,data=astrochicken" 58 …$QEMU_IO --object $SECRET -c "read -P 0 0 $size" --image-opts "$1" | _filter_qemu_io | _filter_tes… 62 …$QEMU_IO --object $SECRET -c "write -P 0xAA 0xFE00 0x400" --image-opts "$1" | _filter_qemu_io | _f… 66 …$QEMU_IO --object $SECRET -c "read -P 0x00 0x00000 0xFE00" --image-opts "$1" | _filter_qemu_io | _… 67 …$QEMU_IO --object $SECRET -c "read -P 0xAA 0x0FE00 0x400" --image-opts "$1" | _filter_qemu_io | _f… 68 …$QEMU_IO --object $SECRET -c "read -P 0x00 0x10200 0xEFE00" --image-opts "$1" | _filter_qemu_io | … 77 _make_test_img --object $SECRET -o "encrypt.format=luks,encrypt.key-secret=sec0,encrypt.iter-time=1… 78 _run_test "$TEST_IMG,encrypt.key-secret=sec0" 86 _make_test_img --object $SECRET -o "encrypt.format=aes,encrypt.key-secret=sec0,cluster_size=64K" $s… 87 _run_test "$TEST_IMG,encrypt.key-secret=sec0"
|
H A D | 134 | 46 SECRET="secret,id=sec0,data=astrochicken" 47 SECRETALT="secret,id=sec0,data=platypus" 49 _make_test_img --object $SECRET -o "encryption=on,encrypt.key-secret=sec0" $size 51 IMGSPEC="driver=$IMGFMT,file.filename=$TEST_IMG,encrypt.key-secret=sec0" 57 $QEMU_IO --object $SECRET -c "read 0 $size" --image-opts $IMGSPEC | _filter_qemu_io | _filter_testd… 61 $QEMU_IO --object $SECRET -c "write -P 0xb 512 512" --image-opts $IMGSPEC | _filter_qemu_io | _filt… 65 $QEMU_IO --object $SECRET -c "read -P 0 0 512" --image-opts $IMGSPEC | _filter_qemu_io | _filter_t… 66 $QEMU_IO --object $SECRET -c "read -P 0xb 512 512" --image-opts $IMGSPEC | _filter_qemu_io | _filt… 70 $QEMU_IO --object $SECRET -c "write -P 0xa 0 $size" --image-opts $IMGSPEC | _filter_qemu_io | _filt… 74 $QEMU_IO --object $SECRET -c "read -P 0xa 0 $size" --image-opts $IMGSPEC | _filter_qemu_io | _filt…
|
H A D | 188 | 48 SECRET="secret,id=sec0,data=astrochicken" 49 SECRETALT="secret,id=sec0,data=platypus" 51 _make_test_img --object $SECRET -o "encrypt.format=luks,encrypt.key-secret=sec0,encrypt.iter-time=1… 53 IMGSPEC="driver=$IMGFMT,encrypt.key-secret=sec0,file.filename=$TEST_IMG" 59 $QEMU_IO --object $SECRET -c "read -P 0 0 $size" --image-opts $IMGSPEC | _filter_qemu_io | _filter_… 63 $QEMU_IO --object $SECRET -c "write -P 0xa 0 $size" --image-opts $IMGSPEC | _filter_qemu_io | _filt… 67 $QEMU_IO --object $SECRET -c "read -P 0xa 0 $size" --image-opts $IMGSPEC | _filter_qemu_io | _filt… 85 $QEMU_IMG convert -O "$IMGFMT" --object $SECRET \ 86 -o "encrypt.format=luks,encrypt.key-secret=sec0,encrypt.iter-time=10,preallocation=metadata" \ 89 $QEMU_IMG compare --object $SECRET --image-opts "${IMGSPEC}.orig" "$IMGSPEC"
|
H A D | 295 | 29 class Secret: class 38 def secret(self): member in Secret 42 return [ "secret,id=" + self._id + ",data=" + self._secret] 45 return { "qom_type" : "secret", "id": self.id(), 46 "data": self.secret() } 58 self.secrets = [ Secret(i) for i in range(0, 6) ] 59 for secret in self.secrets: 60 self.vm.cmd("object-add", **secret.to_qmp_object()) 76 def createImg(self, file, secret): argument 80 '--object', *secret.to_cmdline_object(), [all …]
|
H A D | 282 | 4 # Test qemu-img file cleanup for LUKS when using a non-UTF8 secret 43 echo "== Create non-UTF8 secret ==" 45 SECRET="secret,id=sec0,file=non_utf8_secret" 47 echo "== Throws an error because of invalid UTF-8 secret ==" 48 $QEMU_IMG create -f $IMGFMT --object $SECRET -o "key-secret=sec0" $TEST_IMAGE_FILE 4M 57 $QEMU_IMG create -f $IMGFMT --object $SECRET -o "key-secret=sec0" $TEST_IMAGE_FILE 4M
|
H A D | 282.out | 2 == Create non-UTF8 secret == 3 == Throws an error because of invalid UTF-8 secret == 4 Formatting 'vol.img', fmt=luks size=4194304 key-secret=sec0 5 qemu-img: vol.img: Data from secret sec0 is not valid UTF-8 8 Formatting 'vol.img', fmt=luks size=4194304 key-secret=sec0 9 qemu-img: vol.img: Data from secret sec0 is not valid UTF-8
|
H A D | 288 | 46 SECRET=secret,id=sec0,data=passphrase 51 $QEMU_IMG measure --object "$SECRET" \ 53 -o key-secret=sec0,iter-time=10 \ 67 $QEMU_IO --object "$SECRET" --image-opts "$TEST_IMG" -c "write -P 0x51 0x10000 0x400" | _filter_qem… 74 $QEMU_IMG measure --object "$SECRET" \ 76 -o key-secret=sec0,iter-time=10,preallocation=falloc \ 85 $QEMU_IMG measure --object "$SECRET" \ 87 -o key-secret=sec0,iter-time=10 \
|
H A D | 296 | 29 class Secret: class 38 def secret(self): member in Secret 42 return [ "secret,id=" + self._id + ",data=" + self._secret] 45 return { "qom-type" : "secret", "id": self.id(), 46 "data": self.secret() } 62 self.secrets = [ Secret(i) for i in range(0, 4) ] 63 for secret in self.secrets: 64 self.vm1.cmd("object-add", secret.to_qmp_object()) 65 self.vm2.cmd("object-add", secret.to_qmp_object()) 75 def createImg(self, file, secret): argument [all …]
|
H A D | 149.out | 23 …io -c read -P 0xa7 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 28 …c read -P 0x13 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 33 …o -c write -P 0x91 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 38 … write -P 0x5e 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 63 qemu-img create -f luks --object secret,id=sec0,data=MTIzNDU2,format=base64 -o key-secret=sec0,iter… 81 …io -c read -P 0xa7 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 86 …c read -P 0x13 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 91 …o -c write -P 0x91 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 96 … write -P 0x5e 3145728M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… 141 …io -c read -P 0xa7 100M 10M --object secret,id=sec0,data=MTIzNDU2,format=base64 --image-opts drive… [all …]
|
H A D | 210 | 35 vm.add_object('secret,id=keysec0,data=foo') 55 'key-secret': 'keysec0', 62 'driver=luks,file.driver=file,file.filename=%s,key-secret=keysec0' % (disk_path), 64 extra_args=['--object', 'secret,id=keysec0,data=foo'], 85 'key-secret': 'keysec0', 96 'driver=luks,file.driver=file,file.filename=%s,key-secret=keysec0' % (disk_path), 98 extra_args=['--object', 'secret,id=keysec0,data=foo'], 125 'key-secret': 'keysec0', 132 'driver=luks,file.driver=file,file.filename=%s,key-secret=keysec0' % (disk_path), 134 extra_args=['--object', 'secret,id=keysec0,data=foo'], [all …]
|
H A D | 087 | 139 _make_test_img --object secret,id=sec0,data=123456 -o encryption=on,encrypt.key-secret=sec0 $size 144 "qom-type": "secret", 159 "key-secret": "sec0" 170 _make_test_img --object secret,id=sec0,data=123456 -o encrypt.format=luks,encrypt.key-secret=sec0 $… 175 "qom-type": "secret", 190 "key-secret": "sec0" 201 _make_test_img --object secret,id=sec0,data=123456 -o encryption=on,encrypt.key-secret=sec0 $size
|
H A D | 293.out | 31 == filling 4 slots with secret 2 == 33 == adding secret 0 == 35 == adding secret 3 (last slot) == 50 == erase all keys of secret 2== 51 == erase all keys of secret 1== 52 == erase all keys of secret 0== 53 == erasing secret3 will fail now since it is the only secret (in 3 slots) == 85 == erase last secret (should fail) == 89 qemu-img: No secret with id 'sec5' 92 == erase last secret with force by slot (should work) ==
|
H A D | 284 | 50 SECRET="secret,id=sec0,data=astrochicken" 57 TEST_IMG="$TEST_IMG,encrypt.key-secret=sec0" 58 QEMU_IMG_EXTRA_ARGS="--image-opts --object $SECRET" 90 …_make_test_img --object $SECRET -o "encrypt.format=luks,encrypt.key-secret=sec0,encrypt.iter-time=…
|
H A D | 189 | 48 SECRET0="secret,id=sec0,data=astrochicken" 49 SECRET1="secret,id=sec1,data=furby" 54 _make_test_img --object $SECRET0 -o "encrypt.format=luks,encrypt.key-secret=sec0,encrypt.iter-time=… 57 IMGSPECBASE="driver=$IMGFMT,file.filename=$TEST_IMG_BASE,encrypt.key-secret=sec0" 58 …MGFMT,backing.file.filename=$TEST_IMG_BASE,backing.encrypt.key-secret=sec0,encrypt.key-secret=sec1" 70 _make_test_img --object $SECRET1 -o "encrypt.format=luks,encrypt.key-secret=sec1,encrypt.iter-time=…
|
/openbmc/qemu/docs/system/ |
H A D | secrets.rst | 3 Providing secret data to QEMU 6 There are a variety of objects in QEMU which require secret data to be provided 10 QEMU has a general purpose mechanism for providing secret data to QEMU in a 11 secure manner, using the ``secret`` object type. 13 At startup this can be done using the ``-object secret,...`` command line 17 a ``secret`` object it must be given a unique ID string. This ID is then 32 to pass secret data inline on the command line. 36 -object secret,id=secvnc0,data=87539319 45 -object secret,id=secvnc0,data=ODc1MzkzMTk=,format=base64 54 the secret: [all …]
|
/openbmc/qemu/include/crypto/ |
H A D | secret.h | 2 * QEMU crypto secret support 28 #define TYPE_QCRYPTO_SECRET "secret" 43 * The sensitive data associated with the secret can 49 * The data for a secret can be provided in two formats, 67 * $QEMU -object secret,id=sec0,data=letmein 73 * -object secret,id=sec0,file=password.txt 83 * Each secret to be encrypted needs to have a random 85 * to be kept secret 90 * A secret to be defined can now be encrypted 92 * # SECRET=$(printf "letmein" | [all …]
|
/openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/User/ |
H A D | TOTPAuthenticator.interface.yaml | 4 support multi-factor authentication secret key setup for each user. This 12 secret key for the given user and returns secret key string to share 13 secret key to user. 18 Secret key string which will be shared to user to setup TOTP 27 authenticator secret key for the given user and returns weather this 28 OTP is valid or not which make sure user has setup valid secret key 46 This method clears Time-based One-time Password authenticator secret 58 This property indicates whether TOTP authenticator secret key setup 66 This property indicates whether TOTP authenticator secret key setup
|
/openbmc/qemu/tests/unit/ |
H A D | test-crypto-secret.c | 2 * QEMU Crypto secret handling 24 #include "crypto/secret.h" 57 int fd = g_file_open_tmp("qemu-test-crypto-secret-XXXXXX", in test_secret_indirect_good() 566 g_test_add_func("/crypto/secret/direct", in main() 568 g_test_add_func("/crypto/secret/indirect/good", in main() 570 g_test_add_func("/crypto/secret/indirect/badfile", in main() 572 g_test_add_func("/crypto/secret/indirect/emptyfile", in main() 576 g_test_add_func("/crypto/secret/keyring/good", in main() 578 g_test_add_func("/crypto/secret/keyring/revoked_key", in main() 580 g_test_add_func("/crypto/secret/keyring/expired_key", in main() [all …]
|
/openbmc/qemu/tests/qemu-iotests/tests/ |
H A D | qcow2-encryption | 51 _make_test_img --object secret,id=sec0,data=123456 -o encrypt.format=luks,encrypt.key-secret=sec0 $… 55 --object secret,id=sec0,data=123456 \ 56 --image-opts file.filename="$TEST_IMG",encrypt.key-secret=sec0 \ 67 --object secret,id=sec0,data=123456 \ 68 --image-opts file.filename="$TEST_IMG",encrypt.key-secret=sec0 2>&1 \
|
/openbmc/qemu/block/ |
H A D | crypto.h | 31 #define BLOCK_CRYPTO_OPT_QCOW_KEY_SECRET "key-secret" 35 "ID of the secret that provides the AES encryption key") 37 #define BLOCK_CRYPTO_OPT_LUKS_KEY_SECRET "key-secret" 47 #define BLOCK_CRYPTO_OPT_LUKS_OLD_SECRET "old-secret" 48 #define BLOCK_CRYPTO_OPT_LUKS_NEW_SECRET "new-secret" 53 "ID of the secret that provides the keyslot passphrase") 129 .help = "New secret to set in the matching keyslots. " \
|