我有一個應用程序現在需要部署到應用程序商店,因爲Gatekeeper它正在慢慢變得不可避免。Xamarin/Mono Mac - AppStore構建中的握手失敗
唯一的問題是,網絡請求似乎失敗,因爲他們甚至沒有被解僱。
以下代碼片段已從Xamarin Bugzilla文章中提取,並且在爲Release和Debug構建時成功;
try
{
WebClient test = new WebClient();
Console.WriteLine("Testing SSL GET...");
string testresponse = test.DownloadString(checkFileUrl);
Console.WriteLine("testresponse = " + testresponse);
} catch (Exception e)
{
Console.WriteLine(e.Message);
Console.WriteLine(e.InnerException.Message);
}
然而,當我翻轉到AppStore的身材,沙箱和網絡IO權利,請求永遠不會被髮送出去,在非SSL解密模式由Charles驗證。以下內容將從控制檯中吐出來;
Testing SSL GET...
Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
The authentication or decryption has failed.
這似乎是這個問題,因爲我們使用的IIS服務進行執行操作SOAP調用,其中第一項中記錄。對於調試和發佈,登錄工作正常,因爲呼叫結束。再一次,AppStore構建甚至不嘗試聯繫。
證書有效,CA安裝在我的鑰匙串中。導致這一點,我在代碼(在調試中),例如一些例外;
System.Exception..ctor (message="invalid encoding specification.") in /private/tmp/source/bockbuild-mono-3.2.6/profiles/mono-mac-xamarin/build-root/mono-3.2.6/mcs/class/corlib/System/Exception.cs:81
和
System.Exception..ctor (message="Store Root doesn't exists.") in /private/tmp/source/bockbuild-mono-3.2.6/profiles/mono-mac-xamarin/build-root/mono-3.2.6/mcs/class/corlib/System/Exception.cs:81
和
System.Exception..ctor (message="Store CA doesn't exists.") in /private/tmp/source/bockbuild-mono-3.2.6/profiles/mono-mac-xamarin/build-root/mono-3.2.6/mcs/class/corlib/System/Exception.cs:81
仍然使我相信這是一個證書的問題。測試URL是S3鏈接,登錄服務器是具有有效證書的EC2實例。
乾杯。
我也有過類似的問題,當我用'http',而不是'https',但我想,如果你需要'SSL'這裏一切正常,這並未不解決你的問題 – eggy