签署MSI包时出错,发生了什么?

时间:2018-03-20 09:43:09

标签: windows-installer windows-10 signing p12

我刚刚从DigiCert获得了代码签名证书。我有一个Microsoft Authenticode。我很惊讶他们没有问我私钥(我认为它是在浏览器中生成的)。将它从Firefox导出到P12文件后,我尝试使用它签署我的应用程序,但失败了:

C:\Users\pupeno\>"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /v /f key_and_cert.p12 app.msi
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: Store::ImportCertObject() failed." (-2146885630/0x80092002)

任何想法发生了什么?

1 个答案:

答案 0 :(得分:0)

DigiCert支持帮助我解决这个问题,他们很棒。我不确定是否找到了该命令行问题的实际解决方案,但有一个解决方法。

使用DigiCert SSL Utility我导入了证书,因为它是我系统上唯一的私钥/证书,所以从命令行中删除它会自动选择它。

工作命令行最终是这样的:

sealed trait Wrapping
sealed trait PinkWrap extends Wrapping
sealed trait GreenWrap extends Wrapping

sealed trait Foo[M[_], A] {}
case class MintFoo[M[_], A](a : A) extends Foo[M, A]
case class LiquoriceFoo[M[_], A](a : A) extends Foo[M, A]
sealed trait WrappedFoo[M[_], _, A] {
  def m: Foo[M, A]
  def tasteFoo: String = {
    m match {
      case MintFoo(a) => "Mint"
      case LiquoriceFoo(a) => "Liquorice"
    }
  }
}
case class FooInPinkWrap[M[_], A](m: Foo[M, A]) extends WrappedFoo[M, PinkWrap, A]
case class FooInGreenWrap[M[_], A](m: Foo[M, A]) extends WrappedFoo[M, GreenWrap, A]

object Utils {
  def analyzeFoo[M[_], S <: Wrapping, A](w: WrappedFoo[M, S, A]): String = {
    w match {
      case f: FooInPinkWrap[M, A] => f.tasteFoo + " in Pink wrapping"      
      case f: FooInGreenWrap[M, A] => f.tasteFoo + " in Green wrapping"
    }
  }
}