Ios AWSIoTManager-createKeysAndCertificateFromCsr结果为“缺少身份验证令牌”
我试图使用createKeysAndCertificateFromCsr函数创建密钥和证书,结果来自blockIos AWSIoTManager-createKeysAndCertificateFromCsr结果为“缺少身份验证令牌”,ios,objective-c,amazon-web-services,Ios,Objective C,Amazon Web Services,我试图使用createKeysAndCertificateFromCsr函数创建密钥和证书,结果来自block [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionAPNortheast2
[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionAPNortheast2
credentialsProvider:nil];
AWSIoTManager *awsIoTManager = [AWSIoTManager defaultIoTManager];
// CSR information dictionary
/*
commonName
countryName;
organizationName;
organizationalUnitName;
*/
NSString *commonName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
NSString *countryName = [usLocale displayNameForKey: NSLocaleCountryCode value:countryCode];
NSString *organizationName = [[NSBundle mainBundle].bundleIdentifier componentsSeparatedByString:@"."][1];
NSString *organizationalUnitName = [[NSBundle mainBundle].bundleIdentifier componentsSeparatedByString:@"."][2];;
NSLog(@"commonName = %@ \
commonName = %@ \
organizationName = %@ \
organizationalUnitName = %@",commonName, countryName, organizationName, organizationalUnitName);
NSDictionary <NSString *, NSString *> * csrDictionary = @{@"commonName":commonName,
@"countryName":countryName,
@"organizationName":organizationName,
@"organizationalUnitName":organizationalUnitName};
// Create CSR
[awsIoTManager createKeysAndCertificateFromCsr:csrDictionary
callback:^(AWSIoTCreateCertificateResponse *mainResponse) {
当我检查块的参数时。此错误消息为零
错误域=com.amazonaws.AWSIoTErrorDomain Code=0缺少身份验证令牌UserInfo={NSLocalizedDescription=缺少身份验证令牌,NSLocalizedFailureReason=缺少身份验证令牌异常}
给我一些建议。谢谢。要使此功能正常工作,您需要提供有效的AWSCredentialsProvider。
AWSStaticCredentialsProvider,您在其中使用除测试外不推荐的访问和密钥,或者根据您的设置,使用其他可用的提供商之一,如AWSWebIdentityCredentialsProvider或AWSCOgnitocCredentialsProvider。它们都在AWSIdentityProvider.h文件中声明 你说得对。但是我试着找到了一条路,除了一个必要的供应商,最后我找到了。无论如何谢谢你!您的答案是正确的。另一种方法是使用匿名凭据提供程序并使用证书进行连接,但这需要有生成证书的机制。。。