Byla vydána verze 3.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Byla vydána nová verze 8.8 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled oprav, vylepšení a novinek v oficiálním oznámení.
Byla vydána nová major verze 11.0.0 nástroje mitmproxy určeného pro vytváření interaktivních MITM proxy pro HTTP a HTTPS komunikaci. Přehled novinek v příspěvku na blogu. Vypíchnuta je plná podpora HTTP/3 a vylepšená podpora DNS.
Richard Hughes na svém blogu představil nejnovější major verzi 2.0.0 nástroje fwupd umožňujícího aktualizovat firmware zařízení na počítačích s Linuxem. Podrobný přehled novinek v poznámkách k vydání. Přehled podporovaných zařízení, nejnovějších firmwarů a zapojených výrobců na stránkách LVFS (Linux Vendor Firmware Service).
Počítačová hra Kvark (Steam) od studia Perun Creative dospěla do verze 1.0 (𝕏). Běží také na Linuxu.
Byla vydána (𝕏) zářijová aktualizace aneb nová verze 1.94 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.94 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
O víkendu 5. a 6. října se koná ne-konference jOpenSpace. Pokud si chcete kouzlo živých přednášek vychutnat společně s námi, sledujte live streamy: sobota a neděle. Začínáme lehce po 9 hodině ranní. Zpracované záznamy jsou obvykle k dispozici do 14 dní na našem YouTube kanále.
Hodiny s unixovým časem dnes odbily 20 000 dnů. Unixový čas je počet sekund uplynulých od půlnoci 1. ledna 1970. Dnes ve 02:00 to bylo 1 728 000 000 sekund, tj. 20 000 dnů.
Notebook NitroPad V56 od společnosti Nitrokey byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.
keytool -import -keystore keystore -alias cacert -file cacert.pem keytool -genkey -keystore keystore -alias example-rsa -keyalg RSA keytool -certreq -keystore keystore -alias example-rsa -file example-rsa.csr -keyalg RSA openssl x509 -req -in example.csr -CA cacert.pem -CAkey cacert.key -out example.crt -days 365 -CAcreateserial openssl x509 -in example.crt -inform PEM -out example.crt.der -outform DER keytool -import -keystore keystore -alias example-rsa -file example.com-rsa.crt.der -keyalg RSATakže pokud má prosím někdo zkušenosti s openfire a SSL certifikáty a ví jak na to...sem s tím.
keytool -genkeypair
?
Tu výjimku vám vypisuje co? Keytool
, nebo až OpenFire?
keytool -list -v
vypsat, zda tam certifikát s privátním klíčem opravdu je. Pokud ano, je problém někde v konfiguraci Openfire – např. se odkazuje na jiný keystore.
xmpp.domainProměnou pro nastavený keystore jsem také zkoušel, zjistil jsem že je relativně k openfire data diru a nakonfiguroval jsem ji správně. Nicméně stále nic.
# keytool -keystore keystore -storepass changeit -list -v Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry Alias name: $HOSTNAME Creation date: 24.6.2010 Entry type: trustedCertEntry Owner: CN=$HOSTNAME, OU=R&D, O=TTCM, L=Prague, ST=Czech Republic, C=cz Issuer: EMAILADDRESS=$MAIL, CN=domain, OU=R&D, O=COMPANY, L=Praha, ST=Ceska Republika, C=CZ Serial number: e3b5ad1b6ed7aaf7 Valid from: Wed Jun 23 16:03:28 CEST 2010 until: Thu Jun 23 16:03:28 CEST 2011 Certificate fingerprints: MD5: 83:BD:7E:5E:2F:93:64:03:9C:29:19:97:E5:DB:39:50 SHA1: 4B:34:21:9E:AC:33:AD:81:A9:BD:10:E9:AA:E7:12:9E:CE:F5:A0:FE Signature algorithm name: SHA1withRSA Version: 1Zkousel jsem importovat do keystore certifikat CA, ale bez zlepseni.
keytool -import -alias rootCA -trustcacerts -file root-ca-crt.pem -keystore .keystoredalej si vygenerujes keypar, vygenerujes certifikat request, podpises CA-ckou a importujes spet v pem formate....
1. Vygeneruji rootCA (pomocí YaSTu) a exportuji certifikát do /tmp/cacert.pem a klíč do /tmp/rootCA.key 2. Import do keystore keytool -keystore keystore -storepass password -trustcacerts -alias rootCA -import -file /tmp/cacert.pem 3) Vygenerování klíče keytool -genkey -keystore keystore -alias claunfish -keyalg RSA Enter keystore password: Keystore password is too short - must be at least 6 characters Enter keystore password: What is your first and last name? [Unknown]: claunfish What is the name of your organizational unit? [Unknown]: unit What is the name of your organization? [Unknown]: organization What is the name of your City or Locality? [Unknown]: city What is the name of your State or Province? [Unknown]: province What is the two-letter country code for this unit? [Unknown]: cz Is CN=claunfish, OU=unit, O=organization, L=city, ST=province, C=cz correct? [no]: yes Enter key password for claunfish (RETURN if same as keystore password): 4) Vygeneruji csr keytool -certreq -keystore keystore -alias claunfish -file claunfish.csr -keyalg RSA Enter keystore password: 5) Podepíši csr openssl x509 -req -in claunfish.csr -CA /tmp/cacert.pem -CAkey /tmp/rootCA.key -out claunfish.crt -days 365 -CAcreateserial Signature ok subject=/C=cz/ST=province/L=city/O=organization/OU=unit/CN=claunfish Getting CA Private Key 6) Importuji certifikát do keystore keytool -keystore keystore -alias claunfish -file claunfish.crt -keyalg RSA -import Enter keystore password: Certificate reply was installed in keystore 7) Nastavím proměné prostředí v openfire xmpp.socket.ssl.keypass password xmpp.socket.ssl.keystore keystore 8) restartuji openfire voala: java.security.InvalidKeyException: Supplied key (null) is not a RSAPrivateKey instance at org.bouncycastle.jce.provider.JDKDigestSignature.engineInitSign(Unknown Source) at java.security.Signature$Delegate.engineInitSign(Signature.java:1095) at java.security.Signature.initSign(Signature.java:480) at org.bouncycastle.jce.PKCS10CertificationRequest.(Unknown Source)Jen dodám, že stro se jmenuje claunfish. Instalace openfire je úplně čistá a vše je necháno v default nastavení. Výpis keystore:
keytool -keystore keystore -list Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 2 entries rootca, 24.6.2010, trustedCertEntry, Certificate fingerprint (MD5): A5:AB:06:4F:45:1F:B3:7B:0A:45:96:B3:B5:2E:24:51 claunfish, 24.6.2010, PrivateKeyEntry, Certificate fingerprint (MD5): 5E:24:FD:64:25:28:C2:16:85:0A:20:EF:CC:81:12:94
org.bouncycastle.jce.PKCS10CertificationRequestmi to pripada ako keby to bolo v zlom formate, z nejakeho dovodu ten openfire pouziva pkcs10 co nieje default format vy vytvoreni keypairu.... Ja keystore konkretne nepouzivam pre openfire ale pre inu javovsku aplikaciu a funguje mi to aj takto, otazne ale je naozaj v akom formate to parsuju... Imho by to chcelo este vyskusat ten der format alebo prekodit ten privatny/certifikat do pkcs10
java -version
), případně jestli tam není třeba právě Bouncycastle nainstalovaný v rozšiřujících knihovnách…
java -version java version "1.6.0_17" OpenJDK Runtime Environment (IcedTea6 1.7.3) (suse-2.1.1-i386) OpenJDK Client VM (build 14.0-b16, mixed mode)//ani jsem nevěděl že mam icedtea. Zkusím ještě sun, s čajem jsem měl s certifikáty už pár neblahých zkušeností :) bouncy castle je v lib:
Manifest-Version: 1.0 Created-By: 1.5.0_08-b03 (Sun Microsystems Inc.) Ant-Version: Apache Ant 1.6.5 Specification-Version: 1.1 Specification-Vendor: BouncyCastle.org Implementation-Vendor-Id: org.bouncycastle Extension-Name: org.bouncycastle.bcprovider Implementation-Version: 1.39.0 Implementation-Vendor: BouncyCastle.orgPřikládám i keystore použitý v testu
java -version java version "1.6.0_20" Java(TM) SE Runtime Environment (build 1.6.0_20-b02) Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode)Jen si rikam proc jsou v te chybove hlasce informace o pkcs10
java.security.InvalidKeyException: Supplied key (null) is not a RSAPrivateKey instance at org.bouncycastle.jce.provider.JDKDigestSignature.engineInitSign(Unknown Source) at java.security.Signature$Delegate.engineInitSign(Signature.java:1095) at java.security.Signature.initSign(Signature.java:480) at org.bouncycastle.jce.PKCS10CertificationRequest.(Unknown Source) at org.bouncycastle.jce.PKCS10CertificationRequest.(Unknown Source) at org.jivesoftware.util.CertificateManager.createSigningRequest(CertificateManager.java:392) at org.jivesoftware.openfire.admin.ssl_002dcertificates_jsp._jspService(ssl_002dcertificates_jsp.java:548) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:146) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Tiskni Sdílej: