我有一个Scala后端,我想验证应用内购买收据,而不必依赖远程App Store服务,这会引入额外的延迟和额外的故障点.
因此,我想在本地验证收据中包含的PKCS#7签名.
Apple在下面的链接中有关于该主题的一些文档,但它使用iOS Objective-C API,并且我在尝试将其映射到Java安全API时遇到了一些麻烦.
从收据验证编程指南,代码清单1-4:
BIO *b_p7; /* The PKCS #7 container (the receipt) */
PKCS7 *p7; /* and the output of the verification. */
BIO *b_x509; /* The Apple root certificate, as raw */
X509 *Apple; /* data and in its OpenSSL representation. */
/* The root certificate for chain-of-trust verification. */
X509_STORE *store = X509_STORE_new();
/* Initialize b_out as an output BIO to hold the receipt payload */
BIO *b_out = BIO_new(BIO_s_mem());
/* Capture …Run Code Online (Sandbox Code Playgroud) 我突然开始看到记录此警告消息,即使基础aws lib的使用或上没有任何变化。我一直在使用aws-java-sdk 1.6.9.1版
没有为流数据指定内容长度。流内容将被缓冲在内存中,并可能导致内存不足错误。
这是文件上传的方式:
client.putObject(bucketName, key, new ByteArrayInputStream(data), new ObjectMetadata())
Run Code Online (Sandbox Code Playgroud)
我怀疑我可能会看到这种情况,因为我没有在ObjectMetadata对象上设置内容长度,但是那是以前的样子,并且没有生成警告。
是否有人对为什么突然出现此警告消息有任何见解?
谢谢!