curl --request PUT \
--url https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate \
--header 'Content-Type: application/json' \
--data '
{
"certificate": "<string>",
"certificateChain": "<string>"
}
'import requests
url = "https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate"
payload = {
"certificate": "<string>",
"certificateChain": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({certificate: '<string>', certificateChain: '<string>'})
};
fetch('https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'certificate' => '<string>',
'certificateChain' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate"
payload := strings.NewReader("{\n \"certificate\": \"<string>\",\n \"certificateChain\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate")
.header("Content-Type", "application/json")
.body("{\n \"certificate\": \"<string>\",\n \"certificateChain\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"certificate\": \"<string>\",\n \"certificateChain\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"crossSignedCertificate": {
"caId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"certificate": "<string>",
"certificateChain": "<string>",
"issuer": "<string>",
"serialNumber": "<string>",
"notBefore": "2023-11-07T05:31:56Z",
"notAfter": "2023-11-07T05:31:56Z"
}
}{
"reqId": "<string>",
"statusCode": 400,
"message": "<string>",
"error": "<string>",
"details": "<unknown>"
}{
"reqId": "<string>",
"statusCode": 401,
"message": "<string>",
"error": "<string>"
}{
"reqId": "<string>",
"statusCode": 403,
"message": "<string>",
"error": "<string>",
"details": "<unknown>"
}{
"reqId": "<string>",
"statusCode": 404,
"message": "<string>",
"error": "<string>"
}{
"reqId": "<string>",
"statusCode": 422,
"error": "<string>",
"message": "<unknown>"
}{
"reqId": "<string>",
"statusCode": 500,
"message": "<string>",
"error": "<string>"
}Import cross-signed certificate
Import or replace the cross-signed certificate of an internal CA. Certificates the CA and its internal sub-CAs issue afterwards carry it in their chain. An intermediate CA signed through sign-intermediate gets the CA’s own chain without it. Certificates already issued keep their chain.
curl --request PUT \
--url https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate \
--header 'Content-Type: application/json' \
--data '
{
"certificate": "<string>",
"certificateChain": "<string>"
}
'import requests
url = "https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate"
payload = {
"certificate": "<string>",
"certificateChain": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({certificate: '<string>', certificateChain: '<string>'})
};
fetch('https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'certificate' => '<string>',
'certificateChain' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate"
payload := strings.NewReader("{\n \"certificate\": \"<string>\",\n \"certificateChain\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate")
.header("Content-Type", "application/json")
.body("{\n \"certificate\": \"<string>\",\n \"certificateChain\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://us.infisical.com/api/v1/cert-manager/ca/internal/{caId}/cross-signed-certificate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"certificate\": \"<string>\",\n \"certificateChain\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"crossSignedCertificate": {
"caId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"certificate": "<string>",
"certificateChain": "<string>",
"issuer": "<string>",
"serialNumber": "<string>",
"notBefore": "2023-11-07T05:31:56Z",
"notAfter": "2023-11-07T05:31:56Z"
}
}{
"reqId": "<string>",
"statusCode": 400,
"message": "<string>",
"error": "<string>",
"details": "<unknown>"
}{
"reqId": "<string>",
"statusCode": 401,
"message": "<string>",
"error": "<string>"
}{
"reqId": "<string>",
"statusCode": 403,
"message": "<string>",
"error": "<string>",
"details": "<unknown>"
}{
"reqId": "<string>",
"statusCode": 404,
"message": "<string>",
"error": "<string>"
}{
"reqId": "<string>",
"statusCode": 422,
"error": "<string>",
"message": "<unknown>"
}{
"reqId": "<string>",
"statusCode": 500,
"message": "<string>",
"error": "<string>"
}Path Parameters
The ID of the CA to import the cross-signed certificate for.
Body
The PEM-encoded cross-signed certificate: the CA's certificate signed by the old CA as a CA certificate. It must have the same subject, public key, and subject key identifier as the CA.
1 - 100000The PEM-encoded certificates of the old CA, in order: start with the CA that signed the cross-signed certificate and end with its root. When the old root signed it directly, this is the old root's certificate.
500000Response
Default Response
Show child attributes
Show child attributes
Was this page helpful?