Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola amigos!
Estou tendo um problema que nao consigo resolver de forma alguma. Eu tenho um codigo que acessa uma paginae traz o conteudo dela pra mim...isso funciona normalmente com HTTP mas quando tento usar HTTPS da erro.
Segue abaixo o codigo:
Dim strURL as string = "https://www16.bb.com.br/site/mpag/"
Dim loHttp As HttpWebRequest = WebRequest.Create(strURL)
Dim lcPostData As String
Dim lbPostBuffer As Byte()
Dim loPostData As Stream
lcPostData = "idConv=" & HttpUtility.UrlEncode("0000")
lcPostData += "&valor=" & HttpUtility.UrlEncode("7850")
lcPostData += "&refTran=" & HttpUtility.UrlEncode("00000000000000000")
lcPostData += "&nome=" & HttpUtility.UrlEncode("Lucas")
lcPostData += "&endereco=" & HttpUtility.UrlEncode("AV teste, 2373- RUA 2, 79 A")
lcPostData += "&cidade=" & HttpUtility.UrlEncode("Taubaté")
lcPostData += "&estado=" & HttpUtility.UrlEncode("SP")
lcPostData += "&cep=" & HttpUtility.UrlEncode("12032000")
lcPostData += "&dtVenc=" & HttpUtility.UrlEncode("07122006")
lcPostData += "&msgLoja=" & HttpUtility.UrlEncode("Pagamento válido somente até a data de vencimento!<br><br><br><br><br><br><br><br><b>Número do pedido:</b> 000")
lcPostData += "&versao=" & HttpUtility.UrlEncode("02")
lcPostData += "&moeda=" & HttpUtility.UrlEncode("986")
lcPostData += "&convClasse=" & HttpUtility.UrlEncode("001")
lcPostData += "&tpPagamento=" & HttpUtility.UrlEncode("2")
lcPostData += "&urlRetorno=" & HttpUtility.UrlEncode("[http://www.sss.com.br")](http://www.sss.com.br)
lbPostBuffer = Encoding.GetEncoding(1252).GetBytes(lcPostData)
loHttp.Method = "POST"
loHttp.ContentLength = lbPostBuffer.Length
loHttp.Timeout = 1000000
loHttp.UserAgent = Request.UserAgent.ToString
loPostData = loHttp.GetRequestStream()
loPostData.Write(lbPostBuffer, 0, lbPostBuffer.Length)
loPostData.Close()
Dim loWebResponse As HttpWebResponse = loHttp.GetResponse()
Dim Enc As Encoding = Encoding.GetEncoding(1252)
Dim loResponseStream As StreamReader = New StreamReader(loWebResponse.GetResponseStream(), Enc)
lbCode.Text = loResponseStream.ReadToEnd().ToString
loWebResponse.Close()
loResponseStream.Close()>
Server Error in '/diretorio' Application.
The remote certificate is invalid according to the validation procedure.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
a
Exception Details: System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[AuthenticationException: The remote certificate is invalid according to the validation procedure.]
System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) +1036898
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) +333
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +313
System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) +386
System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) +293
System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) +297
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) +364
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +313
System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) +386
System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) +293
System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) +297
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) +364
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +313
System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) +386
System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) +293
System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) +297
System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) +364
System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) +313
System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) +138
System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) +120
System.Net.TlsStream.CallProcessAuthentication(Object state) +47
System.Threading.ExecutionContext.runTryCode(Object userData) +66
System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(
ryCode code, CleanupCode backoutCode, Object userData) +0
System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) +166
System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) +145
System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) +728
System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) +44
System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) +21
System.Net.ConnectStream.WriteHeaders(Boolean async) +266
[WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.]
System.Net.HttpWebRequest.GetRequestStream() +1504461
aaa.grabber.urlGrabber(String strURL) in ---grabber.aspx.vb:64
aaa.grabber.Page_Load(Object sender, EventArgs e) in ---grabber.aspx.vb:31
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210
Obrigado pela ajuda KlayGomes, mas estou tendo problemas para converter isso para VB.NET!
Você pode me ajudar...eu sou novato com VB.NET e to apanhando aqui!!
Muito obrigado pela ajuda.
Olha:
http://www.google.com.hk/search?q=ServerCe...art=10&sa=N
(...)
Imports System.Net.Security
Imports System.Security.Cryptography.X509Certificates
(...)
Private Function ChckRemote(ByVal sender As Object, ByValcertificate As X509Certificate, ByVal chain As X509Chain,
ByVal sslPolicyErrors As System.Net.Security.SslPolicyErrors) As Boolean
//TODO: não esqueça de implementar uma rotina de verificação, caso contrário todos os certificados serão aceitos.
Return True
End Function
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ChckRemote)
>
Olha:
http://www.google.com.hk/search?q=ServerCe...art=10&sa=N
Cara de coração muito obrigado mesmo!!
Tanto pelo site, que é muito bom!!
Quanto pelo codigo traduzido!!
Vlw mesmo!!
Skipp, bom dia tudo bem?
Insere no seu código:
(...)
(...)
// Insira isto no page load dá página (se for webservice colocar antes do request)
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
fonte:delegate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors sslError)
{
//TODO: não esqueça de implementar uma rotina de verificação, caso contrário todos os certificados serão aceitos.
http://msdn2.microsoft.com/en-us/library/s...oncallback.aspx