Ubuntu 20.04下Evolution 3.36.5导入PKCS12证书失败并出现特定报错
我看到你在Ubuntu 20.04上用Evolution 3.36.5导入PKCS12证书时碰了壁,而且从命令行启动客户端后弹出了一堆报错信息。先别着急,咱们先把你遇到的报错理清楚,再一步步解决问题。
首先,你在命令行启动Evolution后看到的这些日志:
../src/intel/isl/isl.c:2105: FINISHME: ../src/intel/isl/isl.c:isl_surf_supports_ccs: CCS for 3D textures is disabled, but a workaround is available. (evolution-alarm-notify:509623): GLib-GIO-WARNING **: 15:19:58.145: Your application did not unregister from D-Bus before destruction. Consider using g_application_run(). ** (evolution:509614): CRITICAL **: 15:20:02.948: Cannot register URI scheme evo-file more than once ** (evolution:509614): CRITICAL **: 15:20:02.948: Cannot register URI scheme gtk-stock more than once importing pkcs12 from '....myfile.p12' handle_error (7)
其中前两条警告(FINISHME和D-Bus相关)其实大多是无关紧要的系统组件警告,不会直接导致证书导入失败。真正需要关注的是那两条CRITICAL级别的URI重复注册错误,以及最后的handle_error (7)——这大概率是因为Evolution的后台进程残留,或者证书文件本身有问题导致的。
给你几个针对性的解决步骤:
彻底重启Evolution进程
后台残留的Evolution进程可能会导致URI注册冲突,先把所有相关进程杀掉再重新启动:killall evolution evolution-alarm-notify等几秒后再从命令行或者应用菜单重新打开Evolution,然后尝试导入证书。
验证PKCS12文件的有效性
有时候证书文件本身损坏或者密码错误也会导致导入失败,用openssl工具验证一下:openssl pkcs12 -info -in /path/to/your/myfile.p12输入证书密码后,如果能正常显示证书的详细信息,说明文件没问题;如果报错,那你需要重新获取正确的PKCS12文件。
通过系统证书管理器导入
试试绕开Evolution自带的导入功能,先把证书导入系统证书库:- 打开系统设置,找到隐私与安全 > 证书
- 在证书管理器里导入你的PKCS12文件,设置好存储位置(推荐选“系统”或“用户”)
- 重启Evolution,看看客户端能不能自动识别到这个证书
重置Evolution配置文件(备选方案)
如果以上方法都不管用,可能是Evolution的配置文件出现了损坏。先备份好你的账户和邮件数据,然后重置配置:mv ~/.config/evolution ~/.config/evolution_backup重新启动Evolution后,会生成全新的配置文件,你重新设置账户后再尝试导入证书。
备注:内容来源于stack exchange,提问作者adowdy

