Я читаю эту статью о том, как разрешить использование самоподписанного сертификата клиентом Android:
http://blog.crazybob.org/2010/02/android-trusting-ssl-certificates.html#comment-form
На шаге 2 мне нужно запуститьнесколько команд, но я не слишком знаком с оболочкой и получаю синтаксическую ошибку при попытке выполнить следующее:
export CLASSPATH="/Users/me/Desktop/lib/java/bouncycastle/bcprov-jdk16-145.jar"
CERTSTORE=res/raw/mystore.bks
if [ -a $CERTSTORE ]; then
rm $CERTSTORE || exit 1
fi
keytool \
-import \
-v \
-trustcacerts \
-alias 0 \
-file <(openssl x509 -in mycert.pem) \
-keystore $CERTSTORE \
-storetype BKS \
-provider org.bouncycastle.jce.provider.BouncyCastleProvider \
-providerpath /usr/share/java/bcprov.jar \
-storepass mypassword
Ошибка, которую я получаю при запуске:
./test.sh: line 11: syntax error near unexpected token `('
./test.sh: line 11: ` -file <(openssl x509 -in mycert.pem) \'
Так что синтаксис -file проблематичен, но я не уверен, на что это можно изменить, потому что я не знаю, какой синтаксис может обрабатывать параметр -file.
У кого-нибудь есть идеи?Я на Mac 10.6,
Спасибо
--------- Обновление ---------------
Если я заменю символ «<» на «$», я получу следующее исключение при выполнении: </p>
java.lang.RuntimeException: Usage error, CERTIFICATE----- is not a legal command
at sun.security.tools.KeyTool.parseArgs(KeyTool.java:375)
at sun.security.tools.KeyTool.run(KeyTool.java:171)
at sun.security.tools.KeyTool.main(KeyTool.java:166)
хмм. Я не понимаю, какой аргумент говорит, что исключение говорит мне, что это плохо.Обновленный скрипт выглядит так:
export CLASSPATH="/Users/me/Desktop/lib/java/bouncycastle/bcprov-jdk16-145.jar"
CERTSTORE=res/raw/mystore.bks
if [ -a $CERTSTORE ]; then
rm $CERTSTORE || exit 1
fi
keytool \
-import \
-v \
-trustcacerts \
-alias 0 \
-file $(openssl x509 -in mycert.pem) \
-keystore $CERTSTORE \
-storetype BKS \
-provider org.bouncycastle.jce.provider.BouncyCastleProvider \
-providerpath /usr/share/java/bcprov.jar \
-storepass mypassword
Спасибо!