如何在corda中下载加密后的附件?

How to download the encrypted attachment in corda?

如何在Corda中下载加密后的附件?我已经在 corda 中上传了一个文件并对其进行了加密并获得了哈希值。如何从其他节点下载?

如果一个附件在节点A发送给节点B的交易中被哈希引用,而节点B从未见过该哈希对应的附件,他们将自动向节点A请求附件并将其缓存在本地以供使用未来参考。

请注意,您已将 Jar 作为包含单个文件(例如法律协议 pdf)的附件上传,您可以按如下方式提取它:

//Get the attachmentJar from node for attachmentHash.
val attachmentJar: InputStream = cordaRPCOps.openAttachment(attachmentHash)

//Read the content of Jar to get file name and data.
var file_name_data: Pair<String, ByteArray>? = null
JarInputStream(attachment).use { jar ->
    while (true) {
        val nje = jar.nextEntry ?: break
        if (nje.isDirectory) {
            continue
        }
        file_name_data = Pair(nje.name, jar.readBytes())
    }
}
 private fun downloadAttachment(proxy: CordaRPCOps, attachmentHash: SecureHash): JarInputStream {
        val attachmentDownloadInputStream = proxy.openAttachment(attachmentHash)
        return JarInputStream(attachmentDownloadInputStream)
    }