2013-04-11 25 views
17

Generujemy podpis cyfrowy (PKCS7) za pomocą interfejsu API bezpieczeństwa Java. Algorytm trawienia to SHA-256, a algorytm szyfrowania to RSA (SHA256 zRSA).WAS 6.1 Dostawca IBMJCE generujący nieprawidłowy podpis sha256withrsa

Korzystając z dostawcy SunRsaSign na komputerze lokalnym, w przypadku niektórych treści wygenerowano podpis. Korzystając z dostawcy IBMJCE w WAS 8.0.0.2, byliśmy w stanie wygenerować ten sam podpis na tej samej zawartości.

Jednak problem polega na tym, że musieliśmy przeprowadzić migrację z powrotem do WAS 6.1. Teraz wygenerowany podpis jest inny niż wygenerowany w 2 powyższych przypadkach. Sprawdziłem digesty wiadomości stworzone we wszystkich 3 przypadkach i jest to takie samo we wszystkich 3 przypadkach, ale podpis jest inny w przypadku WAS 6.1.

Czy jest jakiś znany problem z dostawcą IBMJCE WAS 6.1 w odniesieniu do SHA256 z szyfrowaniem RSA? Wszelkie wskazówki byłyby bardzo mile widziane. Dzięki

+3

+1 za sprawdzenie wyników trawienia były identyczne. –

+0

Czy sprawdziłeś cały format CMS lub tylko format PKCS # 1? Co wygenerowałeś hasz? –

+0

Sprawdziłem cały format CMS (PKCS # 7). Tylko ostatnie 4 linie różniły się. Rozumiem, że część, która różni się sygnaturą, jest zaszyfrowanym skrótem, który pojawia się po SIGNING_TIME. (Używam tej samej daty/czasu co SIGNING_TIME_OID). –

Odpowiedz

1

Czy naprawdę istnieje problem? Z tego co wiem, musi to być obowiązkowe. Nie ma wymogu, aby wszystkie podpisy były takie same. Czy naprawdę masz problem z weryfikacją tych podpisów?

0

Mieliśmy ten sam problem i zmusiliśmy Webspshere do korzystania z SUNJCE. Oto kroki.

So In IBM WebSphere konsoli przejdź do serwery aplikacyjne> Serwery> Definicja procesu> Java Virtual Machine

Look argumentów Generic JVM i dodaj następujący.

-DamCryptoDescriptor.provider=SunJCE -DamKeyGenDescriptor.provider=SunJCE 

Następnie skopiowane

C:\JAVA\jdk1.6.0_34\jre\lib\ext\sunjce_provider.jar 

Aby

C:\Program Files\IBM\SDP\runtimes\base_v7\java\jre\lib\ext\sunjce_provider.jar 

Zmień

C:\Program Files\IBM\SDP\runtimes\base_v7\java\jre\lib\security\java.security 

poprzez dodanie następujących dostawców Sun do listy dostawców w pliku java.security.

#This will help Websphere to load 
security.provider.13=com.sun.crypto.provider.SunJCE 
security.provider.14=sun.security.provider.Sun 
security.provider.15=sun.security.rsa.SunRsaSign 
security.provider.16=sun.security.jgss.SunProvider 

Mam nadzieję, że to pomoże.

Powiązane problemy