grazie ma ho risolto.
dopo le tue ultime affermazioni sono entrato in confusione. non lo dico in tono offensivo anzi. vedi, la mia applicazione in realtà sfrutta due engine RSA (così li chiamo). le chiavi ecc. le calcolo tutte 'a mano', solo alla fine casto i BigInteger propriamente.
dicevo, mi hai messo il dubbio riguardo l'uso di chiavi pubbliche e private.
ho ricontrollato tutto l'algoritmo che ho creato: avevi ragione.
è vero, certo, che per creare le Signature occorre usare la PrivateKey. altrettanto vero è che l'intero algoritmo risulta ancora corretto. eseguivo la firma con la PrivateKey del motore engine RSA sbagliato a 512 anzichè 1024 bits.
insomma, distrazione.
con tante operazioni aritmetiche avevo confuso i blocchi.
giusto per provare quanto scritto ti riporto ciò su cui ho lavorato.
(sintetizzerò a numeri così puoi recuperare le informazioni, se lo desideri).
ti ringrazio nuovamente per la tua disponibilità e cortesia.
codice:
//publicKey, exponent=17
RSAEngine512_9fbc931a7ea120df67613aa0e00749bfdcf25c90edc4b0683b4127ba9b363ebd438723cba23f542e8a04ec76432bdea6372b7b2724544939282aa733f1b671d2bed76a593809c6fcc511e23e52f9ec5cc5611586bb42f71d111cff5e0f57baf18ad8c42fb9f6ca03738fa4264adc0b672be4316c4aa1d6a4d4a8b77ccd01b445(11) L=129
//privateKey
RSAEngine1024_308204bc020100300d06092a864886f70d0101010500048204a6308204a20201000282010100a1088d9242cf8e55243a2685233ad269fdb3b91e300f2242d22e3a99b644af694f03e62ab434c5efc01f75305f17e57a336980c4ce5af43dfc71ac515dd84e6dc011eebe64f5f22727cddd36c5877473bbf20d673abdde4cb55ff77d303fcc492381e654bf97b8c44763067defa09ab595b0fc3a30503ec4fd1194e8872cd7c79adc92d0f541bad8c19608fe10c16547de244129aa412dc821978172ca0b8155cce8580ebf2b398af76b76dd9b51115236919a23435ab9152cdacff001c2a0d94c3cdac9bd7b0d12ede02380b40c8a4a28dc43f6c6c33fb234df7d539091141650b49d827dd0653d201046c0e6699405ba90338e7aa0f838297e644f33e3a9f7020111028201005eb9bcb06389268c6fa9bc4e50f56cb6d178c73eef17f60930576dc3d4a0dfa75ba7f0cdd36a5650cb5dcc76ce8686fc96b687fb4c35809ceed9746c1915d3c816a1230695bdd9bcae00a03e561371ad7d9d714bc83373b4a6ed282b85cb2cdfba88a59b43866cafb1858b59238ba64cb2681be5fe4d521985ce1b5b9acf15838a368cf514e752c27d3b2ca9e5106dcd48562aff6dda285c48e1f2ae869508d0d6a8b4da481bc8958a0eb694d1943019425ea5d069058e080853a42a59cb6cda42b0402296eda16cc01f602d6f79b939a03d485036ab3958d551c9661dc02218d31121f011d7b4ece5a032bef3b3481a79843edb11225008f78d7f600e7dd9e102818100c46c6f85e5fa540b6f11954e6db731fa371ca857500d68bd2faf6ae21ad64f1641f8fb59df89224c94ddb844aa5ae410e3b51a0f8ceb5e09ac50a0b112fd48a66838701a23b254141ec9978e999ba65f128049361456e98c6b5d649ecf842f48f65e07818a25fc7a769376cbbeec5fb92418cd81bb5eea9c460e41e35f01bcb302818100d1e033aa6bbe26e91739748ed0d4abd712751c8685da806e0f9b2d34ca6b09a95136f60e983fa8a69174bb68bfe0a849953b99649d7f83310bfbfe908951ebf30c3f30db32ce59c5eee1353e76885c3c52c0996b88afa7db9210a8ba5b46446ff38642b5a2221b965652e016ef9939b92e49c7febbbaebf30b65fd1555d8c7ad02818100b8de87149c36e5b0688904fe85611ffa8e3916e8c3d06293f0a5194d466f597e5c35a1458717a7cf9b2b07c827dd12e2b831fa68fd19c1eafc881ec4c694082425dac3dc5dd503d6b3908ea45456423b5cb4f99c4f60dbcf741ba9fee16d59ae150d343daf32cf82517bbb1a1d1ab47203db1bc5650e09fc7e2b894e77892a110281807b74d318f415804ce07c2672207d19c9ce9f3df4c7353c7cfa1f0b887711c972a83e729f2c61ae801953b988e956f994b2230eefe42ce3c27f852c55057b7bbc255258f9692e16b0aaa297ca63d7bdc9219e785d5f7662bd64fabd9acc47738d25d681980505012b41d665b323874f21a2c1fd2c6e6df4349d4b0d57d8252a29028181008f8fc84759c3bd738fa862c2fa4b13de6a200e67799079d9ea311519937eb1867d3627886d26d886a2d7f111aadb0f7286e823bd030351f6fef6af82c5a6da40f3328aa533f2370357c30613847dc00ce317408a41250cd43bce42330b8206652cf25981a043d5e195a353e3304a6d6fa3ee17c7946ebde29d0adf5aa3a8e7fa L=1216
MD5withRSA_a0fd2910f12ad7b88eee2377f640454e64c87e09c5fa1bd647f791aee43e9dbdef7d9b81d5a75749fba78bb2d5615104df8d1c9427c92d7567b042a5f517cee354b50b76a710e57f4b599ad614a3e1ecaa487f6212eaf4fcc5550c5d0db80880114b8a5edb145eff2ba5f29f00e996d2f9accd941f863571990beeeb554e843ae1946adff121e9da05c9a816118897106eba62dcc5a7031a1ffaaf88c009d5100e20aec14e8b9e2c01827c40fa58897549db6bc5d7d4cac9bcb317889741830889221e18448f57446a0743d421463ebc4c17a22079ff8d426f562f5199fb8a4fdca2e707fb85b4728cdecfa111d9968dddafa65e49ab929b2bc604b2773283d1 L=256
signature verifies: true