CertificateEncryption – Umfang
Die CertificateEncryption Die API stellt Methoden zum Verschlüsseln von Zertifikaten in bereichsbezogenen Anwendungen bereit.
Verwenden Sie diese Methoden, um einen Hash für das Zertifikat zu generieren, Daten mit einem privaten Schlüssel zu signieren und einen Nachrichtenauthentifizierungscode zu generieren.
CertificateEncryption – CertificateEncryption()
Instantiiert ein CertificateEncryption-Objekt in einer bereichsbezogenen Anwendung.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
CertificateEncryption – generateMac(String key, String algorithm, String data)
Erzeugt den Message Authentication Code (MAC), mit dem eine Nachricht authentifiziert wird.
| Name | Typ | Beschreibung |
|---|---|---|
| key | Zeichenfolge | Schlüssel zum Signieren der Nachricht. Muss Base64-codiert sein. |
| algorithm | Zeichenfolge | Algorithmus zum Generieren des MAC: HmacSHA256, HmacSHA1, HmacMD5 usw. |
| Daten | Zeichenfolge | Zu verarbeitende Daten. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | MAC im base64-Format. |
Dieses Beispiel zeigt, wie ein MAC mit „sample_key“ als Daten und „HmacSHA256“ als Algorithmus verwendet wird.
var mac = new CertificateEncryption;
var key = "sample_key";
key = gs.base64Encode(key);
mac.generateMac(key, "HmacSHA256", "sample_data");
CertificateEncryption – getThumbPrint(String certificateID, String algorithm)
Erzeugt einen Hash (SHA-1, SHA-256 usw.) für das Zertifikat von Trust Store Cert.
| Name | Typ | Beschreibung |
|---|---|---|
| certificateID | Zeichenfolge | SYS_ID des Zertifikatdatensatzes in der Tabelle „X.509-Zertifikat“ [sys_certificate]. |
| algorithm | Zeichenfolge | Algorithmus, der zum Erstellen des Hash verwendet werden soll, z. B. SHA-1, SHA-256 usw. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Fingerabdruck im base64-Format. |
Dieses Beispiel zeigt, wie der Fingerabdruck (Hash) für das AzureAAD-Zertifikat generiert wird.
//Create a GlideRecord to the certificate table
var x509GR = new GlideRecord('sys_certificate');
//If there is a certificate of a name of AzureAAD, get the certificate thumbprint
if(x509GR.get('name', 'AzureAAD')){
//Use the sys_id and algorithm we want to create a thumbprint
var thumbPrint = CertificateEncryption.getThumbPrint(x509GR.getUniqueValue(), "SHA-1");
//Print the created thumbprint
gs.print("Thumbprint for " + x509GR.getDisplayValue() + " is " + thumbPrint);
}
Ausgabe:
V1X+aguDBTZVVbWMGTXxdzJLmaY=
CertificateEncryption – getThumbPrintFromKeyStore(Zeichenfolge zertifikateID, Zeichenfolgenalias, Zeichenfolgenalgorithmus)
Erzeugt einen Hash (SHA-1, SHA-256 usw.) für das Zertifikat aus dem Keystore-Eintrag.
| Name | Typ | Beschreibung |
|---|---|---|
| certificateID | Zeichenfolge | SYS_ID des Zertifikatdatensatzes in der Tabelle „X.509-Zertifikat“ [sys_certificate]. |
| alias | Zeichenfolge | Aliasname für das Zertifikat. |
| algorithm | Zeichenfolge | Algorithmus, der zum Erstellen des Hash verwendet werden soll, z. B. SHA-1, SHA-256 usw. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Fingerabdruck im base64-Format. |
CertificateEncryption – sign(String certificateID, String alias, String aliaspassword, String algorithm, String datatosign)
Signiert die Daten mit dem privaten Schlüssel und dem angegebenen Algorithmus.
| Name | Typ | Beschreibung |
|---|---|---|
| certificateID | Zeichenfolge | sys_id des Zertifikatdatensatzes in der Tabelle „X.509-Zertifikat“ [sys_certificate]. |
| alias | Zeichenfolge | Privater Schlüsselname. |
| aliaspassword | Zeichenfolge | Passwort für den privaten Schlüssel. |
| algorithm | Zeichenfolge | Zu verwendender Algorithmus. Muss einer der folgenden Werte sein:
|
| datatosign | Zeichenfolge | Daten, die signiert werden sollen. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Signierte Daten im base64-Format. |
var ce = new CertificateEncryption;
ce.sign("recordID", "alias", "password", "SHA1withRSA", "sign this data");