APNS Zertifikat kann nicht importiert werden

Heute wollte ich in einem SOTI MobiControl Server ein APNS Zertifikat installieren. Dabei kam immer die Meldung, ein interner Fehler sei aufgetreten. Sehr hilfreich…
Im Mobi Control Log sag ich dann folgenden Fehler:

***********************************************************************************************************************
* Exception: A certificate chain could not be built to a trusted root authority. (Exception from HRESULT: 0x800B010A) *
***********************************************************************************************************************
[COMException: A certificate chain could not be built to a trusted root authority. (Exception from HRESULT: 0x800B010A)]
 at CERTENROLLLib.IX509Enrollment.InstallResponse(InstallResponseRestrictionFlags Restrictions, String strResponse, EncodingType Encoding, String strPassword)
 at Soti.Cryptography.PKCS10.CertificateSigningRequest.CompleteCertificateSigningRequest(String cert)
 at Soti.MobiControl.ManagementService.FileService.SetAPNSCertificate(AddCertificateRequest request)
***********************************************************************************************************************

Die Zertifikatkette für das APNS Zertifikat ist nicht vollständig. Interessant. Glücklicherweise stellt Apple die Zertifikate aber bereit:
http://www.apple.com/certificateauthority/

  • Apple Inc. Root Certificate
  • Application Integration Certificate

Nachdem die beiden Zertifikat ein die Trusted Root Certificates des Servers (!) installiert wurden, war der Import erfolgreich.

Multi-Room-Audio (Teil 1)

Multi-Rooom-Audio – das war schon länger mein Traum. Aber alles was es kommerziell zu kaufen gibt, war mir einfach zu teuer für so eine „Spielerei“. Mehrere hundert Euro für einen Lautsprecher mit „Wireless“ Funktion? Nein danke.

Also wollte ich so ein System selber bauen. So schwer kann es ja nicht sein… dachte ich damals. Lange habe ich nach einer möglichen Lösung gesucht – leider ohne Erfolg.
Jetzt wo es langsam Sommer wird un der Balkon wieder stärker in frequentiert wird, muss da natürlich auch Musik hin! Gestern habe ich mich dann noch einmal ausgiebig mit dem Thema beschäftigt und endlich eine Lösung gefunden.

Die Zielsetzung

Überall in der Wohnung soll die gleiche Musik spielen. Diese Musik soll sich über eine zentrale Oberfläche steuern lassen und wenn möglich sollen sich die Wiedergabezonen auch zentral individuell steuern lassen. Zum Beispiel soll die Musik nur auf dem Balkon und in der Küche spielen, nicht aber im Wohnzimmer.

Das ganze soll natürlich günstig und flexibel sein. Günstig sowohl in der Anschaffung als auch im Betrieb.

Die Lösung

Die Lösung die mir am besten gefallen hat, ist auf Basis von RaspberryPis – sowohl als Sender als auch als Empfänger.

Pi2ModB1GB_-comp_

Auf einem RaspberryPi 3 laufen der Musik- und der Streaming-Server. Die Musik kann via Webinterface gesteuert werden. Als Quelle wird entweder die lokale Musikdatenbank oder Spotify genutzt.

Bildschirmfoto 2016-03-31 um 22.06.21

Die Empfänger sind 2 RaspberryPi 1 und ein RapsberryPi 2. Diese sind über WLAN angebunden und empfangen den Stream des Servers. Durch die verwendete Stream-Software ist die Wiedergabe zeitsynchron und die einzelnen Empfänger lassen sich via App steuern.

Im nächsten Teil gibt es dann technische Infos zur Installation und Umsetzung.

Hier gehts zu Teil 2

Multi-Room-Audio (Teil 2)

Wie besprochen gibt es in diesem Artikel Informationen über die Installation.

Server

Auf dem Server-Pi werden der Mopidy-Server und der Snapcast-Server installiert.

Mopidy

Als erstes das frisch Installierte System auf den neusten Stand bringen:
apt-get update && apt-get upgrade -y
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
wget -q -O /etc/apt/sources.list.d/mopidy.list <a href="https://apt.mopidy.com/jessie.list">https://apt.mopidy.com/jessie.list</a></pre>
apt-get update
apt-get install mopidy python-pip
apt-get install mopidy-spotify mopidy-youtube gstreamer0.10-plugins-bad
pip install Mopidy-MusicBox-Webclient Mopidy-WebSettings Mopidy-Mopify
Konfiguration erweitern und anpassen:
cat /root/.config/mopidy/mopidy.conf >> /etc/mopidy/mopidy.conf
nano /etc/mopidy/mopidy.conf
mixer=software
output = audioresample ! audioconvert ! audio/x-raw,rate=48000,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/snapfifo
 
[http]
enabled = true
hostname = 192.168.15.54
port = 6680
 
[spotify]
username=<Username>
password=<Password>
Mopidy in den Autostart und einmal neustarren für die neue Config
update-rc.d mopidy defaults
/etc/init.d/mopidy restart

Snapcast

Aktuelle Version des Snapcast Servers herunterladen
wget "https://github.com/badaix/snapcast/releases/download/v0.5.0/snapserver_0.5.0_armhf.deb
dpkg -i snapserver_0.5.0_armhf.deb
apt-get install -f

Konfiguration des Servers anpassen:

nano /etc/default/snapserver
Zeile 21:
SNAPSERVER_OPTS=“-d -s pipe:///tmp/snapfifo?name=Radio&sampleformat=48000:16:2&codec=flac“
update-rc.d snapserver defaults
/etc/init.d/snapserver restart

Produktempfehlung: Unifi Wireless Solution

Heute gibt es mal eine Produktempfehlung von mir. Es geht dabei um eine zentral verwaltbare W-Lan Lösung für Unternehmen.

unifi-overview

Die Firma Ubiquiti Networks bietet hier eine kostengünstige Lösung für Unternehmen jeder Größe. Es gibt eine kostenlose Managementsoftware die auf Windows, Linux und MacOS läuft. Bei den meisten Marktbegleitern ist diese Software entweder kostenpflichtig oder sogar an Hardware gebunden (vgl. Cisco Wireless Controller).

Zu dieser Software (verwaltbar über eine Webconsole) gibt es noch eine große Auswahl an Access Points, sowohl für Indoor als auch Outdoor. Die Accesspoints sind auch alle günstig.

Bildschirmfoto 2015-11-21 um 11.46.44

Die Software lässt sich einfach über eine Weboberfläche bedienen.
Es gibt natürlich ein Multi-SSID Feature und es können verschiedene VLANs & Authentifizierungen pro SSID konfiguriert werden. Die Software hat ein eingebautes Captive Portal für ein Gast-WLAN und kann automatisiert die Firmware der Accesspoints updaten.

Wichtig zu wissen: Die Firma Ubiquiti bietet nicht nur WLAN Lösungen, es gibt auch Switche, Router/Gateways, VOIP Telefone, Überwachungskameras und Steuerungen für die Hausautomatition.

Alles neu…

Was soll ich sagen, ich werde wohl alt 😉

In diesem Monat habe ich mein eigenes E-Mail System auf Basis von Exchange 2010/2013 und einem Blackberry Enterprise Server 5 sowie meine Hostingumgebung (ESX Server im Hetzner-RZ) durch Office365 und einen Strato vServer ersetzt.

Ich hatte einfach keine Lust und Zeit mehr, mich um die ganzen Server zu kümmern, denn alle wollen mit Updates versorgt werden und im Fehlerfall muss man erstmal auf die Suche gehen… Jetzt habe ich noch einen Server auf dem einige Webseiten sowie mein Seafile laufen und 4 NAS Systeme (2x Produktiv & 2x Backup) – das wars. Alles andere ist abgeschaltet.

Ich habe mich also von 2 ESX Servern mit insgesamt über 15 VMs auf eine VM reduziert. Dann kann das neue Jahr jetzt hoffentlich viel produktiver starten 🙂

AD-FS Dienst startet nicht mehr: EventID 220 & 102

Heute startete plötzlich unser Active Directory Federation Service nicht mehr. Erstaunlicher weise, hat niemand etwas an dem Dienst verändert.

Nach ca 2 Stunden Suchen, Fluchen & Debug Logging habe ich dann die Lösung in einem Forum gefunden. Man musste den Datenbank Connection String um das Flag „Current Language=English“ ergänzen.

Der Connection String befindet sich in „C:\Windows\ADFS\Microsoft.IdentityServer.Servicehost.exe.config“.

Hier einer der Fehler:

Got exception:ADMIN0012: OperationFault with stacktrace: bei Microsoft.IdentityServer.Service.Policy.PolicyServer.Service.Sql.SqlStore.Search(Filter filter, Int32 maxObjects, String[] propertyNames)
bei Microsoft.IdentityServer.Service.Policy.PolicyServer.Service.SqlPolicyStoreService.<>c__DisplayClass4.<SearchCore>b__3()
bei Microsoft.IdentityServer.Service.Policy.PolicyServer.Service.SqlPolicyStoreService.AttemptDeadlockSusceptibleOperation(DeadlockSusceptibleOperation operation)
bei Microsoft.IdentityServer.Service.Policy.PolicyServer.Service.SqlPolicyStoreService.SearchDirect(Filter filter, Int32 maxObjects, String[] propertyNames)
bei Microsoft.IdentityServer.Service.Policy.PolicyServer.Service.SqlPolicyStoreService.SearchDirect(FilterData filterData, Int32 maxObjects, String[] propertyNames)
bei Microsoft.IdentityServer.Service.Configuration.SqlServiceConfigurationReader.LoadData()
bei Microsoft.IdentityServer.Service.Configuration.AdministrationServiceState.FetchAdministrationServiceStateData()
bei Microsoft.IdentityServer.ServiceHost.STSService.FetchAdministrationServiceConfiguration() while fetching configuration. Will retry in 2000 ms.

An error occurred while trying to search in the policy store:
Message: Ein Aufrufziel hat einen Ausnahmefehler verursacht.

Quelle der Lösung:http://www.datazx.cn/Forums/en-US/0e1d8110-2291-44b2-b6c6-c46a52819867/action?threadDisplayName=adfs-20-service-cannot-start

Blackberry 10.3.2 und SCEP Profile

Bei einem unserer Kunden haben wir das Problem, dass seit einiger Zeit keine Blackberrys mehr aktiviert werden konnten. iOS Geräte konnten problemlos aktiviert werden.

Die Fehlermeldung:

„Device activation can’t be completed because a SCEP profile is invalid“

Das SCEP Profil ist aber das gleiche und am SCEP Server hat sich nichts geändert. Also blieb als Fehlerquelle nur der BES12 oder das Endgerät. Nach dem ich das SCEP Profil neu angelegt hatte und auch den Server auf die aktuellste Version geupdated habe, war aus meiner Sicht der BES unschuldig.

Interessant ist hier noch zu erwähnen, dass die Zertifikate am SCEP Server auch ausgerollt wurden, nur wurden Sie nicht auf das Endgerät übertragen.
Lange Rede kurzer Sinn: ich habe ein Ticket bei Blackberry eröffnet und siehe da: es gibt wohl ein Problem mit dem BlackberryOS 10.3.2 und SCEP Profilen die AES als Verschlüsselungsalgorithmus für das Enrollment benutzen. Blackberry empfiehlt hier auf TripleDES umzustellen (vorausgesetzt der SCEP Server lässt dies zu).

Es gibt auch einen internen KB Eintrag dazu: KB37454 – aber noch keine Lösung.

PDOStatement: The user specified as a definer does not exist

Ich habe heute mein Selfoss (RSS Reader) auf einen neuen Server migriert rssmainiconund dabei auch die Datenbank von meinem MySQL Server auf eine lokale MySQL auf dem neuen Selfoss-Host umgezogen.
Die Webseite zum lesen der Feeds funktionierte sofort wieder. Aber obwohl ich den User mit dem identischen Passwort im MySQL Server angelegt habe, bekam ich beim Update der RSS Quellen immer diese Fehlermeldung:

root@HS3CS002:/var/www/selfoss# php5 update.php
PDOStatement: The user specified as a definer (’selfoss’@’192.168.20.254′) does not exist

Das ganze hat mich zunächst mal verwirrt. Die IP in dem Usernamen ist die des Gateways. Nach einer gefühlten Ewigkeit ging mir dann ein Licht auf. Der alte Datenbankserver stand in einem anderen Netz an einem Remotestandort. Die Verbindung wurde geNATed – daher die IP des Gateways. Den User habe ich natürlich nicht angelegt in der neuen Datenbank… den brauchte ich ja nicht. Also habe ich kurz den User erstellt:

mysql> use selfoss;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> grant all on *.* to ’selfoss’@’192.168.20.254′ identified by ‚tPtcQFYGYbm9pY5L‘ with grant option;
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Und schon hat das Update wunderbar funktioniert 🙂

Blackberry 10: Gesendete Elemente werden nicht synchronisiert (LN)

Blackberry Enterprise Server 10 mit Lotus Notes und Lotus Travler 9.0.1

Ein Kunde hat gemeldet, dass bei einigen Blackberry-Usern die „Gesendeten Elemente“ nicht synchronisiert werden. Die Umgebung ist ein Domino Server der über einen Traveller Server 9.0.1 angebunden ist. Auf dem Endgerät und dem Blackberry-Server war kein Fehler feststellbar. Allerderings war der Ordner „Sent Items“ nicht verfügbar, es kam immer die Fehlermeldung „Ordnerverwaltung wird für dieses Konto nicht unterstützt“.

Nach einiger Zeit habe ich dann eine Lösung gefunden: Das Problem tritt auf, wenn ein User eine Multilanguage Mailboxdatabase hat. Um dieses Problem zu lösen, muss der User im BES neu angelegt und aktiviert werden:

  1. User vom BES10 Server löschen
  2. im Lotus Notes die Datenbank umstellen auf nur eine Sprache
  3. Im Traveler alle Daten für den User löschen: (IBM Wiki)
    1. tell traveler delete * shortname of the user
    2. tell traveler security delete * shortname of the user
    3. restart task traveler
  4. Den User neu auf dem BES 10 anlegen
  5. Gerät neu aktivieren
Quelle: Blackberry Support Forum

ScreenMonkey – Freeware für professionelle Präsentationen

Seit Jahren haben wir bei jeder unserer Theaterveranstaltungen mit Videos das Problem die Videoeinspielungen möglichst transparent und unauffällig abzuspielen. Das heißt, dass man kein Fenster sieht das sich öffnet und das Video abspielt, dass man kein „blitzen“ sieht wenn das Video lädt und das Fenster in den Vollbild-Modus wechselt etc.

Bis jetzt haben wir das mit VLC gemacht – und das funktioniert auch relativ gut war aber nicht komfortabel. Z.B. hörte VLC nicht nach einem Video automatisch auf.

Vor ein paar Tagen habe ich dann ScreenMonkey gefunden. Eine Software die genau das macht was ich will – und das auch noch kostenlos (es sei denn man will extra Features wie ArtNet o.ä.).

Über das Dashboard kann man ganz einfach Clips (Video, Audio, Image, Effekt…..) abspielen und das auch auf verschiedenen Layern.

2015-01-06_090149Die Fenster lassen sich alle individuell anordnen und auch abdocken, sodass man sich ganz einfach sein eigenes Dashbaord bauen kann.

MIDI

Eine meiner Lieblingsfunktionen: MIDI. Die Software lässt sich komplett über MIDI Befehle steuern. Entweder kann man Clips aufrufen oder Layer löschen / aktivieren – alles kein Problem. Die Befehle kann man dabei selber festlegen.
In meinem Fall sende ich von einer Soundcraft SI Expression 2 Console per USB-Midi-Adapter die Befehle um bestimmte Clips (Audio- oder Videoeinspielungen) bzw. Cue-Lists (Pausenmusik) aufzurufen. Dadurch spart man sich einen extra Handgriff (Zuspieler starten) und kann alles über die Cue-List im Pult steuern.

ArtNet

Genau so toll wie MIDI ist die ArtNet Funktion. Über unsere DMX Software können wir so einfach die Show steuern und können den Video-PC so quasi headless irgendwo hinstellen. Alles was es braucht ist ein USB-DMX Interface.

Leider geht es derzeit mit der Entwicklung der Software nicht so richtig voran. Es wurde zwar mal eine neue Version angekündigt, aber die lässt schon seit ein paar Monaten auf sich warten. Trotzdem bin ich froh die Software gefunden zu haben und nutze sie immernoch gerne.

Es gibt übrigens auch youtube-Videos die das ganze zeigen. Youtube-Playlist: Screenmonkey