我正在尝试通过CLI(Arch linux)为Samsung Active 2智能手表构建一个tizen Web应用程序,但我不断收到此错误:
[ERROR] Main.java(195) - org.tizen.common.sign.exception.CertificationException: Invaild password
我已经遵循了本手册:Tizen CLI manual
我用来构建软件包的命令是:
tizen package -t wgt -s CertificateName -- .
Where CertificateName是我还使用CLI通过以下命令创建的我已经存在的证书的名称:
tizen certificate -a CertificateName -p password -n Name -e [email protected]
生成证书后,我已经使用命令添加到安全配置文件中:
tizen security-profiles add -n author -a /home/user/tizen-studio-data/keystore/author/author.p12 -p password
然后,我使用命令将信任锚添加到项目中:
tizen trust-anchor set -c /home/user/tizen-studio-data/keystore/author/author.p12 -s true -- projectfolder
如何解决无效密码错误?谢谢!
[当您调用tizen package
时,应用程序检查您设置的默认profile.xml文件的证书条目。它看起来应该像这样:
<profileitem ca="<tizen>/tools/certificate-generator/certificates/developer/tizen-developer-ca.cer" distributor="0" key="<tizen-data>/keystore/author/<cert>.p12" password="<tizen-data>/keystore/author/<cert>.pwd" rootca=""/>
<profileitem ca="<tizen>/tools/certificate-generator/certificates/distributor/tizen-distributor-ca.cer" distributor="1" key="<tizen>/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12" password="<tizen-data>/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.pwd" rootca=""/>
实际上,密码不是存储在* .pwd文件中,而是存储在Login
的gnome-keyring
密钥环中。为了检索先前通过调用tizen security-profiles add
存储的密码,tizen package
调用:
<tizen>/tools/certificate-encryptor/secret-tool lookup --label=tizen-studio
。
您将通过使用上面的命令看到,您将得到一个比tizan package
多得多的信息错误。根据您的情况,可能未安装gnome-keyring
或Login
密钥环未正确初始化。
解决方案1
要解决此问题,最简单的方法是安装/重新安装gnome-keyring
程序包,然后重新启动(或重新启动gnome-keyring-daemon):
pacman -S gnome-keyring
reboot
这应该添加Login
密钥环,如果没有,您可以使用seahorse
或echo <PASSWORD> | gnome-keyring-daemon --unlock
]手动添加它>
最后,用tizen security-profiles add
重新添加您的个人资料。您可以看到Tizen blog post用于远程/泊坞窗配置。
解决方案2
如果您不想打扰gnome-keyring,可以尝试直接在profiles.xml文件中添加密码,如Tizen forum所示并写在下面:
<profileitem ca="<tizen>/tools/certificate-generator/certificates/developer/tizen-developer-ca.cer" distributor="0" key="<tizen-data>/keystore/author/<cert>.p12" password="<strong_password>" rootca=""/>
<profileitem ca="<tizen>/tools/certificate-generator/certificates/distributor/tizen-distributor-ca.cer" distributor="1" key="<tizen>/tools/certificate-generator/certificates/distributor/tizen-distributor-signer.p12" password="tizenpkcs12passfordsigner" rootca=""/>