Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
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: