1.p1åp7ç¾åçåºå«
p1åp7ç¾åçåºå«
P1ç¾å:å³è£¸ç¾å,源码手游套路源码ç¾åå¼ä¸åªæç¾åä¿¡æ¯.
p7ç¾å:å³,ç¾åä¸å¯ä»¥å¸¦æå ¶ä»çéå ä¿¡æ¯,ä¾å¦ç¾åè¯ä¹¦ä¿¡æ¯,ç¾ååæä¿¡æ¯,æ¶é´æ³ä¿¡æ¯ç.
æ以è¦æ³¨æ,ä¸è¦p7çç¾å,ç¨p1çæ¹å¼æ¥éªç¾,è¿æ ·æ¯ä¸å¯¹ç.æ¯é误ç.
1.对è¦ç¾åçä¿¡æ¯,ç¨æå®çhashç®æ³,è·åä¿¡æ¯çhashå¼.
2.ç¨ç§é¥,对hashå¼è¿è¡å å¯,è¾åºå å¯ä¸²(ä¹å°±æ¯ç¾åå¼).
以ä¸æ¹å¼ä¹å°±æ¯è£¸ç¾å,PKCS#1
1.对è¦ç¾åçä¿¡æ¯(ä¹å°±æ¯ç¾ååæ),ç¨æå®çhashç®æ³,è·åä¿¡æ¯çhashå¼.
2.ç¨å ¬é¥ä¿¡æ¯,解å¯ç¾åå¼,ä»ä¸è·åå å¯çhash串,åä¸é¢è·åçhashå¼è¿è¡å¯¹æ¯,ä¸è´å认为éªç¾éè¿,ä¸ä¸è´åä¸éè¿.
éè¦æ³¨æ,å¦æè°ç¨è¿ç¨ç¾å(æ¯å¦çµåç¾å),å ä¸ºæ ¹æ®è¦ç¾åçæ°æ®æ ¼å¼çä¸å,æ以æ们æ¬å°éªç¾çæ¶å,ä¹è¦æ ¹æ®ä¸åçç¾åæ¹å¼,æ¥è¿è¡éªè¯(ä¹å°±è¯´,ä»ä»¬é£è¾¹ç¾åçæ¶å,çæ£ç¨æ¥ç¾åçåèæ°ç»æ¯æä¹æ¥ç)
ç®å常è§çå ç§æ¹å¼:(P1ç¾åéªç¾)
CT_HASH:åè¯ç¾åæ¹,æè¿ä¸ªæ¯å¯¹ç¾ååæhashè¿äºçhash串,ä½ ä»¬ç´æ¥å¯¹è¿ä¸ªå¼è¿è¡å å¯å³å¯,ä¸éè¦åhashäº.
æ以è¿ç§æ¹å¼,æ们æ¬å°éªç¾çæ¶å,è¦å°åææ¾å ¥è¿è¡éªç¾,èä¸æ¯hashè¿åçhashå¼(å 为éªç¾çæ¶å,å®åä¼hashä¸æ¬¡)
CT_MESSAGE:å³,åè¯ç¾åæ¹,æåè¿å»çå 容,å°±æ¯ç¾åçåæ.ä¸è¬æ¥è¯´,å 为ç¾åå¼é½æ¯åèæ°ç»,æ以ç¾åæ¹ä¼æ ¹æ®çº¦å®çç¼ç æ¹å¼,对è¿ä¸ªç¾ååææè§å®çç¼ç æ¹å¼,åå®çåèæ°ç»ä¹å,è¿è¡ç¾å
æ们æ¬å°éªç¾çæ¶å,ä¹è¦å¯¹åæååæ ·çæä½
CT_BASE_DATA:å 为ææ¶å,æ们è¦ç¾åçåæ,å®å°±æ¯ä¸ä¸ªbyte[],ä½æ¯ä¸ºäºæ¹ä¾¿ä¼ è¾,ä¸è¬ç¾åæ¹é½è¦æ±æ¥åçæ¯ä¸ä¸ªå符串.æ以就æäºè¿ç§ç¾åæ¹å¼.å³:æ们éè¦å¯¹ç¾ååæçbyte[]åbaseç¼ç ,ç¾åæ¹æ¶å°ä¹å,åå解ç ,并ä¸æ解ç åçbyte[]è¿è¡ç¾å.
æ以æ们æ¬èº«éªç¾çæ¶å,åªè¦ä¼ å ¥byte[]å°±è¡.
第ä¸æ¹è¿åçç¾åå¼,ä¸è¬ä¹æ¯ç¾åå¼byte[]åbaseç¼ç åçå符串,æ以æ们è¦åbase解ç ,æè½è·åå°ç¾åå¼byte[].
P7ç¾åå ¶å®ä¹å°±æ¯P1ç¾åçåºç¡ä¸,éå ä¸äºå ¶ä»çä¿¡æ¯(å 为P1æ¯è£¸ç¾å,åªæå å¯ä¸²,é¤äºæ¬äººèªå·±,æ ¹æ¬ä¸ç¥éç¾åè¯ä¹¦,å ¬é¥,ç¾åç®æ³,ç¾åç¨çhashç®æ³,æ¶é´æ³,ç¾ååæççä¿¡æ¯æ¯ä»ä¹,ä¸ä¾¿äºéªè¯ç¾å,æ以就éè¦æP7ç¾åä½ä¸ºè¡¥å ,å ¶å®ä¹å°±æ¯å¨P1ä¹å,å¨å å¯ä¸²çåºç¡ä¸,éå è¿äºä¿¡æ¯ä¸å»)
æ以æ们å¨itextpdfçæºç ä¸è½çå°,å ¶å®å®åç¾åçæ¶å,ä¹å°±æ¯å æ建åºä¸ä¸ªè¦ç¾åçå符串,ç¶å丢ç»æ个ç§é¥è¿è¡ç¾å,è·å¾ç¾åå¼,å®å对è¿ä¸ªç¾åå¼éå :è¯ä¹¦é¾,æ¶é´æ³ççä¿¡æ¯,ç¶åæ建åºä¸ä¸ªP7ç¾å,ç¶åæ¾å ¥PDFæ件ä¸.
PKCS#1ï¼å®ä¹RSAå ¬å¼å¯é¥ç®æ³å å¯åç¾åæºå¶ï¼ä¸»è¦ç¨äºç»ç»PKCS#7ä¸ææè¿°çæ°åç¾ååæ°åä¿¡å°[]ã
PKCS#7ï¼å®ä¹ä¸ç§éç¨çæ¶æ¯è¯æ³ï¼å æ¬æ°åç¾ååå å¯çç¨äºå¢å¼ºçå å¯æºå¶ï¼PKCS#7ä¸PEMå ¼å®¹ï¼æ以ä¸éå ¶ä»å¯ç æä½ï¼å°±å¯ä»¥å°å å¯çæ¶æ¯è½¬æ¢æPEMæ¶æ¯[]ã