У меня есть веб-сервис Spring, который я пытаюсь интегрировать с Amazon CloudFront. Чтобы создать signed url, CloudFront API ожидает объект java.io.File, содержащий закрытый ключ. Файл имеет формат .pem, а API выглядит следующим образом:
String signedUrl = CloudFrontUrlSigner.getSignedURLWithCannedPolicy(
Protocol.https,
distributionDomainName,
cloudFrontPrivateKeyFile, // KEY FILE
"/images/img.jpg",
cloudFrontKeyPairId,
expirationDate);
Как мне загрузить файл в память весной? Все найденные мной примеры загружают файл из ресурсов, например:
final Resource fileResource =
resourceLoader.getResource("classpath:config/pk-mykey.pem");
cloudFrontPrivateKeyFile = fileResource.getFile()
Однако этот код вызывает исключение:
class path resource [config/pk-mykey.pem] cannot be resolved to absolute file path because it does not reside in the file system:
@AngeloImmediata Как добавить его в путь к классам? Src / main / resources должен быть в пути к классам, не так ли? Пример кода был бы отличным.
Кажется, вы загружаете файл с помощью ClassPathResource; в этом случае ваш pem-файл должен находиться в пути к классам. Если это невозможно, вам следует использовать другой вид ресурсов.