Modulus fra publicKey i java til brug af .NET server
Jeg arbejder på et projekt, hvor jeg skal kunne signere en SOAP besked i java, som efterfølgende sendes til en server skrevet i C# .NET.Det meste går godt, men jeg kan ikke få det rigtige modulus trukket ud af PublicKey objektet, til brug i <KeyInfo>
Jeg har en applikation, skrevet i C# .NET, som benytter den samme webservice, og udtræk fra denne har givet mig det modulus, som servicen forventer.
den kode jeg bruger er følgende:
X509Certificate x509Cert = X509Certificate.getInstance(certificateHandler.getCertificate());
PublicKey pki = x509Cert.getPublicKey();
RSAPublicKey rsaPKI = null;
rsaPKI = (RSAPublicKey)pki;
BigInteger daMod = rsaPKI.getModulus();
BigInteger daExp = rsaPKI.getPublicExponent();
String rightEXP = Base64.encode(daExp.toByteArray());
String wrongMOD = Base64.encode(daMod.toByteArray());
Exponenten bliver korrekt.Men Modulus bliver tilgengæld slet ikke det samme, som den reference værdi jeg nævnte tidligere, selvom formatet er "pænt".
Er der nogen der har erfaringer med XMLDsig i java, og som derfor kan forklare mig hvorfor jeg ikke kan få det til at fungere.
Det er meget væsentligt for mig, at finde en løsning, hvorfor jeg også er gået godt op i point