Zum Auslesen von folgenden Defintions-Typen kann nehmen einem Client Secret auch ein Zertifikat verwendet werden:



Dazu muss zunächst die App-Registrierung gemäß des Handbuchs eingerichtet und berechtigt werden


Anstatt dabei jedoch in Schritt 2 ein "Client Secret" anzulegen und dessen Informationen im Remote Scanner zu hinterlegen, muss z.B. gemäß dieser Anleitung ein Zertifikat erstellt werden und dann das .cer-File im Azure-Portal hochgeladen werden:


Create a self-signed public certificate to authenticate your application - Microsoft Entra | Microsoft Learn 


Die wichtigsten Schritte werden dabei hier noch einmal gesondert erklärt:


1. Führen Sie in einer administrativen Powershell auf dem LOGINventory-Rechner folgendes Skript (nach vorheriger Anpassung) aus:


# Ersetzen Sie {certificateName} durch den Namen, den Sie dem Zertifikat geben möchten
$certname = "{certificateName}"

# Ersetzen Sie {myPassword} durch ein von Ihnen gewähltes Passwort
$mypwd = ConvertTo-SecureString -String "{myPassword}" -Force -AsPlainText

# Passen Sie den Pfad an, wenn die Datei nicht nach C:\temp exportiert werden soll
$exportPath = "C:\temp"

$cert = New-SelfSignedCertificate -Subject "CN=$certname" -CertStoreLocation "Cert:\LocalMachine\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256 -NotAfter (Get-Date).AddMonths(24) ## Damit wird ein 24 Monate gültiges Zertifikat erstellt. Sie können auch einen anderen Zeitraum verwenden.
Export-Certificate -Cert $cert -FilePath "$exportPath\$certname.cer" 
Export-PfxCertificate -Cert $cert -FilePath "$exportPath\$certname.pfx" -Password $mypwd 

# Zertifikat aus dem Zertifikatspeicher entfernen 
Remove-Item -Path "Cert:\LocalMachine\My\$($cert.Thumbprint)" -Force
Remove-Item -Path "Cert:\LocalMachine\CA\$($cert.Thumbprint)" -Force


2. Fügen Sie die soeben erzeugte pfx-Datei durch einen Doppelklick zum Zertifikats-Store hinzu. Wählen Sie dabei auf jeden Fall den Local Machine Store, nicht den Current User Store.



Tragen Sie auf der 3. Seite im Wizard das Passwort ein, welches Sie im Powershell-Skript aus Schritt 1 verwendet haben.


3. Laden Sie die .cer-Datei zu Ihrer App-Registrierung (analog zu Schritt 2 im Handbuch) hoch und notieren Sie sich den Wert bei "Thumbprint".


4. Wählen Sie im Remote Scanner beim Hinzufügen des Kontos bei "Auth. Type" "CertificateThumbprint" aus und fügen Sie den eben notierten Thumbprint ein.


5. Folgen Sie ansonsten der Anleitung im Handbuch.


6. Damit die Online-Erfassung mittels LOGINventory auch berechtigt ist, das Zertifikat zu lesen, gibt es zwei Optionen:

a) In der Dienst-Konfiguration wird beim "LOGINventory9-InventoryService" als Dienstkonto "Lokales System" eingestellt

b) Dem Konto "Netzwerkdienst" (Standard-Einstellung für das Deinstkonto des "LOGINventory9-InventoryService") wird die Berechtigung zugewiesen, auf das Zertifikat lesend zuzugreifen. Dazu kann dieser Anleitung gefolgt werden und im letzten Schritt wird das Zertifikat ausgewählt und das Konto "Netzwerkdienst" mit Leseberechtigungen hinzugefügt: https://stackoverflow.com/questions/602345/cryptographicexception-keyset-does-not-exist-but-only-through-wcf/3176253#3176253


Falls es bei der Erfassung zu folgendem Fehler kommt, wurde vermutlich Schritt 6 nicht korrekt ausgeführt:



Falls bei der Erfassung eine Meldung wie "Certficate has no private key" / "Zertifikat hat keinen privaten Schlüssel" kommt, dann sollte geprüft werden, ob sich das Zertifikat mehrfach im Zertifikat-Speicher findet (z.B. durch Suche nach dem Namen des Zertifikats). Das Zertifikat darf nur einmal im Ordner "Eigene Zertifikate" vorhanden sein, nicht bei den "Zwischenzertifizierungsstellen". Wenn das Zertifikat aus allen anderen Orten außer "Eigene Zertifikate" gelöscht wurde, sollte die Erfassung wieder funktionieren.