niedziela, grudnia 23, 2007

Java to potęga
Ostatnio miałem zamiar sprawdzić w CRL z Sigillum czy przypadkiem jakiś certyfikat nie jest odwołany. Sprawa banalna ale w .NET nie mogłem znaleźć odpowiedniego rozwiązania. Standardowa Java dostarczyła mi odpowiedzi:
package mw.coig;
import java.security.cert.*;
import java.io.*;
import java.math.BigInteger;
// http://www.koders.com/noncode/fidDB6188EED123B04A3091BE8FC202EF1FC41FFF6F.aspx:
public class testCRL{
public static void main(String[] args)
throws FileNotFoundException, CertificateException {
InputStream inStream = new FileInputStream("fileName-of-crl");
CertificateFactory cf = CertificateFactory.getInstance("X.509");
try {
X509CRL crl = (X509CRL)cf.generateCRL(inStream);
BigInteger serialNumber = BigInteger.valueOf(args[0];
X509CRLEntry wynik = crl.getRevokedCertificate(serialNumber);
if (wynik == null) {
System.out.println("Ok");
}
else {
System.out.println("Bad");
}
inStream.close();
}
catch (Exception e) {
// Print out the exception that occurred
System.out.println("Blad : "+e.getMessage());
}
}
}
Wniosek taki: Framework w Javie jest naprawdę bardzo rozległy (obejmuje naprawdę wszystkie potrzebne i nawet trudne do wymyślenia problemy informatyczne), framework .NET też jest świetny ale działa wyłącznie w ekosystemie MS, czego oni nie włączyli (z open source, ponieważ zrobili to po swojemu tego nie ma (a brakuje dużo). Więc do zagadnień otwartych (platform heterogenicznych) najlepsza jest Java, ponieważ pokrywa największe spektrum problemów.