Механизм секретного транзита хранилища обеспечивает возможность пакетного шифрования / дешифрования, как показано в:
https://www.vaultproject.io/api/secret/transit/index.html
batch_input (array: nil) - Указывает список элементов, которые должны быть зашифрованы в одном пакете.
Я хочу знать, использую ли я batch_input для шифрования нескольких открытых текстов, сохраняет ли ответ также
в том же порядке, что и элементы списка ввода,
Кроме того, при дешифровании, если я отправляю несколько шифротекстов, делаю дешифрование, сохраняет ли ответ также
тот же порядок, что и для элементов списка ввода
Я несколько раз проверял это на своем сервере, он имеет тот же порядок, но я не уверен, будет ли он всегда
ответ в том же порядке, что и элементы списка ввода. Пожалуйста, помогите подтвердить, что мое предположение верно или нет?
batch_input.json:
{
"batch_input":
[
{
"plaintext": "MTExCg=="
},
{
"plaintext": "NTU1Cg=="
}
]
}
И запрос на пакетное шифрование вроде:
curl --header "X-Vault-Token: $VAULT_TOKEN" \
--request POST \
--data @batch_input.json \
http://127.0.0.1:8200/v1/transit/encrypt/my_key
{
"request_id": "21f85300-e133-ce22-3ccc-cfe16ec0db7f",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"batch_results": [
{
"ciphertext": "vault:v1:j2r7aEnrHol4sX3z0WpSs3xxLOb4HBwaEqwS06IWtAU="
},
{
"ciphertext": "vault:v1:y+zFbNJYdDifr1btussbwZwLGXv5cH7X6l2PDg2axgc="
}
]
},
"wrap_info": null,
"warnings": null,
"auth": null
}
А запрос на пакетную расшифровку будет выглядеть так:
batch_input_d.json:
{
"batch_input":
[
{
"ciphertext": "vault:v1:j2r7aEnrHol4sX3z0WpSs3xxLOb4HBwaEqwS06IWtAU="
},
{
"ciphertext": "vault:v1:y+zFbNJYdDifr1btussbwZwLGXv5cH7X6l2PDg2axgc="
}
]
}
Запрос на расшифровку, например:
curl --header "X-Vault-Token: $VAULT_TOKEN" \
--request POST \
--data @batch_input_d.json \
http://127.0.0.1:8200/v1/transit/decrypt/my_key
{
"request_id": "fad14296-2d3b-52dc-339d-4d6004146390",
"lease_id": "",
"renewable": false,
"lease_duration": 0,
"data": {
"batch_results": [
{
"plaintext": "MTExCg=="
},
{
"plaintext": "NTU1Cg=="
}
]
},
"wrap_info": null,
"warnings": null,
"auth": null
}