libx509pq
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
libx509pq | 1.3 | SEC | GPL-3.0-or-later | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 7420 | libx509pq | No | Yes | No | Yes | No | Yes | - |
| Related | sslinfo sslutils pg_snakeoil pgcrypto |
|---|
Requires OpenSSL 1.1.1+; GPL-3.0-or-later is explicit in source headers. EL9 default crypto policy rejects a legacy SHA-1 test fixture; SHA-256 verification passed without changing policy.
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.3 | 1817161514 | libx509pq | - |
| RPM | PIGSTY | 1.3 | 1817161514 | libx509pq_$v | openssl-libs |
| DEB | PIGSTY | 1.3 | 1817161514 | postgresql-$v-libx509pq | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 1.3 el8.x86_64.pg18 : libx509pq_18 libx509pq_18-1.3-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.3 el8.x86_64.pg17 : libx509pq_17 libx509pq_17-1.3-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.3 el8.x86_64.pg16 : libx509pq_16 libx509pq_16-1.3-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.3 el8.x86_64.pg15 : libx509pq_15 libx509pq_15-1.3-1PGSTY.el8.x86_64.rpm
| PIGSTY 1.3 el8.x86_64.pg14 : libx509pq_14 libx509pq_14-1.3-1PGSTY.el8.x86_64.rpm
|
| el8.aarch64 | PIGSTY 1.3 el8.aarch64.pg18 : libx509pq_18 libx509pq_18-1.3-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.3 el8.aarch64.pg17 : libx509pq_17 libx509pq_17-1.3-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.3 el8.aarch64.pg16 : libx509pq_16 libx509pq_16-1.3-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.3 el8.aarch64.pg15 : libx509pq_15 libx509pq_15-1.3-1PGSTY.el8.aarch64.rpm
| PIGSTY 1.3 el8.aarch64.pg14 : libx509pq_14 libx509pq_14-1.3-1PGSTY.el8.aarch64.rpm
|
| el9.x86_64 | PIGSTY 1.3 el9.x86_64.pg18 : libx509pq_18 libx509pq_18-1.3-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.3 el9.x86_64.pg17 : libx509pq_17 libx509pq_17-1.3-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.3 el9.x86_64.pg16 : libx509pq_16 libx509pq_16-1.3-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.3 el9.x86_64.pg15 : libx509pq_15 libx509pq_15-1.3-1PGSTY.el9.x86_64.rpm
| PIGSTY 1.3 el9.x86_64.pg14 : libx509pq_14 libx509pq_14-1.3-1PGSTY.el9.x86_64.rpm
|
| el9.aarch64 | PIGSTY 1.3 el9.aarch64.pg18 : libx509pq_18 libx509pq_18-1.3-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.3 el9.aarch64.pg17 : libx509pq_17 libx509pq_17-1.3-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.3 el9.aarch64.pg16 : libx509pq_16 libx509pq_16-1.3-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.3 el9.aarch64.pg15 : libx509pq_15 libx509pq_15-1.3-1PGSTY.el9.aarch64.rpm
| PIGSTY 1.3 el9.aarch64.pg14 : libx509pq_14 libx509pq_14-1.3-1PGSTY.el9.aarch64.rpm
|
| el10.x86_64 | PIGSTY 1.3 el10.x86_64.pg18 : libx509pq_18 libx509pq_18-1.3-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.3 el10.x86_64.pg17 : libx509pq_17 libx509pq_17-1.3-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.3 el10.x86_64.pg16 : libx509pq_16 libx509pq_16-1.3-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.3 el10.x86_64.pg15 : libx509pq_15 libx509pq_15-1.3-1PGSTY.el10.x86_64.rpm
| PIGSTY 1.3 el10.x86_64.pg14 : libx509pq_14 libx509pq_14-1.3-1PGSTY.el10.x86_64.rpm
|
| el10.aarch64 | PIGSTY 1.3 el10.aarch64.pg18 : libx509pq_18 libx509pq_18-1.3-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.3 el10.aarch64.pg17 : libx509pq_17 libx509pq_17-1.3-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.3 el10.aarch64.pg16 : libx509pq_16 libx509pq_16-1.3-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.3 el10.aarch64.pg15 : libx509pq_15 libx509pq_15-1.3-1PGSTY.el10.aarch64.rpm
| PIGSTY 1.3 el10.aarch64.pg14 : libx509pq_14 libx509pq_14-1.3-1PGSTY.el10.aarch64.rpm
|
| d12.x86_64 | PIGSTY 1.3 d12.x86_64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.3 d12.x86_64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.3 d12.x86_64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.3 d12.x86_64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~bookworm_amd64.deb
| PIGSTY 1.3 d12.x86_64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~bookworm_amd64.deb
|
| d12.aarch64 | PIGSTY 1.3 d12.aarch64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.3 d12.aarch64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.3 d12.aarch64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.3 d12.aarch64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~bookworm_arm64.deb
| PIGSTY 1.3 d12.aarch64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~bookworm_arm64.deb
|
| d13.x86_64 | PIGSTY 1.3 d13.x86_64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~trixie_amd64.deb
| PIGSTY 1.3 d13.x86_64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~trixie_amd64.deb
| PIGSTY 1.3 d13.x86_64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~trixie_amd64.deb
| PIGSTY 1.3 d13.x86_64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~trixie_amd64.deb
| PIGSTY 1.3 d13.x86_64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~trixie_amd64.deb
|
| d13.aarch64 | PIGSTY 1.3 d13.aarch64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~trixie_arm64.deb
| PIGSTY 1.3 d13.aarch64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~trixie_arm64.deb
| PIGSTY 1.3 d13.aarch64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~trixie_arm64.deb
| PIGSTY 1.3 d13.aarch64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~trixie_arm64.deb
| PIGSTY 1.3 d13.aarch64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~trixie_arm64.deb
|
| u22.x86_64 | PIGSTY 1.3 u22.x86_64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~jammy_amd64.deb
| PIGSTY 1.3 u22.x86_64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~jammy_amd64.deb
| PIGSTY 1.3 u22.x86_64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~jammy_amd64.deb
| PIGSTY 1.3 u22.x86_64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~jammy_amd64.deb
| PIGSTY 1.3 u22.x86_64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~jammy_amd64.deb
|
| u22.aarch64 | PIGSTY 1.3 u22.aarch64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~jammy_arm64.deb
| PIGSTY 1.3 u22.aarch64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~jammy_arm64.deb
| PIGSTY 1.3 u22.aarch64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~jammy_arm64.deb
| PIGSTY 1.3 u22.aarch64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~jammy_arm64.deb
| PIGSTY 1.3 u22.aarch64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~jammy_arm64.deb
|
| u24.x86_64 | PIGSTY 1.3 u24.x86_64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~noble_amd64.deb
| PIGSTY 1.3 u24.x86_64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~noble_amd64.deb
| PIGSTY 1.3 u24.x86_64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~noble_amd64.deb
| PIGSTY 1.3 u24.x86_64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~noble_amd64.deb
| PIGSTY 1.3 u24.x86_64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~noble_amd64.deb
|
| u24.aarch64 | PIGSTY 1.3 u24.aarch64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~noble_arm64.deb
| PIGSTY 1.3 u24.aarch64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~noble_arm64.deb
| PIGSTY 1.3 u24.aarch64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~noble_arm64.deb
| PIGSTY 1.3 u24.aarch64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~noble_arm64.deb
| PIGSTY 1.3 u24.aarch64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~noble_arm64.deb
|
| u26.x86_64 | PIGSTY 1.3 u26.x86_64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~resolute_amd64.deb
| PIGSTY 1.3 u26.x86_64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~resolute_amd64.deb
| PIGSTY 1.3 u26.x86_64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~resolute_amd64.deb
| PIGSTY 1.3 u26.x86_64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~resolute_amd64.deb
| PIGSTY 1.3 u26.x86_64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~resolute_amd64.deb
|
| u26.aarch64 | PIGSTY 1.3 u26.aarch64.pg18 : postgresql-18-libx509pq postgresql-18-libx509pq_1.3-1PGSTY~resolute_arm64.deb
| PIGSTY 1.3 u26.aarch64.pg17 : postgresql-17-libx509pq postgresql-17-libx509pq_1.3-1PGSTY~resolute_arm64.deb
| PIGSTY 1.3 u26.aarch64.pg16 : postgresql-16-libx509pq postgresql-16-libx509pq_1.3-1PGSTY~resolute_arm64.deb
| PIGSTY 1.3 u26.aarch64.pg15 : postgresql-15-libx509pq postgresql-15-libx509pq_1.3-1PGSTY~resolute_arm64.deb
| PIGSTY 1.3 u26.aarch64.pg14 : postgresql-14-libx509pq postgresql-14-libx509pq_1.3-1PGSTY~resolute_arm64.deb
|
Build
You can build the RPM / DEB packages for libx509pq using pig build:
Install
You can install libx509pq directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Create Extension:
Usage
Sources:
libx509pq exposes OpenSSL X.509 certificate parsing to SQL. It accepts DER certificates as bytea and extracts subject, issuer, validity, serial number, key and signature information, extensions, alternate names, fingerprints, and related fields.
For multiple basic fields, x509_basic_info(der) avoids parsing the same certificate repeatedly. Other APIs enumerate extensions and names, expose public keys, identify selected weak-key patterns, and verify one certificate signature against a supplied key.
Parsing or signature verification is not full PKIX path validation: it does not by itself establish trust, hostname validity, revocation status, policy, or current acceptability. Malformed DER reaches native OpenSSL code; cap input size, fuzz and regression-test untrusted corpora, and keep PostgreSQL and OpenSSL patched. Pin the OpenSSL ABI used at build and runtime, review sentinel-versus-null error behavior, restrict expensive functions, and benchmark bulk parsing.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)