第21章 データベースのアップグレード

21.1. データベースを 9.0 から 9.1 へのアップグレー

パッケージと設定ファイルをアップグレードした後に、Certificate System インスタンスごとにデータベーススキーマとサブシステムデータベースを手動でアップグレードする必要があります。

21.1.1. データベーススキーマのアップグレード

Directory Server で Certificate System データベーススキーマをアップグレードするには、次の手順を実行します。
# ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( realm-oid NAME 'realm' DESC 'CMS defined attribute'
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'user defined' )

dn: cn=schema
changetype: modify
delete: objectClasses
objectClasses: ( request-oid NAME 'request' DESC 'CMS defined class'
 SUP top STRUCTURAL MUST cn MAY ( requestId $ dateOfCreate $ dateOfModify
 $ requestState $ requestResult $ requestOwner $ requestAgentGroup
 $ requestSourceId $ requestType $ requestFlag $ requestError
 $ userMessages $ adminMessages ) X-ORIGIN 'user defined' )

add: objectClasses
objectClasses: ( request-oid NAME 'request' DESC 'CMS defined class'
 SUP top STRUCTURAL MUST cn MAY ( requestId $ dateOfCreate $ dateOfModify
 $ requestState $ requestResult $ requestOwner $ requestAgentGroup
 $ requestSourceId $ requestType $ requestFlag $ requestError
 $ userMessages $ adminMessages $ realm ) X-ORIGIN 'user defined' )

dn: cn=schema
changetype: modify
add: attributeTypes
attributeTypes: ( authorityID-oid NAME 'authorityID' DESC 'Authority ID'
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE X-ORIGIN
 'user defined' )
attributeTypes: ( authorityKeyNickname-oid NAME 'authorityKeyNickname'
 DESC 'Authority key nickname' SYNTAX 1.3.6.1.4.1.1466.115.121.1.44
 SINGLE-VALUE X-ORIGIN 'user-defined' )
attributeTypes: ( authorityParentID-oid NAME 'authorityParentID' DESC
 'Authority Parent ID' SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 SINGLE-VALUE
 X-ORIGIN 'user defined' )
attributeTypes: ( authorityEnabled-oid NAME 'authorityEnabled' DESC
 'Authority Enabled' SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE
 X-ORIGIN 'user defined' )
attributeTypes: ( authorityDN-oid NAME 'authorityDN' DESC 'Authority DN'
 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE X-ORIGIN
 'user defined' )
attributeTypes: ( authoritySerial-oid NAME 'authoritySerial' DESC
 'Authority certificate serial number' SYNTAX
 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE X-ORIGIN 'user defined' )
attributeTypes: ( authorityParentDN-oid
 NAME 'authorityParentDN' DESC 'Authority Parent DN' SYNTAX
 1.3.6.1.4.1.1466.115.121.1.12 SINGLE-VALUE X-ORIGIN 'user defined' )
attributeTypes: ( authorityKeyHost-oid NAME 'authorityKeyHost' DESC
 'Authority Key Hosts' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN
 'user defined' )

dn: cn=schema
changetype: modify
add: objectClasses
objectClasses: ( authority-oid NAME 'authority' DESC
 'Certificate Authority' SUP top STRUCTURAL MUST ( cn $ authorityID
 $ authorityKeyNickname $ authorityEnabled $ authorityDN ) MAY
 ( authoritySerial $ authorityParentID $ authorityParentDN
 $ authorityKeyHost $ description ) X-ORIGIN 'user defined' )

21.1.2. CA データベースのアップグレード

認証局 (CA) データベースをアップグレードします。
  1. コンテナーエントリーをアップグレードします。
    # ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
    dn: ou=authorities,ou=ca,CA_base_DN
    changetype: add
    objectClass: top
    objectClass: organizationalUnit
    ou: authorities
  2. アクセスコントロールリスト (ACL) エントリーをアップグレードします。
    # ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
    dn: cn=aclResources,CA_base_DN
    changetype: modify
    add: resourceACLS
    resourceACLS: certServer.ca.authorities:list,read:allow (list,read)
      user="anybody":Anybody may list and read lightweight authorities
    resourceACLS: certServer.ca.authorities:create,modify:allow (create,modify)
      group="Administrators":Administrators may create and modify lightweight authorities
    resourceACLS: certServer.ca.authorities:delete:allow (delete)
      group="Administrators":Administrators may delete lightweight authorities
  3. データベースインデックスをアップグレードします。
    # ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
    dn: cn=issuername,cn=index,cn=CA_database_name,cn=ldbm database,
     cn=plugins, cn=config
    changetype: add
    objectClass: top
    objectClass: nsIndex
    nsindexType: eq
    nsindexType: pres
    nsindexType: sub
    nsSystemindex: false
    cn: issuername
  4. realm 属性を追加します。
    # ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
    dn: cn=schema
    changetype: modify
    add: attributeTypes
    attributeTypes: ( realm-oid NAME 'realm' DESC 'CMS defined attribute'
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'user defined' )
    
    delete: objectClasses
    objectClasses: ( request-oid NAME 'request' DESC 'CMS defined class'
     SUP top STRUCTURAL MUST cn MAY ( requestId $ dateOfCreate $
     dateOfModify $ requestState $ requestResult $ requestOwner $
     requestAgentGroup $ requestSourceId $ requestType $ requestFlag $
     requestError $ userMessages $ adminMessages ) X-ORIGIN 'user defined' )
    
    add: objectClasses
    objectClasses: ( request-oid NAME 'request' DESC 'CMS defined class'
     SUP top STRUCTURAL MUST cn MAY ( requestId $ dateOfCreate $
     dateOfModify $ requestState $ requestResult $ requestOwner $
     requestAgentGroup $ requestSourceId $ requestType $ requestFlag $
     requestError $ userMessages $ adminMessages $ realm ) X-ORIGIN 'user
     defined' )
  5. 証明書の有効期限の遅延を取り除きます。
    1. /var/lib/pki/instance_name/ca/profiles/ca/caDualCert.cfg ファイルで、以下を設定します。
      policyset.signingCertSet.2.default.params.startTime=0
    2. /var/lib/pki/instance_name/ca/profiles/ca/caECDualCert.cfg ファイルで、次のように設定します。
      policyset.signingCertSet.2.default.params.startTime=0
    3. /var/lib/pki/instance_name/ca/profiles/ca/caDualCert.cfg ファイルで、以下を設定します。
      policyset.signingCertSet.2.default.params.startTime=0
    4. /var/lib/pki/instance_name/ca/profiles/ca/caJarSigningCert.cfg ファイルで、以下を設定します。
      policyset.caJarSigningSet.2.default.params.startTime=0
    5. /var/lib/pki/instance_name/ca/profiles/ca/caSignedLogCert.cfg ファイルで、以下を設定します。
      policyset.caLogSigningSet.2.default.params.startTime=0
  6. issuerName 属し絵を証明書レコードに追加します。
    # pki-server db-upgrade
  7. インスタンス名にアンダースコアを使用できるように属性構文を更新します。
    # ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
    dn: cn=schema
    changetype: modify
    delete: objectClasses
    objectClasses: ( authority-oid NAME 'authority' DESC 'Certificate
     Authority' SUP top STRUCTURAL MUST ( cn $ authorityID
     $ authorityKeyNickname $ authorityEnabled $ authorityDN ) MAY
     ( authoritySerial $ authorityParentID $ authorityParentDN $
     authorityKeyHost $ description ) X-ORIGIN 'user defined' )
    
    delete: attributeTypes
    attributeTypes: ( authorityKeyNickname-oid NAME
     'authorityKeyNickname' DESC 'Authority key nickname' SYNTAX
     1.3.6.1.4.1.1466.115.121.1.44 SINGLE-VALUE X-ORIGIN
     'user-defined' )
    
    add: attributeTypes
    attributeTypes: ( authorityKeyNickname-oid NAME
     'authorityKeyNickname' DESC 'Authority key nickname'
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE
     X-ORIGIN 'user-defined' )
    
    add: objectClasses
    objectClasses: ( authority-oid NAME 'authority' DESC
     'Certificate Authority' SUP top STRUCTURAL MUST ( cn
     $ authorityID $ authorityKeyNickname $ authorityEnabled
     $ authorityDN ) MAY ( authoritySerial $ authorityParentID
     $ authorityParentDN $ authorityKeyHost $ description )
     X-ORIGIN 'user defined' )

21.1.3. KRA データベースのアップグレード

キー回復機関 (KRA) データベースを更新します。
  1. データベースインデックスをアップグレードします。
    # ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
    dn: cn=realm,cn=index,cn=KRA_database_name,cn=ldbm database,
     cn=plugins,cn=config
    changetype: add
    objectClass: top
    objectClass: nsIndex
    nsindexType: eq
    nsindexType: pres
    nsSystemindex: false
    cn: realm
  2. realm 属性を追加します。
    # ldapmodify -D "cn=Directory Manager" -W -h server.example.com -p 389 -x
    dn: cn=schema
    changetype: modify
    add: attributeTypes
    attributeTypes: ( realm-oid NAME 'realm' DESC 'CMS defined attribute'
     SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'user defined' )
    
    delete: objectClasses
    objectClasses: ( request-oid NAME 'request' DESC 'CMS defined class'
     SUP top STRUCTURAL MUST cn MAY ( requestId $ dateOfCreate $
     dateOfModify $ requestState $ requestResult $ requestOwner $
     requestAgentGroup $ requestSourceId $ requestType $ requestFlag $
     requestError $ userMessages $ adminMessages ) X-ORIGIN 'user defined' )
    
    add: objectClasses
     objectClasses: ( request-oid NAME 'request' DESC 'CMS defined class'
     SUP top STRUCTURAL MUST cn MAY ( requestId $ dateOfCreate $
     dateOfModify $ requestState $ requestResult $ requestOwner $
     requestAgentGroup $ requestSourceId $ requestType $ requestFlag $
     requestError $ userMessages $ adminMessages $ realm ) X-ORIGIN 'user
     defined' )
    
    delete: objectClasses
    objectClasses: ( keyRecord-oid NAME 'keyRecord' DESC 'CMS defined
     class' SUP top STRUCTURAL MUST cn MAY ( serialno $ dateOfCreate $
     dateOfModify $ keyState $ privateKeyData $ ownerName $ keySize $
     metaInfo $ dateOfArchival $ dateOfRecovery $ algorithm $
     publicKeyFormat $ publicKeyData $ archivedBy $ clientId $ dataType $
     status ) X-ORIGIN 'user defined' )
    
    add: objectClasses
    objectClasses: ( keyRecord-oid NAME 'keyRecord' DESC 'CMS defined
     class' SUP top STRUCTURAL MUST cn MAY ( serialno $ dateOfCreate $
     dateOfModify $ keyState $ privateKeyData $ ownerName $ keySize $
     metaInfo $ dateOfArchival $ dateOfRecovery $ algorithm $
     publicKeyFormat $ publicKeyData $ archivedBy $ clientId $ dataType $
     status $ realm ) X-ORIGIN 'user defined' )
  3. 仮想リストビュー (VLV) を更新して再インデックス化します。
    1. 既存のインデックスを削除します。
      # pki-server kra-db-vlv-del -i CS_instance_name -D DS_bind_DN \
           -w DS_bind_password
    2. 新しいインデックスを追加します。
      # pki-server kra-db-vlv-add -i CS_instance_name -D DS_bind_DN \
           -w DS_bind_password
    3. Directory Server インスタンスを再起動します。
      # systemctl restart dirsrv@DS_instance_name
    4. データベースのインデックスを再作成します。
      # pki-server kra-db-vlv-reindex -i CS_instance_name -D DS_bind_DN \
           -w DS_bind_password

21.1.4. TPS データベースのアップグレード

トークン処理システム (TPS) は、Certificate System 9.0 のテクノロジープレビュー機能でした。したがって、このバージョンからの TPS のアップグレードはサポートされていません。