Я загрузил файл в хранилище Google.Теперь я сгенерировал его подписанный URL (на основе этого решения )
private static Uri SignUrl(Stream jsonCertificateStream, string bucketName, string objectName, TimeSpan expireAfter, string[] scopes, HttpMethod verb)
{
string url;
var urlSigner = UrlSigner.FromServiceAccountData(jsonCertificateStream);
url = urlSigner.Sign(
bucketName,
objectName,
expireAfter,
verb);
return new Uri(url);
}
Я получил URI, который хорошо работает с моим браузером.До здесь - все работает хорошо.
Теперь я использую ключ шифрования клиента для шифрования загруженного файла.Итак, я удалил файл и загрузил его снова - теперь он зашифрован.
Проблема в том, что теперь метод SignUrl()
больше не работает.
При тестировании результата метода SignUrl()
с браузером - я получаю:
<Error>
<Code>ResourceIsEncryptedWithCustomerEncryptionKey</Code>
<Message>
The resource is encrypted with a customer encryption key.
</Message>
<Details>
The requested object is encrypted by a customer-supplied encryption key.
</Details>
</Error>
Я думаю, это потому, что мой файл зашифрован другим ключом.
Как это сделать правильно?