…zur Entspannung mal Portainer 2.19.4 und die Docker Container auf dem Raspberry Pi 4 updaten.
Es gibt ja seit ein paar Tagen eine neue Version, wie hier auch angezeigt wird … „Portainer updaten auf 2.19.4 auf dem Raspberry Pi 4“ weiterlesen
Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
…zur Entspannung mal Portainer 2.19.4 und die Docker Container auf dem Raspberry Pi 4 updaten.
Es gibt ja seit ein paar Tagen eine neue Version, wie hier auch angezeigt wird … „Portainer updaten auf 2.19.4 auf dem Raspberry Pi 4“ weiterlesen
Stichproben in der Statistik sind ein wesentliches Werkzeug, um Informationen über eine größere Population zu gewinnen, indem man nur einen Teil dieser Population untersucht.
Eine Zufallsstichprobe ist eine Auswahl von Elementen aus einer Gesamtpopulation, bei der jedes Element in der Population eine gleichberechtigte Chance hat, in die Stichprobe aufgenommen zu werden. Das bedeutet, dass jedes Element unabhängig und zufällig ausgewählt wird, ohne dass bestimmte Merkmale oder Eigenschaften bevorzugt werden.
Zufallsstichprobe können auch mit PSPP gezogen werden. Hier ist eine Anleitung dazu: „PSPP (Teil 9) Zufallsstichprobe“ weiterlesen
Hidden Onion Services sind eine Art von Tor-Service, die es Benutzern ermöglichen, anonym und sicher mit anderen zu kommunizieren. Um einen Hidden Onion-Service einzurichten, ist es erforderlich, einen privaten und öffentlichen Schlüssel zu generieren (Also vanity address generator for tor onion v3 (ed25519) hidden services).
Dank an Dr.Kleinhirn.eu für die Mindmap.
Curve25519 … eine elliptische Kurve, die für asymmetrische Kryptosysteme genutzt wird. Sie wird üblicherweise für digitale Signaturen und Schlüsselaustauschprotokolle genutzt und gilt als besonders schnell. Sie ist von der IETF als RFC 7748 standardisiert. Die Kurve ist nicht durch bekannte Patente geschützt. Sie ist Public Domain. „Curve25519 private/public Key generieren für Hidden Onion-Services inkl. sprechenden Domainnamen mit mkp224o“ weiterlesen
Vor ein paar Tagen gab es ein Update auf eine neue Version.
Welche Onion Circuits werden verwendet? Infos zeigt der Toolbar-Button zu den aktuellen Kanälen und Verbindungen von Tor an. Das kann über diesen Button angezeigt werden:
Ein Kanal in Tor besteht aus drei Relais:
-Der erste relay oder entry guard.
-Dem zweiten Relais oder Mittelknoten.
-Dem Ausgangsrelais.
Was wurde gefixt? „Tor Browser 12.5.6 und anzeige der drei Relais“ weiterlesen
Hier die Checkliste als kostenlosen Download ECC-Zertifikate-XCA.pdf.
ECC wird oft als zukunftssicherer angesehen, da es auf mathematischen Konzepten basiert, die voraussichtlich auch bei Fortschritten in der Kryptanalyse sicher bleiben. RSA hingegen könnte anfälliger für Angriffe werden, wenn leistungsfähigere Computer und Algorithmen entwickelt werden. ECC wird aufgrund seiner Effizienz und Sicherheitseigenschaften RSA in vielen modernen Anwendungen ersetzen. ECC läuft aber halt noch nicht überall. Portainer kann leider noch keine ECC (secp256k1), deshalb in diesen Beitrag einer Zertifikatserzeugung mit RSA Key und XCA.
Es sind diese 9 Schritte nötig. Unten gibt es die Checkliste zum kostenlosen Download.
1. XCA installieren (https://hohnstaedt.de/xca/index.php)
2. XCA starten (XCA-Menü: Zubehör-XCA, http://blog.wenzlaff.de/?p=20761) „RSA Checkliste für SSL-Zerfikate erstellen mit XCA für Portainer“ weiterlesen
XCA kann übrigens auch ohne X-Server verwendet werden um Keys zu erzeugen oder zu analysieren. Es gibt eine gute Commandline API. Hier ein paar Beispiele auf dem Raspberry Pi.
Die Hilfe ist unter „XCA auch ohne GUI“ weiterlesen
In der Informationssicherheit und Verschlüsselung steht „CA“ für Certification Authority. Eine Zertifizierungsstelle ist eine vertrauenswürdige Organisation, die digitale Zertifikate ausstellt und verwaltet. Diese Zertifikate werden verwendet, um die Identität von Websites, Servern und Benutzern in verschlüsselten Kommunikationen zu überprüfen, z. B. bei der SSL/TLS-Verschlüsselung im Web. Hier ein Bild der XCA GUI unter Linux:
Gestern wurde eine neue Version 2.5.0 der XCA veröffentlicht. Dafür gibt es auf dem Raspberry Pi 4 noch kein Package.
Aber man kann es ja auch selbst compilieren und zwar so für den aktuellen dev 2.5.3 Stand:
Der Tor Browser ist ein Webbrowser, der entwickelt wurde, um die Privatsphäre und Anonymität der Benutzer beim Surfen im Internet zu schützen. Seit drei Wochen gibt es nun eine neue Version. Hier sind die einige Punkte über den Tor Browser: „Neue Version 12.5.2 vom Tor-Browser“ weiterlesen
Elliptische Kurven mit Java auf dem Raspberry Pi nutzen.
Das geht mit der curve25519-java implementation auch auf einem Raspberry Pi.
Wir erstellen mal ein kleines Beispiel, mit dieser Lib. „Elliptische Kurve Curve25519 mit Java auf dem Raspberry Pi 4“ weiterlesen
Probleme mit Zensus 2022 Online Seite. Habe mir das Zertifikat auch mal angeschaut:
Details hier bei Heise.
In drei Block-Beiträgen hatte ich schon von einem NodeRed Node geschrieben, den ich mal programmiert hatte. Damit kann man leicht 12 Wörter aus der Wortliste die aus 2048 englischen Wörtern besteht erzeugen. Die Wortliste gibt es aber auch in japanisch, koreanisch, spanisch, chinesisch, französisch, italienisch, tschechisch und portugiesisch.
Wir haben mal beispielhaft diese 12 Wörter generiert:
shiver machine depth spoil click mind solid angle spoon menu moon two
Das entspricht diesen BIP39 Seed in Hex:
964d44c0f02d265fa5326e3c791d7f44e01eefeaaca5e17d06dcdad63543a32b21767852cf77631afaec2457a3c5b731cd56c9e2fd7678506ca82ccac06af659
12 Wörter haben eine Entropie 128 Bit und eine Checksumme von 4 Bit (= 132 Bit). Bei 24 Wörtern sind es schon 256 Bit Entropie und 8 Bit Checksumme (= 264 Bit).
Bei 12 Wörtern aus 2048 ergibt sich 2048^12 = 2^132 Möglichkeiten. Wie groß ist die Zahl? Wir fragen mal Google: „BIP39 oder „From mnemonic to seed“ oder 340 Undezillion 282 Dezillion 366 Nonmillion 920 Oktillion 938 Septillion 463 Sextillion 463 Quintillion 374 Billiarde 607 Billionen 431 Milliarden 768 Millionen 211 Tausend 456“ weiterlesen
Die neue git Version 2.35 ist gestern veröffentlicht. In der Package Verwaltung von Debian gibt es das noch nicht. Also mal eben auf dem Raspberry Pi selbst compilieren (auf dem Pi Zero dauert es ca. 1 Stunde) mit diesen Schritten …
„Versionsverwaltung Git 2.35 ist da, und es läuft auch auf dem Raspberry Pi“ weiterlesen
httpie ist auch auf dem Raspberry Pi in 5 Minuten installiert, es muss ja nicht immer curl sein. Um httpie auf dem Raspberry Pi zu installieren, ist nur ein Befehl nötig. Und schon hat man einen curl Ersatz mit intuitiver UI, JSON support, Syntax Hervorhebung und mehr. Alles wird in nur 8 Minuten in diesem Video gezeigt.
Folgende Befehle werden verwendet…
„Wie kann das Wetter oder der Bitcoin Kurs leicht mit httpie auf einem Raspberry Pi abgefragt werden?“ weiterlesen
Wie die Grafik zeigt ist er heute am 23.12.2021 schon 1129 GB (1,1 Terabyte) groß und das bei Block Nummer 13 858 158.
Der Archive Node ist schon auf 9,3 TB angewachsen. Mein Light Node kommt dagegen mit nur 438 MB aus 😉
Ein Node ist ein Computer, der Teil des Ethereum-Netzwerkes ist. Dieser speichert entweder eine unvollständige (Light Client, (Downloads all block headers, block data, and verifies some randomly)) oder vollständige (Full Node ( Downloads all blocks (including headers, transactions, and receipts) and generates the state of the blockchain incrementally by executing every block)) Kopie der Blockchain und schreibt diese permanent fort.
Da ich noch einen alten Raspberry Pi 2 B+ liegen hatte, habe ich da mal einen Light Node drauf installiert. Das geht mit dem Proof-of-Work Client Geth der für alle (viele) Betriebssystem vorliegt. … „Ethereum Light Node mit Geth Far Rim in go auf Debian Bullseye Raspberry Pi“ weiterlesen
Vor ein paar Tagen wurde Picocli 4.6.2 veröffentlicht. An meinem heutigen Urlaubstag habe ich nun Zeit für einen Quicktest. Wie oben zu sehen, ist alles im TWEtherScan Projekt ok. Da habe ich auch eine große Testabdeckung der CMD-Api mit Picocli. Dieses Release fix einige Fehler auch mit dem Encoding. Aber, „This release has no breaking changes„.
Seit dem 10. Juni 2021 werden Impf-Zertifikate (sogenannte Impfbescheinigungen) in Deutschland in Impfzentren ausgegeben. Den QR-Code kann man auch mit einem Raspberry Pi validieren (von lateinisch validus „kräftig, wirksam, fest“) und den Inhalt des QR-Codes im Klartext ausgeben. Am Beispiel eines Raspberry Pi Zero W sind folgende 6 Schritte nötig.
1. Wir brauchen das Impfzertifikat, also den QR-Code als PNG oder JPG-Bild in einer Datei z.B. max-mustermann.png.
Wie z.B.:
Aber nur den QR-Code, nicht die ganze Seite des Impfzertifikats. … „Impfzertifikat validierung mit dem Raspberry Pi und Python und das zu „Don’t Shut Me Down““ weiterlesen
Am 11. November letzten Jahres fürte der Ausfall von Infura dazu, dass viele zentrale Börsen die Abhebung von ETH und ERC20-Token gestoppt hatten. Zudem ließen sich Metamask, Uniswap und auch andere Anwendungen auf Ethereum nicht mehr nutzen. Infura scheint ein beliebter Dienstleister für Ethereum Nodes zu sein, auf den sich nicht nur kleinere Unternehmen und Projekte verlassen, sondern auch milliardenschwere Börsen wie Binance.
Für dieses Projekt soll dennoch mal die Infura-API verwendet werden, um den Kontostand einer ETH-Adresse zu ermitteln. Mit dem web3j Framework ist das auch in Java realisierbar. Hier der Architektur Aufbau:
Wir starten (wie immer) mit einem JUnit 5 Test: „ETH-Kontostand via Web3j und Infura mit Java in 5 Schritten abfragen“ weiterlesen
Es muss ja nicht immer remix sein, um ein Smart-Contract zu compilieren. Es geht auch wie oben dargestellt mit einem Maven-Plugin (oder Gradle) um mit Ethereum-Netzwerk zu interagieren. Also wie können Solidity Smart Contracts kompiliert und dafür eine Java-Wrapper-Klassen dafür generiert werden?
Wir nehmen als Beispiel mein bekannter Smart-Contract Gehirn.sol der den IQ auf der Blockchain festhalten kann und mit Solidity programmiert ist und speichern in in dem src/main/resources Verzeichnis.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
// SPDX-License-Identifier: MIT pragma solidity ^0.6.0; /** * @title Gehirn von Thomas Wenzlaff * @dev Mein Smart Contract mit solidity zum Speichern von IQ auf der Blockchain */ contract Gehirn { uint256 iq; constructor() public { // Mittelwert des IQ setzen iq = 100; } function setIQ(uint256 neuerIQ) public payable { iq = neuerIQ; } function getIQ() public view returns (uint256) { return iq; } function getBedeutung() public view returns (string memory) { if (iq <= 40) return "Keine Aussagekraft"; if (iq >= 41 && iq <= 70) return "Weit unterdurchschnittlich – Geistige Behinderung"; if (iq >= 71 && iq <= 79) return "unterdurchschnittlich"; if (iq >= 80 && iq <= 89) return "etwas unterdurchschnittlich"; if (iq >= 90 && iq <=109) return "Durchschnitt"; if (iq >= 110 && iq <=119) return "hoch"; if (iq >= 120 && iq <= 129) return "sehr hoch"; if (iq >= 130 && iq <= 159) return "hochbegabt"; if (iq > 160) return "Keine Aussagekraft"; } } |
Das Plugin wird mit mvn web3j:generate-sources gestartet und wie folgt in der pom.xml eingebunden: „Smart-Contract Wrapper für Java mit web3j-maven-plugin erstellen“ weiterlesen