批量上传SMIME证书

时间:2019-07-24 01:12:00

标签: google-apps-script gmail gmail-api smime

我有许多需要在每个用户上载的SMIME证书。现在,我手动进行操作,一个接一个。问题是,是否可以使用Apps脚本或其他工具上传多个SMIME证书?

我尝试浏览GSuite管理员,但在那里找不到上传的多个证书。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

是的,Gmail API支持将S / MIME证书上传到用户。因此,在Appscripts中,您可以使用smimeInfo()方法。 您需要您的userId(或输入“ me”)和将接收证书的用户的电子邮件地址。 您还必须设置S / MIME电子邮件config

此脚本改编自Quickstart,以遍历您域中的所有用户并将证书上载到每个用户:

function main() {  
   var optionalArgs = {
    customer: 'my_customer',
    orderBy: 'email'
  };  
  //Change the string, boolean etc to the parameters of the certificate you have been using.
  var smimeObj = {"id": string,
          "issuerCn": string,
          "isDefault": boolean,
          "expiration": long,
          "pem": string,
          "pkcs12": bytes,
          "encryptedKeyPassword": string
        };
  var userId = 'me';

  var response = AdminDirectory.Users.list(optionalArgs);
  var users = response.users;

  if (users && users.length > 0) {

    for (i = 0; i < users.length; i++) {

      var user = users[i];
      var sendAsEmail = user.primaryEmail;
      Gmail.Users.Settings.SendAs.SmimeInfo.insert(smimeObj, userId, sendAsEmail)


    }
  } else {
    Logger.log('No users found.');
  }
}