機械翻訳について

RSAシグネチャを使用したトリガー接続定義の作成

この手順では、RSAシグネチャを使用するトリガー接続定義の実装方法の概要を説明します。

前提条件

webフックがどのように署名されるかについては、Webフック・プロデューサのドキュメントを確認してください。 次の情報を収集します:
  • 署名とは?
  • 使用されるアルゴリズム。
  • リクエストのシグネチャはどのように送信されますか。 たとえば、ヘッダー値とヘッダー値の形式を調べます。
  • 検証するタイムスタンプに関する情報が含まれていますか。 その場合、どのような形式ですか。
  • 署名キーを取得するには?

ノート:

お客様は、このセキュリティ・ポリシーが機能しないOracle Integrationに証明書をアップロードする必要があります。
  1. Visual Studio Codeエディタでアダプタ定義ドキュメントを開きます。
  2. ドキュメントのconnectionsコード・セクションに移動し、スコープをTRIGGERに設定します。
  3. 前提条件で収集した情報に従って、セキュリティ・プロパティの値を設定します。

    次に、コード・サンプルを示します:

    • 署名付きコンテンツは認可ヘッダー(.request.headers.authorization|split(" ")|.[1]|split(".")|(.[0]+"."+.[1]))から抽出されます。
    • シグネチャはbase64URLencodeStringで、認可ヘッダーの一部(connectivity::base64URLDecode(.request.headers.authorization|split(" ")|.[1]|split(".")|.[2])です。
    • シグネチャ・キーは、同じポリシーのsecurityProperty signKey部分に追加され、RSAファンクション(.securityProperties.signKey)で参照されます。 このキーは、OICにアップロードされた証明書の別名(例:- "orakey")に解決されました。
    • タイムスタンプ検証は必須ではないため、空の文字列です。
    "securityPolicies": [
          {  
             "type": "managed",
             "refName": "RSA_SIGNATURE_VALIDATION",
             "description": "Validates RSA Signature",
             "displayName": "RSA SIGNATURE VALIDATION",
             "scope": "TRIGGER",
             "securityProperties": [
                {
                    "name": "signatureString",
                    "displayName": "Signature Statement",
                    "hidden": true,
                    "required": true,
                    "default": "${.request.body)}"
                },
                {
                    "name": "signature",
                    "displayName": "Signature Statement",
                    "hidden": true,
                    "required": true,
                    "default": "${connectivity::base64URLDecode(.request.query.signature)}"
                },    
    {
                    "name": "signatureAlgorithm",
                    "displayName": "Request Signature Location",
                    "hidden": true,
                    "required": true,
                    "default": "SHA256withRSA"
                },
                {
                    "name": "signKey",
                    "displayName": "Certificate Alias",
                    "hidden": false,
                    "required": true
                },
                {
                    "name": "timestampValidator",
                    "displayName": "Request Signature Location",
                    "hidden": true,
                    "required": true,
                    "default": ""
                },
                 
            ]
           }
        ]