Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.java > #12530

ca-certificate-java/openjdk installation issues

Path csiph.com!fu-berlin.de!bofh.it!news.nic.it!robomod
From Vladimir Petko <vladimir.petko@canonical.com>
Newsgroups linux.debian.maint.java
Subject ca-certificate-java/openjdk installation issues
Date Tue, 07 Feb 2023 20:20:01 +0100
Message-ID <FWBFv-4dUm-5@gated-at.bofh.it> (permalink)
X-Original-To debian-java@lists.debian.org
X-Mailbox-Line From debian-java-request@lists.debian.org Tue Feb 7 19:12:39 2023
Old-Return-Path <vladimir.petko@canonical.com>
X-Amavis-Spam-Status No, score=-7.501 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=2, LDO_WHITELIST=-5, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham autolearn_force=no
X-Policyd-Weight using cached result; rate: -5.5
X-Gm-Message-State AO0yUKWAx3+CXH/AxJMF7kowVgFcdKAaVDcqV7OWZYxT/3gD9f4L9Dm0 SdNFEZLYDS1cKEtGlAd+uL/78NJ9gxg2IJphMrstOlD5z6q8fNc/5ctR8fMtGxx8HS2r+KwSFqi E6WHS1V41jvbBw+1qIWsJGrQsKpC1GLKDo9x1t2O7/H8G3tlwV+J2CatD48Rs/bQiGQ==
X-Received by 2002:a05:6402:50d:b0:4a3:43a2:f408 with SMTP id m13-20020a056402050d00b004a343a2f408mr52801edv.1.1675797135825; Tue, 07 Feb 2023 11:12:15 -0800 (PST)
X-Google-SMTP-Source AK7set/HrbwuXIENy61HwC5/DGihs1BkdY6GUbnJosk3+KlOVTsT0b3fWv2Du9Jh8Z5AvPCuOIdS7J7f4XJlQm7ABoo=
X-Received by 2002:a05:6402:50d:b0:4a3:43a2:f408 with SMTP id m13-20020a056402050d00b004a343a2f408mr52793edv.1.1675797135566; Tue, 07 Feb 2023 11:12:15 -0800 (PST)
MIME-Version 1.0
Content-Type multipart/alternative; boundary="000000000000fb420a05f420ec23"
X-Mailing-List <debian-java@lists.debian.org> archive/latest/23181
List-ID <debian-java.lists.debian.org>
List-URL <https://lists.debian.org/debian-java/>
List-Archive https://lists.debian.org/msgid-search/CALFf3kckwyx6X93=1JNjcnBdyctJe9AtfXYQsOoJf5qeUUjNEw@mail.gmail.com
Approved robomod@news.nic.it
Lines 150
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Date Wed, 8 Feb 2023 08:12:04 +1300
X-Original-Message-ID <CALFf3kckwyx6X93=1JNjcnBdyctJe9AtfXYQsOoJf5qeUUjNEw@mail.gmail.com>
Xref csiph.com linux.debian.maint.java:12530

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

Dear Maintainers,

Would it be possible to consider a proposal to break dependency of
ca-certificates-java on the installed JVM?

Abstract

ca-certificates-java package contains a circular dependency with Java that
causes issues during openjdk installation.
I am proposing switching the ca-certificate-java certificate import tool to
Python to break the dependency cycle.

Rationale

The certificate import tool in ca-certificate-java is written in Java.
This is a constant source of bugs [1] and requires updates (including
stable
release updates [2])  whenever a new JDK version comes out. Switching
certificate import to Python will remove the maintenance load and break
a cyclic dependency.

Existing Functionality

ca-certificates-java synchronizes content of Java keystore
/etc/ssl/certs/java/cacerts with trusted certificates in PEM format located
in /etc/ssl/certs using jks-keystore hook registered with ca-certificates
package.

During hook invocation or post installation following actions are performed:
- ca-certificates-java checks the format of /etc/ssl/certs/java/cacerts and
  attempts to convert it into legacy Java Key Store(JKS) format due to the
  requirement to support OpenJDK 8.
  OpenJDK 11 and up support both legacy and PKCS11 formats.
- ca-certificate-java lists all available certificates in the keystore
using
  Java keytool, filters certificate aliases and compares the list with the
  system certificates.
  An input file containing '+debian:<certificate-file-name>' for addition
and
  '-debian:<certificate-file-name>' is generated and passed to import
utility.
  Import utility updates /etc/ssl/certs/java/cacerts and sets updated
  certificate alias to 'debian:<certificate-file-name>'
  Note: Import utility only updates certificates with
  'debian:<certificate-file-name>' alias

Requirements

In order to remove dependency on Java, the certificate import tool must:
- List certificate aliases
- Add or update certificate in Java Key Store
- Convert PKCS12 store to JKS format
- Load certificate in PEM format
- Retain any user's certificates in Java Key Store

Implementation

This functionality can be implemented using the following Python packages:
- python3-pyjks: Java Key Store format support [4]. It supports loading,
  manipulation and serialization of the JKS files.
  It is needed for  requirements 1 and 2.
- python3-oscrypto: PKCS12 and X509 support [3]. The package depends on
  OpenSSL 3.0. The package supports loading PKCS12 certificate store and
  extracting certificates along with SafeBag aliases.
  It is needed for requirements 3 and 4.

ca-certificates-java will install the  /usr/sbin/ca-certificates-java tool.

It will accept following options:
- sync <password> <input-file> - synchronize the keystore
- list <password> – list certificate aliases in the keystore
- convert <password> <oldstore> <newstore> – convert the keystore into
  JKS format.

Best  Regards,
  Vladimir.

[1] https://bugs.launchpad.net/ubuntu/+source/ca-certificates-java
[2]
https://bugs.launchpad.net/ubuntu/+source/ca-certificates-java/+bug/1998065
[3] https://launchpad.net/ubuntu/+source/oscrypto
[4] https://launchpad.net/ubuntu/+source/pyjks

Back to linux.debian.maint.java | Previous | NextNext in thread | Find similar


Thread

ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-07 20:20 +0100
  Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-07 20:40 +0100
    Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-07 20:40 +0100
    Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-07 21:10 +0100
  Re: ca-certificate-java/openjdk installation issues Emmanuel Bourg <ebourg@apache.org> - 2023-02-21 21:30 +0100
    Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-21 21:40 +0100
    Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-21 22:10 +0100
      Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-21 22:40 +0100
        Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-21 23:00 +0100
          Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-21 23:00 +0100
            Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-21 23:40 +0100
              Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-22 00:00 +0100
              Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-22 00:00 +0100
                Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-23 04:00 +0100
                Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-23 20:50 +0100
                Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-23 21:00 +0100
                Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-23 21:00 +0100
                Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-24 05:20 +0100
                Re: ca-certificate-java/openjdk installation issues Thorsten Glaser <t.glaser@tarent.de> - 2023-02-24 06:30 +0100
                Re: ca-certificate-java/openjdk installation issues Vladimir Petko <vladimir.petko@canonical.com> - 2023-02-27 08:20 +0100

csiph-web