/************************************************************************/ Power script /************************************************************************/ string ls_cadena_original,ls_Privkey,ls_sello,ls_certfile,ls_keyfile long nlen, mlen,nBlockLen blob lsdata integer nB64Len ls_certfile = "C:\ironbit.cer" ls_keyfile = "C:\ironbit.key" ls_cadena_original = "||A|1|2005-09-02T16:30:00|1|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|52.5||" //getting private key from *.key ls_Privkey = rsaReadPrivateKey(ls_keyfile, "Empresa1") //encrypt cadena_original with private key lsdata=blob(ls_cadena_original,EncodingUTF8!) mlen = len(lsdata) nBlockLen = RSA_KeyBytes(ls_Privkey) blob {128} abblock nlen = RSA_EncodeMsg(abBlock, nBlockLen, lsdata, mLen, 32 + 1) RSA_RawPrivate(abblock, nBlockLen, ls_Privkey, 0) //Convert to base64 nlen = len(abblock) nB64Len = CNV_B64StrFromBytes(ls_sello, 0, abblock, nlen) ls_Sello = fill(" ",nB64Len) CNV_B64StrFromBytes(ls_sello, nB64Len, abblock, nlen) /**************************************************************************/ Global external functions /**************************************************************************/ Function long RSA_ReadEncPrivateKeys (REF string strPrivateKey,long nKeyMaxLen, string strEpkFileName,string strPassword, long nOptions) alias for "RSA_ReadEncPrivateKey;ansi" Library "diCrPKI.dll" Function integer RSA_KeyBytes (string strKey) alias for "RSA_KeyBytes;ansi" Library "diCrPKI.dll" Function integer RSA_EncodeMsg (Ref blob abOutput, integer nOutputLen, REF blob abMessage, integer nMsgLen, integer nOptions) alias for "RSA_EncodeMsg;ansi" Library "diCrPKI.dll" Function integer RSA_RawPrivate (Ref blob abData, integer nDataLen, string strPrivateKey,integer nOptions) alias for "RSA_RawPrivate;ansi" Library "diCrPKI.dll" Function integer CNV_B64StrFromBytes (ref string strB64, integer nB64StrLen,Ref blob abData,integer nDataLen) alias for "CNV_B64StrFromBytes;ansi" Library "diCrPKI.dll" /**************************************************************************/