Travis CI + NuGet产生无效的证书错误

时间:2017-11-11 17:06:39

标签: mono nuget travis-ci

我正在尝试在Travis上使用NuGet。

- sudo apt-get -qq -y update
- sudo apt-get -qq -y install mono-complete gtk-sharp2
- wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
- mono ./nuget.exe install ILMerge -Version 2.14.1208

不幸的是,我收到以下错误:

  https://api.nuget.org/v3/index.json

Attempting to gather dependency information for package 'ILMerge.2.14.1208' with respect to project '/home/travis/build/craftr-build/craftr/build/.nuget-artifacts', targeting 'Any,Version=v0.0'
Invalid certificate received from server. Error code: 0xffffffff800b0109

我尝试过在Google上找到的各种建议,例如在尝试使用NuGet之前使用以下内容:

- mozroots --import --sync
- yes | certmgr -ssl -m https://go.microsoft.com
- yes | certmgr -ssl -m https://nugetgallery.blob.core.windows.net
- yes | certmgr -ssl -m https://nuget.org

不幸的是,mozroot命令给出了

Downloading from 'http://mxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1'...
Couldn't retrieve the file using the supplied information.

退出mozroots命令会产生相同的NuGet错误。

如何让NuGet在Travis上工作?

1 个答案:

答案 0 :(得分:1)

我现在只使用了APT Addon。我在另一个Mono项目here

中找到了sourcelinse和key_urls
addons:
  apt:
    sources:
      - sourceline: deb http://download.mono-project.com/repo/debian trusty/snapshots/5.2.0.224 main
        key_url: http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xA6A19B38D3D831EF
      - sourceline: deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod trusty main
        key_url: https://packages.microsoft.com/keys/microsoft.asc
      - packages:
    packages:
      - mono-devel
      - ca-certificates-mono