Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2011, 11:37
Hiatomx
 
Fecha de Ingreso: febrero-2009
Ubicación: Jiutepec, Morelos, Mexico
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Error al mandar descarga de archivo desde un HTTPS

Hola a todos. Les platico mi problema.

Antes tenia un servidor normal HTTP y con ASP y VB tengo una funcion que arma un CSV y se lo manda al usuario al dar click en un boton.

Ahora todo esto se ha pasado a un HTTPS y no funciona. Bloquea la descarga y marca que se mando el ASP en vez del CSV. Lo curioso del asunto es que en el IExplorer 9 no me marca ese error. Ya lo probe en varias maquinas y fuera de mi red local para descartar un error en la configuracion del navegador pero nada.

La funcion que hace la descarga es esta:

Código:
Protected Sub btnCadena_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCadena.Click

  Dim dataTable a As DataTable = New DataTable()
  Dim id_cliente As Integer
  id_cliente = Convert.ToInt32(Session("userid"))

  Dim conn2 As OleDbConnection = New OleDbConnection()
  conn2.ConnectionString = Application("conexion")
  ...
  cmd2.CommandType = CommandType.StoredProcedure

  Dim adaptercadena As OleDbDataAdapter = New OleDbDataAdapter(cmd2)

  conn2.Open()
  adaptercadena.Fill(dataTable)
  conn2.Close()
  conn2.Dispose()

  Dim strcadena As StringBuilder = New StringBuilder()

  For Each row As DataRow In dataTable.Rows
   strcadena.AppendLine(row("layout").ToString())
  Next

  Response.Clear()
  Response.AddHeader("content-disposition", "attachment;filename=Ventas_Cadena_Dia" & fecha1.ToString() & ".csv")
  Response.Charset = ""
  Response.Cache.SetCacheability(HttpCacheability.NoCache)
  Response.ContentType = "application/vnd.text"
  Response.Write(strcadena.ToString())
  Response.End()

 End Sub
Ya agregue esta funcion:

Código:
  Private Function ValidateCertificate(ByVal sender As Object, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As Net.Security.SslPolicyErrors) As Boolean
    Dim validationResult As Boolean
    validationResult = True
    '
    ' policy code here ...
    '
    Return True
  End Function
y esta linea en mi metodo del click:

Código:
ServicePointManager.ServerCertificateValidationCallback = AddressOf ValidateCertificate
Pero sigue sin funcionar. Creo que me falta ligar el ServicePointManager con mi Response.

Espero su ayuda, Gracias!!