createKeysAndCertificate 在生产应用程序中停止工作,它工作正常,但突然开始给出状态码为 400 的 UnknownOperationException。请帮助我。这是用于创建密钥和证书的代码。TIA
Thread(Runnable {
try {
val createKeysAndCertificateRequest = CreateKeysAndCertificateRequest()
createKeysAndCertificateRequest.setAsActive = true
val createKeysAndCertificateResult: CreateKeysAndCertificateResult
createKeysAndCertificateResult=mIotAndroidClient.createKeysAndCertificate(createKeysAndCertificateRequest)
// store in keystore for use in MQTT client
// saved as alias "default" so a new certificate isn't
// generated each run of this application
AWSIotKeystoreHelper.saveCertificateAndPrivateKey(certificateId,
createKeysAndCertificateResult.certificatePem,
createKeysAndCertificateResult.keyPair.privateKey,
keystorePath, keystoreName, keystorePassword)
// loadad keystore from file into memory to pass on
// connection
clientKeyStore = AWSIotKeystoreHelper.getIotKeystore(certificateId,
keystorePath, keystoreName, keystorePassword)
// Attach a policy to the newly created certificate.
// This flow assumes the policy was already created in
// AWS IoT and we are now just attaching it to the
// certificate.
val policyAttachRequest = AttachPrincipalPolicyRequest()
policyAttachRequest.policyName = AwsManager.AWS_IOT_POLICY_NAME
policyAttachRequest.principal = createKeysAndCertificateResult
.certificateArn
mIotAndroidClient.attachPrincipalPolicy(policyAttachRequest)
Log.i(TAG, "onCreate: attachPrincipalPolicy")
runOnUiThread {
// if(!this.isFinishing && progressDialog.isShowing)
// progressDialog.dismiss()
}
}catch ( e:java.lang.Exception){
Log.e(TAG,
"Exception occurred when generating new private key and certificate."+
e.message);
}
}).start()
这是确切的日志
com.amazonaws.AmazonServiceException: (Service: AWSIot; Status Code: 400; Error Code: UnknownOperationException; Request ID: 8bc52f99-850a-4d3d-9a50-ad03833)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:731)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:405)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:212)
at com.amazonaws.services.iot.AWSIotClient.invoke(AWSIotClient.java:11411)
at com.amazonaws.services.iot.AWSIotClient.createKeysAndCertificate(AWSIotClient.java:1697)
at com.proj.login.LoginActivity$generateKey$1.run(LoginActivity.kt:496)
at java.lang.Thread.run(Thread.java:919)