CertificateEncryption: スコープ指定
CertificateEncryption API は、スコープ対象のアプリケーションの証明書を暗号化するためのメソッドを提供します。
これらのメソッドを使用して、証明書のハッシュを生成し、秘密鍵を使用してデータに署名し、メッセージ認証コードを生成します。
CertificateEncryption:CertificateEncryption()
スコープ対象のアプリケーションで CertificateEncryption オブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
CertificateEncryption - generateMac(文字列キー、文字列アルゴリズム、文字列データ)
メッセージの認証に使用されるメッセージ認証コード (MAC) を生成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| key | 文字列 | メッセージの署名に使用するキー。Base64 エンコードする必要があります。 |
| アルゴリズム | 文字列 | MAC の生成に使用するアルゴリズム:HmacSHA256、HmacSHA1、HmacMD5 など。 |
| データ | 文字列 | 処理するデータ。 |
| タイプ | 説明 |
|---|---|
| 文字列 | base64 形式の MAC。 |
この例では、データとして sample_key を使用し、アルゴリズムとして HmacSHA256 を使用して MAC を作成する方法を示します。
var mac = new CertificateEncryption;
var key = "sample_key";
key = gs.base64Encode(key);
mac.generateMac(key, "HmacSHA256", "sample_data");
CertificateEncryption - getThumbPrint(文字列 certificateID, 文字列アルゴリズム)
トラストストア証明書からの証明書のハッシュ (SHA-1、SHA-256 など) を生成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 証明書 ID | 文字列 | X.509 証明書 [sys_certificate] テーブルの証明書レコードのSys_id。 |
| アルゴリズム | 文字列 | SHA-1、SHA-256 など、ハッシュの作成に使用するアルゴリズム。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 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, 文字列エイリアス, 文字列アルゴリズム)
キーストアエントリから証明書のハッシュ (SHA-1、SHA-256 など) を生成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 証明書 ID | 文字列 | X.509 証明書 [sys_certificate] テーブルの証明書レコードのSys_id。 |
| エイリアス | 文字列 | 証明書のエイリアス名。 |
| アルゴリズム | 文字列 | SHA-1、SHA-256 など、ハッシュの作成に使用するアルゴリズム。 |
| タイプ | 説明 |
|---|---|
| 文字列 | base64 形式のサムプリント。 |
CertificateEncryption - sign(String certificateID, String alias, String aliaspassword, String algorithm, String datatosign)
秘密鍵と指定されたアルゴリズムを使用してデータに署名します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 証明書 ID | 文字列 | X.509 証明書 [sys_certificate] テーブルの証明書レコードのsys_id。 |
| エイリアス | 文字列 | 秘密鍵の名前。 |
| エイリアスパスワード | 文字列 | 秘密鍵のパスワード。 |
| アルゴリズム | 文字列 | 使用するアルゴリズム。次のいずれかの値である必要があります。
|
| datatosign | 文字列 | 署名するデータ。 |
| タイプ | 説明 |
|---|---|
| 文字列 | base64 形式の署名付きデータ。 |
var ce = new CertificateEncryption;
ce.sign("recordID", "alias", "password", "SHA1withRSA", "sign this data");