Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Nadav De Bruin 2 posts 72 karma points
    Aug 16, 2018 @ 14:42
    Nadav De Bruin
    0

    Can not embed yutube link

    We try to embed youtube link to article content and get message: "Computer says no".

    The IIS machine uses TLS 1.2.

    In log the error is:

    ERROR Umbraco.Web.PropertyEditors.RteEmbedController - [Thread 20] Error embedding url https://www.youtube.com/watch?v=9HbPM0h8r50 - width: 360 height: 240
    System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. ---> System.ComponentModel.Win32Exception: The client and server cannot communicate, because they do not possess a common algorithm
       at System.Net.SSPIWrapper.AcquireCredentialsHandle(SSPIInterface SecModule, String package, CredentialUse intent, SecureCredential scc)
       at System.Net.Security.SecureChannel.AcquireCredentialsHandle(CredentialUse credUsage, SecureCredential& secureCredential)
       at System.Net.Security.SecureChannel.AcquireClientCredentials(Byte[]& thumbPrint)
       at System.Net.Security.SecureChannel.GenerateToken(Byte[] input, Int32 offset, Int32 count, Byte[]& output)
       at System.Net.Security.SecureChannel.NextMessage(Byte[] incoming, Int32 offset, Int32 count)
       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 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
       at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
       at System.Net.ConnectStream.WriteHeaders(Boolean async)
       --- End of inner exception stack trace ---
       at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
       at System.Net.WebClient.DownloadString(Uri address)
       at Umbraco.Web.Media.EmbedProviders.AbstractOEmbedProvider.GetXmlResponse(String url)
       at Umbraco.Web.Media.EmbedProviders.OEmbedVideo.GetMarkup(String url, Int32 maxWidth, Int32 maxHeight)
       at Umbraco.Web.PropertyEditors.RteEmbedController.GetEmbed(String url, Int32 width, Int32 height)
    

    Please help.

  • Dennis Pullens 9 posts 90 karma points
    Sep 26, 2019 @ 07:12
    Dennis Pullens
    0

    For those who still have this problem and come here for help; for me the solution was to specify a security protocol in your application startup code, such as:

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
    

    The error happens when using .NET versions below 4.6 because on these versions TLS is not the default protocol and thus not enabled (while the server requires it). When using .NET 4.0 you can use the following code;

    ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
    

    And for .NET 3.5 and below you'll just have to upgrade to 4.0 or higher.

Please Sign in or register to post replies

Write your reply to:

Draft