Skip navigation links
EDB/Java
jp.ac.tokushima_u.edb

Class EdbPKI



  • public class EdbPKI
    extends Object
    公開鍵暗号基盤(PKI)を扱うクラスです.
    Version:
    $Id: EdbPKI.java,v 1.22 2019/05/08 06:19:10 alex Exp $
    • Constructor Detail

      • EdbPKI

        public EdbPKI()
    • Method Detail

      • certificate2pem

        public static String certificate2pem(EDB edb,
                                             String certificate)
        指定された証明書を PEM 形式にします.
        Parameters:
        edb - EDB コンテキスト
        certificate - BASE64 エンコードされた証明書
        Returns:
        PEM 形式の証明書を返します.
      • generateX509Certificate

        public static X509Certificate generateX509Certificate(EDB edb,
                                                              String certificate)
        指定された PEM 形式の証明書から X509 証明書インスタンスを生成します.
        Parameters:
        edb - EDB コンテキスト
        certificate - PEM 形式の証明書
        Returns:
        成功した場合は X509 証明書インスタンスを返します.失敗した場合は null を返します.
      • initialize

        static boolean initialize(EDB edb,
                                  String pkcs12file,
                                  char[] passphrase)
      • createSSLSocketFactory

        public static SSLSocketFactory createSSLSocketFactory()
        ServerSocketFactory オブジェクトを作成します.
        Returns:
        ServerSocketFactory オブジェクトを返します.
      • checkValidate

        public static boolean checkValidate(EDB edb,
                                            X509Certificate certificate)
        指定された証明書の正当性をチェックします.

        指定された証明書が root 証明書に到る検証を満足しているかどうか, CRL( 失効リスト ) に登録されていないかどうかをチェックします.

        Parameters:
        edb - EDB コンテキスト
        certificate - 証明書
        Returns:
        正当性を確認できた場合は true を返します.その他は false を返します.
      • generateRSAKeyPair

        public static KeyPair generateRSAKeyPair(EDB edb,
                                                 int generation)
        RSA鍵(公開鍵,秘密鍵)ペアを生成します.
        Parameters:
        edb - EDB コンテキスト
        generation - EDB/PKIの世代
        Returns:
        成功した場合は KeyPair オブジェクトを返します.失敗した場合は null を返します.
      • getCommonName

        public static String getCommonName(EdbTuple subject)
        指定された subject の CN( 一般名称 ) を取得します.

        返される値は,指定される情報により次のようになります.

        • 個人情報 ... 'S' + [EID]
        • 擬人情報 ... 'S' + [EID]
        • ホスト情報 ... FQDN

        他の情報の場合は,空文字列を返します.
        Parameters:
        subject - 対象
        Returns:
        CN を返します.
      • generateCertificateRequest

        public static String generateCertificateRequest(EDB edb,
                                                        int generation,
                                                        EdbTuple subject,
                                                        KeyPair kp)
      • storePKCS12

        public static boolean storePKCS12(EDB edb,
                                          int generation,
                                          File file,
                                          char[] password,
                                          String alias,
                                          X509Certificate mycert,
                                          KeyPair kp)
        指定された内容により PKCS#12 形式のファイルを作成します.
        Parameters:
        edb - EDB コンテキスト
        generation - EDB/PKIの世代
        file - 保存先のファイル
        password - 暗号化キー
        alias - バッグにつける名前(後々暗号キーなどの名称に用いられる)
        mycert - 個人証明書
        kp - 公開鍵と秘密鍵
        Returns:
        成功した場合は true を返します.失敗した場合は false を返します.
      • getCertificateColumn

        public static EdbColumn getCertificateColumn(EdbTuple tuple)
        データ型が証明書のカラムを取得します.

        指定されたタプルの情報が登録されているテーブルで,データ型が証明書のカラムを見つけ返します.

        Parameters:
        tuple - タプル
        Returns:
        成功した場合はカラムを返します.失敗した場合は null を返します.
      • getCertificatePEM

        public static String getCertificatePEM(EdbTuple tuple)
        証明書を PEM 形式で取得します.

        指定されたタプルから証明書を取得し,それを PEM 形式にしたものを返します.

        Parameters:
        tuple - タプル
        Returns:
        成功した場合は PEM 形式の証明書を返します.失敗した場合は null を返します.
      • getX509DN

        public static String getX509DN(X500Principal prin)
        X500PrincipalのDNを/C=???/ST=???/L=???...の形式で得る.
        Parameters:
        prin - Principal
        Returns:
        DN.
      • getIssuerX509DN

        public static String getIssuerX509DN(X509Certificate x509cert)
        証明書IssuerのX.509DNを/C=???/ST=???/L=???...の形式で得る.
        Parameters:
        x509cert - 証明書.
        Returns:
        IssuerのX.509DN.
      • getSubjectX509DN

        public static String getSubjectX509DN(X509Certificate x509cert)
        証明書SubjectのX.509DNを/C=???/ST=???/L=???...の形式で得る.
        Parameters:
        x509cert - 証明書.
        Returns:
        SubjectのX.509DN.
      • getIssuerX509DN

        public static String getIssuerX509DN(X509CRL x509crl)
        証明書失効IssuerのX.509DNを/C=???/ST=???/L=???...の形式で得る.
        Parameters:
        x509crl - 失効リスト.
        Returns:
        X.509DN.
      • getCertificateGeneration

        public static int getCertificateGeneration(X509Certificate x509cert)
      • getCertificateGeneration

        public static int getCertificateGeneration(EDB edb,
                                                   String cert)
EDB/Java

EDB Working Group at Tue Jun 10 17:08:59 JST 2025