Currently Barbican stores base64 encoded secret data (plugin_meta
and cypher_text) as hex bytes in database. But when these data
is retrieved from database for base64 decoding, it is not
converted back to ascii format, causing the decoding failed with
error:
binascii.Error: Invalid base64-encoded string: number of data
characters (273) cannot be 1 more than a multiple of 4.
This commit added a patch to Barbican to store these data in ascii
format in the database so they can be decoded when retrieved.
Test Plan for Debian:
PASS: trigger mtcAgent to store a password secret in Barbican by
system host-update controller-0 bm_type=dynamic bm_ip=<bm IP>
bm_username=root bm_password=root.
PASS: retrieve the secret with "--payload" option by
openstack secret get <secret URL> --payload.
PASS: AIO-SX deployment and unlock.
Closes-Bug: 1975611
Signed-off-by: Andy Ning <andy.ning@windriver.com>
Change-Id: I1c2fa112caa8700b1c21130aec041fd7d2a52a19