Package org.platformlayer.auth.system

Source Code of org.platformlayer.auth.system.CertificateChains

package org.platformlayer.auth.system;

import java.security.cert.X509Certificate;
import java.util.List;

import org.platformlayer.auth.v1.CertificateChainInfo;
import org.platformlayer.auth.v1.CertificateInfo;

import com.fathomdb.crypto.Certificates;
import com.fathomdb.crypto.OpenSshUtils;
import com.fathomdb.hash.Md5Hash;
import com.fathomdb.utils.Hex;

public class CertificateChains {
  public static CertificateChainInfo toModel(X509Certificate[] chain) {
    CertificateChainInfo chainInfo = new CertificateChainInfo();
    List<CertificateInfo> certificates = chainInfo.getCertificates();
    for (X509Certificate cert : chain) {
      CertificateInfo certificateInfo = new CertificateInfo();

      certificateInfo.setSubjectDN(Certificates.getSubject(cert));
      Md5Hash hash = OpenSshUtils.getSignature(cert.getPublicKey());
      certificateInfo.setPublicKeyHash(hash.toHex());

      byte[] data = cert.getPublicKey().getEncoded();
      certificateInfo.setPublicKey(Hex.toHex(data));

      certificates.add(certificateInfo);
    }

    return chainInfo;
  }
}
TOP

Related Classes of org.platformlayer.auth.system.CertificateChains

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.