AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de certificados
  • Sección LDAP de Certificate
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Verifica la correspondencia entre una firma y un string.
Ejemplo
AndroidiPhone/iPad
// Check the signature of data transmitted by PayBox
sData is string = [
act=ps_validated&secid=190&fpay=1&montant=25000&reference=CMD2019021309341242&auto=XXXXXX
&trans=33015345&abo=0&paiement=CARTE&carte=Maestro
&idtrans=14515770&erreur=00000&payscarte=FRA&fincb=44&debcb=111122
]
sSignatureBase64 is string = [
DVD+nMNaQatCBdS/qVjZGE8DtwPvIA3jxGhKlU83MyYC98ezKori/
3cceClqNhtmzD6MDhuKbm8Lw5sFTYdaKWzy79tXzxMLCq814u0+fc5KSihExS6
gIaixjCHiOTgqQXmPP29MkFPpfAFz/wKU/fu+FPGp2dpgLcoRAv0+m1o=
]
sPublicKeyFile is string = fDataDir() + "\pubkey.pem"
// Signature Base64 decoding
bufSignature is Buffer = Decode(Replace(sSignatureBase64, CR, ""), encodeBASE64URL)
// SHA-1 digest ==> certSHA160
IF CertificateCheckString(sData, bufSignature, sPublicKeyFile,
"", "", certSignatureOnly + certSHA160) = certificateOk THEN
Info("The signature is correct")
ELSE
Error("The signature is incorrect", ErrorInfo())
END
Sintaxis

Comprobación de la correspondencia entre una firma y una cadena (firma numérica) Ocultar los detalles

<Result> = CertificateCheckString(<String to check> , <Signature buffer> , <Certificate file> [, <Password> [, <Trusted authorities>]] , <Options>)
<Result>: Constante de tipo Integer
Resultado de la verificación de la firma:
certificateExpiredLa firma es válida, pero ha caducado Certificate.
certificateInvalidFirma inválida o Certificate.
certificateOkFirma de confianza y Certificate.
certificateUntrustedFirma válida pero raíz de Certificate no confiable.
<String to check>: Cadena de caracteres o memoria intermedia
La cadena de caracteres en la que se realizará la comprobación.
Este parámetro puede corresponder a una cadena ANSI, una cadena UNICODE o un Buffer. La cadena será procesada como un buffer.
Si este parámetro corresponde a una cadena (sin especificar el tipo), el tipo de cadena que se tiene en cuenta depende del tipo de cadena definido por Default en la configuración actual del proyecto.
Observación: En el caso de una cadena UNICODE, note que Unicode no es lo mismo en Linux y Windows.
<Signature buffer>: Buffer
Buffer que contiene la firma de la cadena de caracteres. Este búfer es devuelto por CertificateSignString.
<Certificate file>: Cadena de caracteres o memoria intermedia
Corresponde a:
  • ruta completa del archivo Certificate para usar (en formato PEM, DER o P12).
  • Tampón que contiene la Certificate a utilizar.
Observaciones:
  • Para una firma PKCS7, este parámetro permite añadir los certificados utilizados para buscar la cadena de confianza.
  • Para la firma en bruto, este parámetro contiene la clave public.
<Password>: Cadena de caracteres
Contraseña que se utilizará para desencriptar el fichero Certificate si éste es password-protected.
Observación: Este parámetro es útil si la Certificate utilizada es idéntica a la utilizada para la firma.
<Trusted authorities>: Cadena o array de cadenas
La ruta completa de la Certificate de confianza para usar.
Este parámetro también puede corresponder a una array de cadenas que contiene el ruta completo de los diferentes certificados de confianza a utilizar.
Observación: También se tienen en cuenta los certificados de confianza añadidos con TrustedCertificateAdd.
AndroidWidget Android Atención: Este parámetro es necesario en los sistemas recientes (Android 2.6 y posteriores).
<Options>: Constante o combinación de constantes de tipo Integer
Formato de la firma:
certPKCS7Firma en formato PKCS7.
certSignatureOnlySólo firma. En este caso, la constante certSignatureOnly debe combinarse con el algoritmo hash:
  • certSignatureOnly + certMD5: Algoritmo MD5.
  • certSignatureOnly + certificado SHA160: Algoritmo SHA1.
  • certSignatureOnly + certSHA256: Algoritmo SHA2. Se obtiene un resultado de 256 bits.
  • certSignatureOnly + certSHA384: Algoritmo SHA-384. Se obtiene un resultado de 384 bits
  • certSignatureOnly + certSHA512: Algoritmo SHA-512. Se produce un resultado de 512 bits.
En este caso, la cadena de confianza no se comprueba. Sólo se comprueba la validez de la firma en relación con la clave public.
Observaciones

Sección LDAP de Certificate

El Certificate y el Certificate de confianza deben tener secciones LDAP diferentes. Una sección contiene los detalles sobre el emisor del Certificate. Por ejemplo, puede utilizar diferentes subsecciones "commonName.
De lo contrario, la función puede devolver un error correspondiente a la constante certificateUntrusted .
Observación: Dependiendo de la herramienta utilizada, esta sección puede tener diferentes nombres: Emisor (Windows Certificate), etc.
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290std.dll
Versión mínima requerida
  • Versión 16
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 07/05/2023

Señalar un error o enviar una sugerencia | Ayuda local