O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).
Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.
Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
Byla vydána dubnová aktualizace aneb nová verze 1.89 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í. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.
Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".
Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).
Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".
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: