当前位置: 首页>>代码示例>>Java>>正文


Java KeyProvider.KeyVersion方法代码示例

本文整理汇总了Java中org.apache.hadoop.crypto.key.KeyProvider.KeyVersion方法的典型用法代码示例。如果您正苦于以下问题:Java KeyProvider.KeyVersion方法的具体用法?Java KeyProvider.KeyVersion怎么用?Java KeyProvider.KeyVersion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.crypto.key.KeyProvider的用法示例。


在下文中一共展示了KeyProvider.KeyVersion方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseJSONKeyVersion

import org.apache.hadoop.crypto.key.KeyProvider; //导入方法依赖的package包/类
private static KeyProvider.KeyVersion parseJSONKeyVersion(Map valueMap) {
  KeyProvider.KeyVersion keyVersion = null;
  if (!valueMap.isEmpty()) {
    byte[] material = (valueMap.containsKey(KMSRESTConstants.MATERIAL_FIELD))
        ? Base64.decodeBase64((String) valueMap.get(KMSRESTConstants.MATERIAL_FIELD))
        : null;
    String versionName = (String)valueMap.get(KMSRESTConstants.VERSION_NAME_FIELD);
    String keyName = (String)valueMap.get(KMSRESTConstants.NAME_FIELD);
    keyVersion = new RENKeyVersion(keyName, versionName, material);
  }
  return keyVersion;
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:13,代码来源:ReEncryptionClientProvider.java

示例2: toJSON

import org.apache.hadoop.crypto.key.KeyProvider; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public static Map toJSON(KeyProvider.KeyVersion keyVersion) {
  Map json = new LinkedHashMap();
  if (keyVersion != null) {
    json.put(KMSRESTConstants.NAME_FIELD,
        keyVersion.getName());
    json.put(KMSRESTConstants.VERSION_NAME_FIELD,
        keyVersion.getVersionName());
    json.put(KMSRESTConstants.MATERIAL_FIELD,
        Base64.encodeBase64URLSafeString(
            keyVersion.getMaterial()));
  }
  return json;
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:15,代码来源:KMSServerJSONUtils.java

示例3: removeKeyMaterial

import org.apache.hadoop.crypto.key.KeyProvider; //导入方法依赖的package包/类
private static KeyProvider.KeyVersion removeKeyMaterial(
    KeyProvider.KeyVersion keyVersion) {
  return new KMSClientProvider.KMSKeyVersion(keyVersion.getName(),
      keyVersion.getVersionName(), null);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:6,代码来源:KMS.java

示例4: decryptEncryptedKey

import org.apache.hadoop.crypto.key.KeyProvider; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
@POST
@Path(KMSRESTConstants.KEY_VERSION_RESOURCE + "/{versionName:.*}/" +
    KMSRESTConstants.EEK_SUB_RESOURCE)
@Produces(MediaType.APPLICATION_JSON)
public Response decryptEncryptedKey(
    @PathParam("versionName") final String versionName,
    @QueryParam(KMSRESTConstants.EEK_OP) String eekOp,
    Map jsonPayload)
    throws Exception {
  UserGroupInformation user = HttpUserGroupInformation.get();
  KMSClientProvider.checkNotEmpty(versionName, "versionName");
  KMSClientProvider.checkNotNull(eekOp, "eekOp");

  final String keyName = (String) jsonPayload.get(
      KMSRESTConstants.NAME_FIELD);
  String ivStr = (String) jsonPayload.get(KMSRESTConstants.IV_FIELD);
  String encMaterialStr = 
      (String) jsonPayload.get(KMSRESTConstants.MATERIAL_FIELD);
  Object retJSON;
  if (eekOp.equals(KMSRESTConstants.EEK_DECRYPT)) {
    assertAccess(KMSACLs.Type.DECRYPT_EEK, user, KMSOp.DECRYPT_EEK, keyName);
    KMSClientProvider.checkNotNull(ivStr, KMSRESTConstants.IV_FIELD);
    final byte[] iv = Base64.decodeBase64(ivStr);
    KMSClientProvider.checkNotNull(encMaterialStr,
        KMSRESTConstants.MATERIAL_FIELD);
    final byte[] encMaterial = Base64.decodeBase64(encMaterialStr);

    KeyProvider.KeyVersion retKeyVersion = user.doAs(
        new PrivilegedExceptionAction<KeyVersion>() {
          @Override
          public KeyVersion run() throws Exception {
            return provider.decryptEncryptedKey(
                new KMSClientProvider.KMSEncryptedKeyVersion(keyName,
                    versionName, iv, KeyProviderCryptoExtension.EEK,
                    encMaterial)
            );
          }
        }
    );

    retJSON = KMSServerJSONUtils.toJSON(retKeyVersion);
    kmsAudit.ok(user, KMSOp.DECRYPT_EEK, keyName, "");
  } else {
    throw new IllegalArgumentException("Wrong " + KMSRESTConstants.EEK_OP +
        " value, it must be " + KMSRESTConstants.EEK_GENERATE + " or " +
        KMSRESTConstants.EEK_DECRYPT);
  }
  KMSWebApp.getDecryptEEKCallsMeter().mark();
  return Response.ok().type(MediaType.APPLICATION_JSON).entity(retJSON)
      .build();
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:53,代码来源:KMS.java

示例5: decryptEncryptedKey

import org.apache.hadoop.crypto.key.KeyProvider; //导入方法依赖的package包/类
@SuppressWarnings("rawtypes")
@POST
@Path(KMSRESTConstants.KEY_VERSION_RESOURCE + "/{versionName:.*}/" +
    KMSRESTConstants.EEK_SUB_RESOURCE)
@Produces(MediaType.APPLICATION_JSON)
public Response decryptEncryptedKey(
    @PathParam("versionName") final String versionName,
    @QueryParam(KMSRESTConstants.EEK_OP) String eekOp,
    Map jsonPayload)
    throws Exception {
  try {
    LOG.trace("Entering decryptEncryptedKey method.");
    UserGroupInformation user = HttpUserGroupInformation.get();
    KMSClientProvider.checkNotEmpty(versionName, "versionName");
    KMSClientProvider.checkNotNull(eekOp, "eekOp");
    LOG.debug("Decrypting key for {}, the edek Operation is {}.",
            versionName, eekOp);

    final String keyName = (String) jsonPayload.get(
            KMSRESTConstants.NAME_FIELD);
    String ivStr = (String) jsonPayload.get(KMSRESTConstants.IV_FIELD);
    String encMaterialStr =
            (String) jsonPayload.get(KMSRESTConstants.MATERIAL_FIELD);
    Object retJSON;
    if (eekOp.equals(KMSRESTConstants.EEK_DECRYPT)) {
      assertAccess(KMSACLs.Type.DECRYPT_EEK, user, KMSOp.DECRYPT_EEK,
              keyName);
      KMSClientProvider.checkNotNull(ivStr, KMSRESTConstants.IV_FIELD);
      final byte[] iv = Base64.decodeBase64(ivStr);
      KMSClientProvider.checkNotNull(encMaterialStr,
              KMSRESTConstants.MATERIAL_FIELD);
      final byte[] encMaterial = Base64.decodeBase64(encMaterialStr);

      KeyProvider.KeyVersion retKeyVersion = user.doAs(
              new PrivilegedExceptionAction<KeyVersion>() {
              @Override
                public KeyVersion run() throws Exception {
                return provider.decryptEncryptedKey(
                          new KMSClientProvider.KMSEncryptedKeyVersion(
                                  keyName, versionName, iv,
                                          KeyProviderCryptoExtension.EEK,
                                          encMaterial)
                  );
              }
            }
      );

      retJSON = KMSServerJSONUtils.toJSON(retKeyVersion);
      kmsAudit.ok(user, KMSOp.DECRYPT_EEK, keyName, "");
    } else {
      StringBuilder error;
      error = new StringBuilder("IllegalArgumentException Wrong ");
      error.append(KMSRESTConstants.EEK_OP);
      error.append(" value, it must be ");
      error.append(KMSRESTConstants.EEK_GENERATE);
      error.append(" or ");
      error.append(KMSRESTConstants.EEK_DECRYPT);
      LOG.error(error.toString());
      throw new IllegalArgumentException(error.toString());
    }
    KMSWebApp.getDecryptEEKCallsMeter().mark();
    LOG.trace("Exiting decryptEncryptedKey method.");
    return Response.ok().type(MediaType.APPLICATION_JSON).entity(retJSON)
            .build();
  } catch (Exception e) {
    LOG.debug("Exception in decryptEncryptedKey.", e);
    throw e;
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:70,代码来源:KMS.java


注:本文中的org.apache.hadoop.crypto.key.KeyProvider.KeyVersion方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。