CertificateEncryption - スコープ対象

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:4分
  • CertificateEncryption API は、スコープ対象のアプリケーションで証明書を暗号化するためのメソッドを提供します。

    これらのメソッドを使用して、証明書のハッシュを生成し、秘密鍵を使用してデータに署名し、メッセージ認証コードを生成します。

    CertificateEncryption - CertificateEncryption()

    スコープ対象のアプリケーションで CertificateEncryption オブジェクトをインスタンス化します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし

    CertificateEncryption - generateMac(文字列 key, 文字列 algorithm, 文字列 data)

    メッセージの認証に使用されるメッセージ認証コード (MAC) を生成します。

    表 : 2. パラメーター
    名前 タイプ 説明
    key 文字列 メッセージへの署名に使用するキーです。Base64 でエンコードする必要があります。
    アルゴリズム 文字列 MAC の生成に使用するアルゴリズムです (HmacSHA256、HmacSHA1、HmacMD5)。
    データ 文字列 処理するデータです。
    表 : 3. 返される内容
    タイプ 説明
    文字列 base64 形式の MAC

    この例は、data として sample_key を使用し、algorithm として HmacSHA256 を使用する方法を示しています。

    var mac = new CertificateEncryption;
    var key = "sample_key"; 
    key = gs.base64Encode(key);
    mac.generateMac(key, "HmacSHA256", "sample_data");

    CertificateEncryption - getThumbPrint(文字列 certificateID, 文字列 algorithm)

    信頼できるストア証明書からの証明書のハッシュ (SHA-1、SHA-256 など) を生成します。

    表 : 4. パラメーター
    名前 タイプ 説明
    certificateID 文字列 X.509 証明書 [sys_certificate] テーブルの証明書レコードの sys_id です。
    アルゴリズム 文字列 ハッシュの作成に使用するアルゴリズムです (SHA-1、SHA-256 など)。
    表 : 5. 返される内容
    タイプ 説明
    文字列 base64 形式のサムプリント

    この例は、AzureAAD 証明書のサムプリント (ハッシュ) を生成する方法を示しています。

    //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);
    }

    出力:

    V1X+aguDBTZVVbWMGTXxdzJLmaY=

    CertificateEncryption - getThumbPrintFromKeyStore(文字列 certificateID, 文字列 alias, 文字列 algorithm)

    キーストア エントリから証明書のハッシュ (SHA-1、SHA-256など) を生成します。

    表 : 6. パラメーター
    名前 タイプ 説明
    certificateID 文字列 X.509 証明書 [sys_certificate] テーブルの証明書レコードの sys_id です。
    エイリアス 文字列 証明書のエイリアス名
    アルゴリズム 文字列 ハッシュの作成に使用するアルゴリズムです (SHA-1、SHA-256 など)。
    表 : 7. 返される内容
    タイプ 説明
    文字列 base64 形式のサムプリント

    CertificateEncryption - sign(文字列 certificateID, 文字列 alias, 文字列 aliaspassword, 文字列 algorithm, 文字列 datatosign)

    秘密鍵と指定されたアルゴリズムを使用してデータに署名します。

    表 : 8. パラメーター
    名前 タイプ 説明
    certificateID 文字列 X.509 証明書 [sys_certificate] テーブルの証明書レコードの sys_id
    エイリアス 文字列 秘密キー名
    aliaspassword 文字列 秘密キーのパスワード
    アルゴリズム 文字列 使用するアルゴリズムです。次のいずれかの値を使用する必要があります。
    • NONEwithRSA
    • MD2withRSA
    • MD5withRSA
    • SHA1withRSA
    • SHA224withRSA
    • SHA256withRSA
    • SHA384withRSA
    • SHA512withRSA
    • NONEwithDSA
    • SHA1withDSA
    • SHA224withDSA
    • SHA256withDSA
    • NONEwithECDSA
    • SHA1withECDSA
    • SHA224withECDSA
    • SHA256withECDSA
    • SHA384withECDSA
    • SHA512withECDSA
    datatosign 文字列 署名するデータ
    表 : 9. 返される内容
    タイプ 説明
    文字列 base64 形式で署名されたデータ
    var ce = new CertificateEncryption;
    ce.sign("recordID", "alias", "password", "SHA1withRSA", "sign this data");