第 2 步:创建吊销连接函数 - Amazon CloudFront

第 2 步:创建吊销连接函数

创建一个连接函数,该函数可根据 KeyValueStore 中的数据检查证书序列号,以确定是否吊销证书。

创建一个连接函数,该函数会根据 KeyValueStore 中的数据检查证书序列号:

aws cloudfront create-connection-function \ --name "revocation-control" \ --connection-function-config file://connection-function-config.json \ --connection-function-code file://connection-function-code.txt

配置文件用于指定 KeyValueStore 关联:

{ "Runtime": "cloudfront-js-2.0", "Comment": "A function that implements revocation control via KVS", "KeyValueStoreAssociations": { "Quantity": 1, "Items": [ { "KeyValueStoreArn": "arn:aws:cloudfront::account-id:key-value-store/kvs-id" } ] } }

连接函数代码会检查 KeyValueStore 中是否有已吊销证书:

import cf from 'cloudfront'; async function connectionHandler(connection) { const kvsHandle = cf.kvs(); // Get parsed client serial number from client certificate const clientSerialNumber = connection.clientCertInfo.serialNumber; // Check KVS to see if serial number exists as a key const serialNumberExistsInKvs = await kvsHandle.exists(clientSerialNumber); // Deny connection if serial number exists in KVS if (serialNumberExistsInKvs) { console.log("Connection denied - certificate revoked"); return connection.deny(); } // Allow connections that don't exist in kvs console.log("Connection allowed"); return connection.allow(); }