From 1bd61eb3e4e0353a1344f46f5718d2433ec1fcd6 Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Fri, 11 May 2018 10:29:52 +0800 Subject: [PATCH] tools: trust_merger: support option for RSA algorithm and SHA algorithm 1. RSA option: --rsa [algorithm magic] --rsa 0: none RSA --rsa 1: RSA 1024 --rsa 2: RSA 2048 --rsa 3: RSA 2048 PSS(PKCS1 V2.1, only RK3308/PX30/RK3326 need) 2. SHA option: --sha [algorithm magic] --sha 0: none sha --sha 1: SHA 160 --sha 2: rk big endian SHA 256(only rk3368 need) --sha 3: little endian SHA 256 Change-Id: I54bc8e1b1e5f4a8aadb6787da1f17ffeb55ff1dd Signed-off-by: Joseph Chen --- tools/trust_merger | Bin 48941 -> 53147 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/trust_merger b/tools/trust_merger index c74d74d72c9456269aca04839972c56174843d03..e00a64f4763c6d2e6edf8b44ea6bbbc6fcb407a3 100755 GIT binary patch delta 13278 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�@t95+4)ITe5#vgt&Nip-Y2h#G> zF^d#UtF&NTBnL>`K1H`+Txo|>tMsW-S}Xl8llE~_I*?X0A5w~2SguZ_s3;Etr}(pN zhQ5xkkk*)tzj5~uk~Q;INJXZk?8;iT5eMt2BcaoylI@zmTH_qOdxN#oE z8o5tqtPxXHjPMsJrSHS3+#^1*qx1YjX?OO;#!G#b%giwLCHftb6}fDa2Zn6Ka)DD{ zd2$b-la9(Y5;uOFuA_7vMKAf2rL?WYB?JXhd<$^uoz>{Lk(alLRtq2{AFj;uO2b-r zy_I+_gT+u zS>kPSPcZhU7X;oN2T;7;fz)R^$-(&j5X&FTZ#X>4G