Are there any good plugins, tutorials, etc., that walk through this?
问问题
1867 次
3 回答
3
我推荐jpasskit。下面是一些用于创建通行证的示例代码:
PKPass pass = new PKPass()
// add information to the pass
def certFile = getCertificatePath() + File.separator + P12_CERT_NAME
def wwdrca = getCertificatePath() + File.separator + APPLE_WWDRCA_NAME
def tempDir = createTempDir()
PKSigningInformation pkSigningInformation = PKSigningUtil.loadSigningInformationFromPKCS12FileAndIntermediateCertificateFile(
certFile,
PASSBOOK_SIGNING_PASSWORD,
wwdrca)
byte[] passZipBytes = PKSigningUtil.createSignedAndZippedPkPassArchive(pass, tempDir.absolutePath, pkSigningInformation)
正如@Fabiano 所指出的,您可能希望按照Apple 指南了解上述一些内容。然后要将您的通行证附加到电子邮件中,您可以使用Mail 插件:
List myPasses = getPasses() // using code from above, plus adding unique names to passes
def contentType = "application/vnd.apple.pkpass"
mailService.sendMail {
multipart true
getMessage().setTo(emailAddresses as String[])
from(mailFromAddress)
subject(subjectString)
body(view: bodyTemplate, model: model)
myPasses.each {
attachBytes(it.name, contentType, it.bytes)
}
}
其中 it.bytes 指的是 passZipBytes,it.name 是 pass 的唯一名称,例如条形码编号。你需要在这里或那里填补一些空白,但这是如何做到这一点的基础。
Grails 2.x 和 jpasskit-0.0.2 之间存在 bouncycastle 依赖问题。让他们玩得好:
inherits("global") {
...
excludes 'bcprov-jdk15', 'bcpg-jdk15'
}
希望这可以帮助!
于 2013-04-17T17:55:59.040 回答
2
我们最近完成了我们的 grails 项目LIKELLA.com
免费的“自己动手”忠诚度平台。
只需按照苹果指南。
为了登录 grails,我们使用了bouncy castle library
可以在此处找到在 PKCS7 中使用 bouncy caste 进行签名的指南,它没有更新到最后一个充气城堡版本,但它是一个很好的起点。
如果您有更多帮助,我们甚至可以在 likella dot com 的 info 上提供商业支持。
于 2012-10-02T07:27:36.827 回答
0
如果您想在不使用 BouncyCastle 的情况下对其进行签名,请查看以下问题:
我实际上将使用这种方法对内容进行签名。
于 2012-10-23T18:10:02.247 回答