mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
qcow2: convert QCow2 to use QCryptoBlock for encryption
This converts the qcow2 driver to make use of the QCryptoBlock APIs for encrypting image content, using the legacy QCow2 AES scheme. With this change it is now required to use the QCryptoSecret object for providing passwords, instead of the current block password APIs / interactive prompting. $QEMU \ -object secret,id=sec0,file=/home/berrange/encrypted.pw \ -drive file=/home/berrange/encrypted.qcow2,encrypt.key-secret=sec0 The test 087 could be simplified since there is no longer a difference in behaviour when using blockdev_add with encrypted images for the running vs stopped CPU state. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Message-id: 20170623162419.26068-12-berrange@redhat.com Reviewed-by: Alberto Garcia <berto@igalia.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
446d306d23
commit
b25b387fa5
14 changed files with 265 additions and 188 deletions
|
@ -2317,6 +2317,26 @@
|
|||
'data': { '*encrypt': 'BlockdevQcowEncryption' } }
|
||||
|
||||
|
||||
|
||||
##
|
||||
# @BlockdevQcow2EncryptionFormat:
|
||||
# @aes: AES-CBC with plain64 initialization venctors
|
||||
#
|
||||
# Since: 2.10
|
||||
##
|
||||
{ 'enum': 'BlockdevQcow2EncryptionFormat',
|
||||
'data': [ 'aes' ] }
|
||||
|
||||
##
|
||||
# @BlockdevQcow2Encryption:
|
||||
#
|
||||
# Since: 2.10
|
||||
##
|
||||
{ 'union': 'BlockdevQcow2Encryption',
|
||||
'base': { 'format': 'BlockdevQcow2EncryptionFormat' },
|
||||
'discriminator': 'format',
|
||||
'data': { 'aes': 'QCryptoBlockOptionsQCow' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsQcow2:
|
||||
#
|
||||
|
@ -2351,6 +2371,9 @@
|
|||
# @cache-clean-interval: clean unused entries in the L2 and refcount
|
||||
# caches. The interval is in seconds. The default value
|
||||
# is 0 and it disables this feature (since 2.5)
|
||||
# @encrypt: Image decryption options. Mandatory for
|
||||
# encrypted images, except when doing a metadata-only
|
||||
# probe of the image. (since 2.10)
|
||||
#
|
||||
# Since: 2.9
|
||||
##
|
||||
|
@ -2364,8 +2387,8 @@
|
|||
'*cache-size': 'int',
|
||||
'*l2-cache-size': 'int',
|
||||
'*refcount-cache-size': 'int',
|
||||
'*cache-clean-interval': 'int' } }
|
||||
|
||||
'*cache-clean-interval': 'int',
|
||||
'*encrypt': 'BlockdevQcow2Encryption' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsSsh:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue