如果你查看nimbus-jose-jwt
的依赖列表,没有库。但是,如果您查看源代码,并且更准确地查看包,那么您可以看到,它使用而不将其声明为依赖项。因此,库只是假设存在。bouncycastle
com.nimbusds.jose.crypto.bc
bouncycastle
bouncycastle
解决方案是手动添加依赖项。首先,按照链接在Android上实现标准使用方式。bouncycastle
但是,这并不能解决问题,因为不在其中一个库中。解决方案是再添加一个依赖项:org.bouncycastle.crypto.engines.AESEngine
dependencies { compile 'org.bouncycastle:bcprov-jdk15on:1.54' }
然后一切都应该工作正常。
总结:
gradle
依赖关系应该像这样徘徊:
dependencies {
compile 'com.nimbusds:nimbus-jose-jwt:4.23'
compile 'com.madgag.spongycastle:core:1.54.0.0'
compile 'com.madgag.spongycastle:prov:1.54.0.0'
compile 'com.madgag.spongycastle:pkix:1.54.0.0'
compile 'com.madgag.spongycastle:pg:1.54.0.0'
compile 'org.bouncycastle:bcprov-jdk15on:1.54'
}
您应该注册:java.security.Provider
static {
Security.insertProviderAt(new org.spongycastle.jce.provider.BouncyCastleProvider(), 1);
}