2013-04-16 2 views
0

Я пытаюсь выполнить аутентификацию в API-интерфейсе Intuit API, чтобы лучше ознакомиться с API данных клиента (AggCat).Не удалось аутентифицировать API-интерфейс Intuit API

Я ввожу потребительский ключ/секрет, идентификатор SAML, идентификатор пользователя и оригинальный сертификат .crt, который я загрузил. Я получаю ошибку:

The given certificate file is not supported. Please provide valid PEM certificate file.

Я не понимаю эту ошибку, потому что файл .crt является PEM-закодированы, насколько я могу судить.

Тем не менее, я пошел на странице «Создать X.509 ключами»:

http://docs.developer.intuit.com/0020_Aggregation_Categorization_Apps/009_Using_AggCat/0010_GettingStarted/0015_Create_an_AggCat_integration/0010_Creating_X.509_Public_Certificates

и следовали инструкциям в нижней части «генерируя PEM файл». Я могу пройти шаг 1. (конвертировать JKS магазин в формате p12), но я получаю следующее сообщение об ошибке при попытке запуска step2:

$ openssl pkcs12 -in keystore.p12 -nocerts -out cert.pem 

MAC verified OK 
Error outputting keys and certificates 
139679448614560:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539: 
139679448614560:error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error:p12_decr.c:104: 
139679448614560:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:130: 

Я использую JDK-1.7.0_17 и OpenSSL-1.0. 1 на ubuntu-12.04 LTS.

Спасибо за любую помощь.

+0

какая подпись вы использовали? он не поддерживает SHA256withRSA, и он должен быть 256. –

ответ

0

Нашли это, прекратите искать!

Проблема возникает из-за того, что формат PKCS12 не поддерживает отдельные пароли для файла хранилища и любых ключей внутри него. И файл хранилища, и ключ внутри него должны быть зашифрованы с помощью того же пароля.

Так что проще всего было снова пройти через этот процесс, и на этапе формирования начального секретного ключа и хранилища ключей с Keytool:

keytool -genkey -alias myapp -validity 1095 -keyalg RSA -keystore keystore.jks

обязательно используйте один и тот же пароль для обоих ключей (Пароль к хранилищу) и закрытый ключ (keypass).

В качестве альтернативы, если вы действительно должны/хотеть использовать отдельные пароли для хранилища ключей и ключа в этом шаге, на начальной стадии создания МП:

keytool -importkeystore -srckeystore [MY_KEYSTORE.jks] 
    -destkeystore [MY_FILE.p12] 
    -deststoretype PKCS12 
    -deststorepass [PASSWORD_PKCS12] change this to [KEYPASS] 
    -srcstorepass [PASSWORD_JKS] 

установить -srcstorepass паролю из хранилища ключей (storepass), но установите -deststorepass файла PKCS12 на пароль секретного ключа (keypass), который используется при создании ключа/хранилища ключей с помощью команды keytool -genkey, описанной выше.

Я не тестировал эту альтернативу, но она также должна работать, поскольку и магазин PCKS12, и ключ будут в конечном итоге использовать один и тот же пароль.

Смежные вопросы