Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].
Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
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: 1
Zkousel 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: