2017-02-27 14 views
0

PushSharpv2.2.1.0의 약간 수정 된 버전을 사용하여 최근에 최신 빌드 작업을 중단했습니다. 재 작성시 시간 제약으로 인해 4.x 또는 3.x 버전으로 업데이트 할 수 없습니다. 코드의 대부분의 양상들로 수일의 문제를 겪은 후에, 나는이 문제를 일으킬 수있는 것이 무엇인지 확신 할 수 없다.SSPI 호출 실패 - 수신 된 메시지가 예기치 않게 또는 형식이 잘못되었습니다.

A call to SSPI failed, see inner exception. 
at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) 
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) 
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) 
at PushSharp.Apple.FeedbackService.Run(ApplePushChannelSettings settings, CancellationToken cancelToken) 
at PushSharp.Apple.ApplePushService.<>c__DisplayClass4.<.ctor>b__1(Object state) 

Inner Exception: System.ComponentModel.Win32Exception (0x80004005) 
The message received was unexpected or badly formatted 

우리는 이미 수정이 제자리에 here을 언급했다 : 우리는 (지금까지 그것은 단지 사물의 애플 측과 같은) 데이터를 처리하려고 할 때마다

우리는 다음과 같은 오류가 발생합니다. 많은 코드를 게시하지 않으면 디버깅에 어떤 정보가 도움이되는지 확신 할 수 없습니다. 인증서를 검색하고로드하는 데 문제가 없거나 오류가 발생하지 않습니다 (로깅이 올바르게로드되고 올바른 버전임을 나타냄). 이전 인증서가 만료되었으므로이 인증서에 대한 최신 업데이트를 수행했지만 새 인증서가 올바르게로드되었습니다.

인바운드 데이터의 변경을 의미하는 인프라는 변경되지 않았습니다. 계정 정보를 보호하기 위해 마스킹 변경 사항이 있지만 이러한 변경 사항을 제거해도 문제가 해결되지 않으며 어쨌든 로깅 중에 만 발생해야합니다. 내가 뭘 놓치고 있니?

답변

2

나는이 문제에 가까워 지지만 해결하지 못했던 몇 가지 답변을 발견 했으므로 (그리고 PushSharp의 Git 페이지에서 2.x의 문제에 관심이 없다고 표시했기 때문에) 희망에 대한 구체적인 대답을 넣을 것이다. 도움이됩니다 :

내 문제는 새로운 인증서를 중심으로 이루어집니다. 새 인증서를 설치하는 동안 인증서의 개인 키를 보유한 p12 파일을 추가하지 않았으므로 메시지를 올바르게 암호화 할 수 없었습니다.

p12 파일을 서버에 설치하면 문제가 해결되었습니다.

전반적으로 지나치게 고려중인 문제에 대한 상당히 분명한 해결책입니다.

+0

누군가를 돕는 경우에도이 문제가 발생하여 Debug Push Broker에 대한 호출을 제거하면 해결됩니다. – torial