HELP FILE

LastPass-Bereitstellungs-API verwenden

LastPass unterstützt eine öffentliche API, die von LastPass-Enterprise-Kunden verwendet werden kann, um Benutzer anzulegen, zu löschen und Gruppen zu verwalten. Diese automatisierte Bereitstellungs-API ist sehr leistungsstark, muss jedoch von Ihnen integriert werden, um doppelte Aktionen zu vermeiden. Da LastPass verschiedene automatisierte Bereitstellungsoptionen bietet, finden Sie hier weitere Informationen dazu, welche Option für Sie die richtige ist.

Themen dieses Artikels:

Benutzer hinzufügen

RSA-Schlüssel generieren

Benutzer einem freigegebenen Ordner hinzufügen

Benutzer hinzufügen

Der erste Schritt ist das Hinzufügen des Benutzers. Sie müssen zunächst die Anzahl der PBKDF2-Iterationen auswählen, die Sie verwenden möchten. LastPass verwendet derzeit standardmäßig 100.100 Runden, um Sicherheit und Leistung miteinander zu vereinbaren.

Nachdem Sie über den Benutzernamen, das Passwort und die geplanten Iterationen verfügen, können Sie erst den Verschlüsselungsschlüssel des Benutzers berechnen. Er wird mithilfe von PBKDF2-HMAC-SHA256 unter Verwendung des Benutzernamens als Salt erzeugt. Hier ein auf der Funktion OpenSSL PKCS5_PBKDF2_HMAC() basierendes Beispiel (beachten Sie, dass der Benutzername und das Passwort UTF-8-codiert sein müssen):

const unsigned char *username = “user@lastpass.com”;

const char *password = “T5O89kkUMGYT”;

int iterations = 5000;

unsigned char key[32];

PKCS5_PBKDF2_HMAC(password, strlen(password), username, strlen(username), iterations, EVP_sha256(), 32, key);

Wenn dieser Funktionsaufruf erfolgreich ausgeführt wird, findet sich der Verschlüsselungsschlüssel des Benutzers in der Variablen „key“.

Nachdem Sie nun den Verschlüsselungsschlüssel des Benutzers besitzen, können Sie mit diesem Schlüssel den Passwort-Hash des Benutzers erzeugen. Dies ist der Hash, der als Parameter „passwordhash“ an die adduser-API übergeben wird. Hier ein Beispiel, mit dem das obige Beispiel weitergeführt wird:

unsigned char hash[32];

PKCS5_PBKDF2_HMAC(key, 32, password, strlen(password), 1, EVP_sha256(), 32, hash);

Wenn dieser Funktionsaufruf erfolgreich ausgeführt wird, ist der Passwort-Hash des Benutzers in der Variablen „hash“ enthalten”. Beachten Sie, dass Sie den Hash HEX-codieren müssen, bevor Sie ihn an LastPass übergeben. Der Passwort-Hash sollte daher immer aus 64 Hexadezimalzeichen bestehen.

RSA-Schlüssel generieren

Um den Benutzer sofort freigegebenen Ordnern hinzuzufügen, müssen Sie auch „rsapublickey“ und „rsaprivatekeyenc“ an den Befehl „adduser“ übergeben.

  1. Erzeugen Sie ein öffentliches/privates RSA-Schlüsselpaar. Dieser Schlüssel muss eine Länge von 2048 Bit haben.
  2. Codieren Sie den öffentlichen Schlüssel im ASN.1 DER-Format und HEX-codieren Sie ihn anschließend (dies ist der Wert für „rsapublickey“, der an LastPass übergeben wird). Hier können Sie ein Beispiel eines gültigen rsapublickey anzeigen.
  3. Codieren Sie den privaten Schlüssel im ASN.1 DER-Format und HEX-codieren Sie ihn anschließend (dies ist der Wert für „rsaprivatekey“, den Sie mit dem Verschlüsselungsschlüssel des Benutzers verschlüsseln müssen, bevor Sie ihn an LastPass übergeben. Hier können Sie ein Beispiel eines gültigen rsaprivatekey anzeigen.
  4. rsaprivatekey mit dem Verschlüsselungsschlüssel des Benutzers verschlüsseln:
    1. Stellen Sie „LastPassPrivateKey<“ voran und fügen Sie „>LastPassPrivateKey“ an „rsaprivatekey“ an.
    2. Verschlüsseln Sie AES-CBC mit den ersten 16 Zeichen des Verschlüsselungsschlüssels des Benutzers als IV. Pad über PKCS#7. HEX-codieren Sie das Ergebnis, um „rsaprivatekeyenc“ zu erzeugen (der dann an LastPass übergeben werden kann).
  5. Sobald Sie über die Parameter „passwordhash“, „rsapublickey“ und „rsaprivatekeyenc“ verfügen, sollten Sie in der Lage sein, einen API-Aufruf für „Adduser“ durchzuführen.

Benutzer einem freigegebenen Ordner hinzufügen

Nachdem Sie jetzt einen Benutzer mit gültigen RSA-Schlüsseln erstellt haben, können Sie die addusertosharedfolder API-verwenden, um sie einem freigegebenen Ordner hinzuzufügen.

  1. Laden Sie die ID und den Verschlüsselungsschlüssel für den freigegebenen Ordner, dem Sie den Benutzer hinzufügen möchten. Sie können diese Wert für die freigegebenen Ordner anzeigen, denen Sie zugeordnet sind.
  2. Nach dem Auffüllen mit OAEP müssen Sie als Nächstes den Verschlüsselungsschlüssel des freigegebenen Ordners mit dem öffentlichen RSA-Schlüssel des Benutzers verschlüsseln. Hex-codieren Sie das Ergebnis, das 512 Hexadezimal-Bytes ergeben sollte, da Sie einen 2048-Bit-RSA-Schlüssel verwenden. Das Ergebnis ist das, was Sie als „sharekey“ an LastPass übergeben sollten.
  3. Anschließend müssen Sie den Namen des freigegebenen Ordners mit dem Verschlüsselungsschlüssel des freigegebenen Ordners verschlüsseln. Achten Sie darauf, den vollständigen Namen, einschließlich des Präfixes „Shared-“, zu verschlüsseln. Wenn Ihr freigegebener Ordner beispielsweise „LP“ heißt, verschlüsseln Sie die Zeichenfolge „Shared-LP“. Verwenden Sie für diesen Schritt AES-ECB, füllen Sie über PKCS # 7 auf und codieren Sie das Ergebnis mit base64. Das Ergebnis ist das, was Sie als „sharename“ an LastPass übergeben sollten.
  4. Sobald Sie über die Parameter „shareid“, „sharekey“ und „sharename“ verfügen, sollten Sie in der Lage sein, einen API-Aufruf für „addusertosharedfolder“ auszuführen.