Isten segítse meg mindnyájukat!

Az egyik jóember belerakott egy if-et a JBoss7-be, hogy ne induljon el 7-nél újabb Javával. A másik jóember kitalálta, hogy az xmlsec nevű komponensből újabb verzió kellene, mert ez (remélhetőleg)  EC-s kulccsal is tud XML-t aláírni. A harmadik jóember annyira híve a görög ABC-nek, hogy pár lambdát is rakott az xmlsec újabb verziójába. A végeredmény kitalálható. Én kérek elnézést.

Szerk: Jboss6.3 az igaz, nem Jboss7

Hozzászólások

Te ezeket direkt keresed, vagy kenyszeritenek ra?

Eleg, ha kacsintasz :)

Valahogy úgy szokott lenni, hogy többen állunk szomorúan bólogatva a problémás komponens körül, és azt mondogatjuk, hogy "valakinek ki kellene debuggolnia ezt a hibát"... aztán aki előbb megtörik, az megnyerte.

(Mondjuk azt még nem gyónta meg senki, hogy ez a Jboss7 miképpen lett egy időben az ügyeletes csodaeszköz, mert előtte is meg utána is normál hétköznapi Tomcates termékek születtek.)

JBoss 7? Az kb 10 éves kiadás, miért használjátok? Security és semmiféle más támogatás nincs már rá.

Bingo, kicsit megkeveredtem, "nálunk" JBoss EAP 7 van jelenleg használatban.  Ha jól látom, az EAP 6 tartalmazta a JBoss AS 7.x-et.  Amúgy ahogy nézem, lehetne ELS-2 supportot venni JBoss EAP 6-hoz is, ha valakinek túl sok pénze van :)

Amúgy nem értem, a fejlesztőtök nem nézte meg, hogy szabványos módon Java 11 óta van kötelezően ECDSA támogatva? https://docs.oracle.com/en/java/javase/17/docs/api/java.xml.crypto/java…

Since: 11

Szóval nem meglepő, hogy az xmlsec implementáció használ Java 8 elemeket, megteheti.

 

Viszont: maga az Apache XML Security már nagyon régóta támogat ECDSA-t, csak nem szabványos módon. Már Java 6 alatt támogatva van ez, csak éppen közvetlenül kell az algoritmust használni, nem javax.xml.crypto API-val.

Köszönöm szépen! (Az eredeti fejlesztő egy bizonyos Initech nevű külső cég volt, ahogy látom a termékük egy közvetítő réteg a az opensaml felett (illetve opensaml+xmlsec+xml-tooling, az egyszerűség kedvéért). Maradt tőlük három jar file, a source meg a leírás bizonyára valakinek a páncéljában van biztos helyen.)

Még lehet, hogy hobbizok egy kicsit ezzel a setSignatureMethod-dal, "ha már egyszer építkezik" alapon.

Szerkesztve: 2023. 08. 30., sze – 10:40

Egy másik barátunk, a C++ is igyekszik segíteni:

/usr/include/log4cpp/Priority.hh:107:9: error: ISO C++17 does not allow dynamic exception specifications
  107 |         throw(std::invalid_argument);

    142         /**
    143          * Adds an Appender to this Category.
    144          * This method passes ownership from the caller to the Category.
    145          * @since 0.2.7
    146          * @param appender The Appender to wich this category has to log.
    147          * @exception std::invalid_argument if the appender is NULL.
    148          **/
    149         virtual void addAppender(Appender* appender)
    150         throw(std::invalid_argument);

Szerk: az internet szerint vagy szedjük ki onnan a throw-t, vagy --std=c++14
Ilyenkor tényleg nagyon kívánom, hogy Strupstrup úr [szerk: és lelkes követői] egyszer jusson már el abba a lelkiállapotba, hogy már valami másban találjon boldogító élvezetet, ne abban, hogy nyakra-főre feautúrákat szerel be és ki a C++-ba...

Szerkesztve: 2023. 08. 30., sze – 13:10

Namostan van nekünk egy xmltooling/security/CredentialResolver.h headerünk, aki definiálja az xmltooling::CredentialResolver class-t. Kivéve, ha nem definiálja. Mondjuk lát egy ilyet:


/* Define to 1 to disable XML-Security-dependent features. */
#define XMLTOOLING_NO_XMLSEC 1

Na ez vajon honnan/miért jött nekünk? Mondjuk az xmltooling build-jénél kellene erőltetni az xmlsec-et?

Na mindegy, lett nekem forrásból log4cpp, xerces-c,  xml-sec, xmltooling, opensaml-c, így a `samlsign` sikeres futtatása valamennyire bizonyítja, hogy jó az aláírás az XML-ben. Egy apróság azért van: ne szépítsük meg az xml-t (mondjuk az `xmllint -format`)-tal ellenőrzés előtt.