Bring Your Own Certificate
Use custom certificates to configure SAML SSO in an identity domain.
A Certificate Signing Request (CSR) is a block of encoded text submitted to a Certificate Authority (CA) to apply for a new Certificate. A CSR contains information included in the Certificate. For example, Common Name, Organization, Organizational Unit, and Public Key are included in the Certificate.
Before You Begin
Perform the following actions before you start using your own CSR.
- Submit a service request (SR) to enable BYOC on your identity domains. Provide the following details in the SR:
- The Identity Domain's GUID. For example,
ocid1.group.oc1..exampleuniqueID
. - Provide your reason and use case for the request.
- Tenancy region.
- The component must be "
SAML
".
- The Identity Domain's GUID. For example,
- Create an access token with an
Identity Domain Administrator
role to perform the following API commands. For more information on how to create an Access token, see Generating an Access Token.- Create a confidential application in the identity domain. For more information, see Adding a Confidential Application.
- Configure the application as a client.
- On the page to configure OAuth, select Add app roles, and then select the application roles you want to apply to this application. Assign Identity Domain Administrator to the list of app roles.
- Use the client GUID and client secret to generate the Access token using a token endpoint.
- Create a confidential application in the identity domain. For more information, see Adding a Confidential Application.
1: Generating a Certificate Signing Request
CertificateSigningRequests
endpoint:https://<domain-url>/admin/v1/CertificateSigningRequests
{
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:CertificateSigningRequest"
],
"certSubjectName":"CN=www.someDomainName.com,O=MyCompany,OU=IT,C=US,S=Massachusetts,L=Boston",
"certSubjectAltName":["oracle.com", "10.0.0.1", "test.customCertificate@gmail.com"],
"includeKeyUsage": true,
"signatureAlgorithm": "SHA384WITHRSA"
}
Property name | Required? | Data type | Description |
---|---|---|---|
certSubjectName |
Optional | Array |
Certificate Subject Name or Certificate Name details. Common Name is required and all other parameters are optional. For example,
|
certSubjectAltName |
Required | String | Certificate Subject Alternate Name. For example, a certificate that lets several domain names to be protected by a single certificate has a SAN list defined in it. |
includeKeyUsage |
Optional | Boolean | If true, key usages are included from the CSR. If false, key usages are omitted. |
signatureAlgorithm |
Optional | String | By default, the signature algorithm is SHA256WITHRSA . Supported values are
|
{
"csr": "-----BEGIN CERTIFICATE REQUEST-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END CERTIFICATE REQUEST-----"
}
Property name | Data type | Description |
---|---|---|
csr |
String | Certificate Signing Request generated using the values defined in the API payload. |
2: Getting a Certificate Issued by a Preferred Certificate Authority
Use the CSR you generated in step 1 to get a certificate issued from your preferred Certificate Authority (CA).
The expected outcome of this step is a certificate in .pem
, .cer
, or .crt
format. Open this certificate in a text editor and copy the base64 encoded part of it, as required to create a SAML partner certificate.
3: Creating a SAML Partner Certificate
The expected certificate format is .pem
, .cer
, or .crt
format from your preferred certificate provider.
SamlPartnerCertificates
:https://<domain-url>/admin/v1/SamlPartnerCertificates
{
"certificateAlias": "TestCertificate1",
"x509Base64Certificate": xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:SamlPartnerCertificate"
]
}
Property name | Required? | Data type | Description |
---|---|---|---|
x509Base64Certificate |
Required | String | Certificate issued by a preferred CA which is generated using the CSR. |
displayName |
Required | String | A unique user- friendly name for the certificate. |
includeKeyUsage |
Optional | Boolean | If true, key usages are included from the CSR. If false, key usages are omitted. |
{
"certificateAlias": "TestCertificate1",
"id": "dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4",
"x509Base64Certificate": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"sha1Thumbprint": "7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx9",
"sha256Thumbprint": "axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc",
"sha384Thumbprint": "1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf",
"certStartDate": "2024-05-28T17:22:51Z",
"certEndDate": "2024-07-27T17:22:51Z",
"ocid": "ocid1.domaincertificate.region1.sea.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"meta": {
"lastModified": "2024-05-29T23:40:16.585Z",
"created": "2024-05-29T23:40:16.585Z",
"resourceType": "SamlPartnerCertificate",
"location": "https://<domainURL>.oci.oracleiaas.com:443/admin/v1/SamlPartnerCertificates/xxxxxx"
},
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:SamlPartnerCertificate"
],
"base64Certificate": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
Property name | Data type | Description |
---|---|---|
Id |
String | Unique GUID for the SAML Partner Certificate resource. |
x509Base64Certificate |
String | Certificate issued by customer's preferred CA, which is generated using the CSR. |
displayName |
String | A customer defined, unique user-friendly name for the certificate. |
b64certificate |
String | Base64 encoded string of customer's signing certificate. |
description |
String | A short description about the certificate. |
certStartDate |
Datetime | Issued date of the certificate. |
certEndDate |
Datetime | Expiration date of the certificate. |
sha1Thumbprint |
String | SHA-1 thumbprint of the certificate. |
sha256Thumbprint |
String | SHA-256 thumbprint of the certificate. |
sha384Thumbprint |
String | SHA-384 thumbprint of the certificate. |
4: Listing all SAML Partner Certificates for an Identity Domain
SamlPartnerCertificates
:https://<domain-url>/admin/v1/SamlPartnerCertificates
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 2,
"Resources": [
{
"certificateAlias": "TestDemo1Certificate",
"id": "18c7ad1f268c222262075fbc37ad96a",
"x509Base64Certificate": "MIIDlDCCAnygAwIBAgICChowDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxJDAiBgNVBAoTG2dldGFDZXJ0IC0gd3d3LmdldGFjZXJ0LmNvbTAeFw0yNDA1MDIxNjQzNDRaFw0yNDA3MDExNjQzNDRaMFoxCzAJBgNVBAYTAlVTMQ8wDQYDVQQHDAZCb3N0b24xEjAQBgNVBAoMCU15Q29tcGFueTELMAkGA1UECwwCSVQxGTAXBgNVBAMMEHd3dy50ZXN0YnlvYy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUD5uHuP8KOrB9dlkO+vp61yjlc0moCI1cPeD0doTdHwLnSiBMFoR/gpSVZWiEi3iDRrK65/sj+qBUEDVZZ/0hDNq1j40HcUbyqQNqK5hIImPc9dXXIH9tmZkuVEMvgAupNhFznw8WTrf4LNRe7sxri/CFxt+Ajrm1CMlxRxZARYcUkFuc5aclgeYdCDhaI7xn8OuFJfUfsaoB4UYklpg2CyzSFOkHq7FhsW4/WkltSwxCwCZAe/eFmSemsmJkKhmuld/5D4+v3I1ghIImJ0ZpuvetPUv6ARqCIiwnRbY6ngdSaEPb5+BWsRqo6fXNlrQxxt5WdcCZMAcXy8qA/w3PAgMBAAGjZDBiMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgTwMAsGA1UdDwQEAwIFIDA1BgNVHREELjAsggpvcmFjbGUuY29tggkxOTIuMC4yLjGCE3Rlc3QuYnlvY0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggEBACIbYxgP3H4RFa87TLLY3lOK4nlep6zsUmSzZonRmrnb39S0Oa9RQJJix1qX2RlRa4u57Mk3A3o+ixgBVLEol/HIEY6KqodM8gLZI8L2wdiYZkKtnYqk0Pk4fFLlTengfrx1xqX/m+etd85XkY29U5WehZuGBB57GcxD6zDhtvN7X/FeKTrXdhbo0LbnEgQIDKypNc4bXztYFloIqRZ7Si0ORWFjnA9vvzAWRMMCDq7YmUjUHYrxY7Uuxze/S7T60gjtLFs1bL6A+NUPvEmh2oyncMxhSDMKrFnUZ6o4uagwpq7u6KPgkx+JluSLU2MXCGHsz3y5o4nsOHjsZSdXnjw=",
"sha1Thumbprint": "d4131b512b25187036a1d0f645b39393343fee02",
"sha256Thumbprint": "2efeccf8cfe752ef51079413653bf0e35e9c58824e824c4a9667537d99c74260",
"certStartDate": "2024-05-02T16:43:44Z",
"certEndDate": "2024-07-01T16:43:44Z",
"meta": {
"lastModified": "2024-05-23T22:53:35.622Z",
"created": "2024-05-23T22:53:35.622Z",
"resourceType": "SamlPartnerCertificate",
"location": "https://<domainURL>/com:443/admin/v1/SamlPartnerCertificates/xxx"
},
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:SamlPartnerCertificate"
]
},
{
"certificateAlias": "TestCertificate1",
"id": "dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc",
"x509Base64Certificate": "MIIDlzCCAn+gAwIBAgICDqEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxJDAiBgNVBAoTG2dldGFDZXJ0IC0gd3d3LmdldGFjZXJ0LmNvbTAeFw0yNDA1MjgxNzIyNTFaFw0yNDA3MjcxNzIyNTFaMF0xCzAJBgNVBAYTAlVTMQ8wDQYDVQQHDAZCb3N0b24xEjAQBgNVBAoMCU15Q29tcGFueTELMAkGA1UECwwCSVQxHDAaBgNVBAMME3d3dy5yMXVhdGVzdGluZy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY9/PVuAW5KsmuWu4MHmHhLiiqggV10SGZhF/eqEPeo6mwudkBh1+oOWamCiDucKh6eZqQpluhz2QA5yTfJGHrwv+S+YEp7ji5E7wAT/BCTl9dffxuBsjtUrhhVDiZG08KxKA+DG5P4bVXVv41chX5fULYUpDg75GfE6CTSkniCNYUIC84yi+XKqifqi4Eh0vDaXBRLLu9EI8n+vx6zYF/5nH4r03TOivsJoVsOQpbf3TYVMifaY9S/Sg1WnBRK4Jqwdk6K4e8vHpEMUhjtFHrBiJ/5DaEIbv1x3iCv5o1efUGVVoBTRZvOG9oNQuIA/S5ZF0UoAvhoTW2jADHhDs7AgMBAAGjZDBiMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgTwMAsGA1UdDwQEAwIFIDA1BgNVHREELjAsggpvcmFjbGUuY29tggkxOTIuMC4yLjGCE3Rlc3QuYnlvY0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggEBAAmNfvzl89lE2FZilK9ho19HA0mGUi3E2uiwx5BqFqk25Aoidf7GGwWg3QyXJYD4krqvy33n9VD751EG8IolSUmjR2dG/KS5T7dxNC0CVWzImBIauL9lkxzKBO5r+bmzEOogXzU53GPHnRGjXtEpzrOgJiXV2co4VMiv0JI2JJAIAd4CKDu2hhleTrc1d1ArOOCWwl+ZOOmmp3bBrn18ROLxwqS02nLaG0xLeBePlUBuI15qMxr8URy5Zixnoqbv45lZAExVax3IUTBFICHSs1ZKtaq7WFpIH0VhA0dMNEJESYbAeG91sSWpcAhSbIoHu4q0lNa7nlg6NG2HrjlvS3E=",
"sha1Thumbprint": "7dca26c12d3572e1c82a53da560c10e858a750a9",
"sha256Thumbprint": "a26e378fb5f2f75308eac6213d9b7bdfa8216a2f2b64b698becbecf66d3f2b7c",
"certStartDate": "2024-05-28T17:22:51Z",
"certEndDate": "2024-07-27T17:22:51Z",
"meta": {
"lastModified": "2024-05-29T23:40:16.585Z",
"created": "2024-05-29T23:40:16.585Z",
"resourceType": "SamlPartnerCertificate",
"location": "https://<domainURL>:443/admin/v1/SamlPartnerCertificates/58c118d3a4c14ddebe900b47d2210088"
},
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:SamlPartnerCertificate"
]
}
],
"startIndex": 1,
"itemsPerPage": 2
}
5: Generating the SAML Metadata with SAML Partner Certificate
To generate SAML metadata using SAML Partner Certificate, make a GET
request to this API endpoint: https://idcs-<identity-domain-url>/fed/v1/metadata?samlPartnerCertificateId=<guid-of-certificate-resource>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:enc="http://www.w3.org/2001/04/xmlenc#" xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute" xmlns:query="urn:oasis:names:tc:SAML:metadata:ext:query" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="id-bFEYTCtV0U3U0rdsQ4zuD8FFVKs-" cacheDuration="P58DT0H0M0S" entityID="https://<domain_id>.identity.oci.oracleiaas.com:443/fed" validUntil="2024-07-27T17:22:51Z">
<dsig:Signature>
<dsig:SignedInfo>
<dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<dsig:Reference URI="#id-bFEYTCtV0U3U0rdsQ4zuD8FFVKs-">
<dsig:Transforms>
<dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<dsig:DigestValue>EyL6ijqEeWAbQs9J/MKPaftgYSmtjhanxHpSCw+Mp0Q=</dsig:DigestValue>
</dsig:Reference>
</dsig:SignedInfo>
<dsig:SignatureValue>gBbj7RaEwEYfukcCHDSjkbVi8FUaQrkG5y8ACbbbfgPrrDIcrWmqaPX+UHQQ50V1
HFY3hyGQw+t9HLIW5usg9XVmawK54e87EVAFuaFPFd+YtKMZlAvVMXWeAzcKm4sc
lK3RsEBbk/mXLbfUtDpAFp5uWkIdLjaWuyjGTsNe7DBA085EhKc5fMtd6hEfgPux
CD4zb9Q0Aw8Lrmjy5nHp5SeYTANyH9XaO9getyU5J7Ikkz/8HuMi3gBHzOE0CNKz
64IVySS7uMdEXqHZGBI/mkA9XvZ09qxMew1ttQ3evd3KEG+q1+DpTeSHyfvBEYgp
dnNgy7P0g8W+rCJhRUROvw==</dsig:SignatureValue>
</dsig:Signature>
<md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<dsig:KeyInfo>
<dsig:X509Data>
<dsig:X509Certificate>MIIDlzCCAn+gAwIBAgICDqEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxJDAiBgNVBAoT
G2dldGFDZXJ0IC0gd3d3LmdldGFjZXJ0LmNvbTAeFw0yNDA1MjgxNzIyNTFaFw0y
NDA3MjcxNzIyNTFaMF0xCzAJBgNVBAYTAlVTMQ8wDQYDVQQHDAZCb3N0b24xEjAQ
BgNVBAoMCU15Q29tcGFueTELMAkGA1UECwwCSVQxHDAaBgNVBAMME3d3dy5yMXVh
dGVzdGluZy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY9/PV
uAW5KsmuWu4MHmHhLiiqggV10SGZhF/eqEPeo6mwudkBh1+oOWamCiDucKh6eZqQ
pluhz2QA5yTfJGHrwv+S+YEp7ji5E7wAT/BCTl9dffxuBsjtUrhhVDiZG08KxKA+
DG5P4bVXVv41chX5fULYUpDg75GfE6CTSkniCNYUIC84yi+XKqifqi4Eh0vDaXBR
LLu9EI8n+vx6zYF/5nH4r03TOivsJoVsOQpbf3TYVMifaY9S/Sg1WnBRK4Jqwdk6
K4e8vHpEMUhjtFHrBiJ/5DaEIbv1x3iCv5o1efUGVVoBTRZvOG9oNQuIA/S5ZF0U
oAvhoTW2jADHhDs7AgMBAAGjZDBiMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQD
AgTwMAsGA1UdDwQEAwIFIDA1BgNVHREELjAsggpvcmFjbGUuY29tggkxOTIuMC4y
LjGCE3Rlc3QuYnlvY0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggEBAAmNfvzl
89lE2FZilK9ho19HA0mGUi3E2uiwx5BqFqk25Aoidf7GGwWg3QyXJYD4krqvy33n
9VD751EG8IolSUmjR2dG/KS5T7dxNC0CVWzImBIauL9lkxzKBO5r+bmzEOogXzU5
3GPHnRGjXtEpzrOgJiXV2co4VMiv0JI2JJAIAd4CKDu2hhleTrc1d1ArOOCWwl+Z
OOmmp3bBrn18ROLxwqS02nLaG0xLeBePlUBuI15qMxr8URy5Zixnoqbv45lZAExV
ax3IUTBFICHSs1ZKtaq7WFpIH0VhA0dMNEJESYbAeG91sSWpcAhSbIoHu4q0lNa7
nlg6NG2HrjlvS3E=
</dsig:X509Certificate>
<dsig:X509IssuerSerial>
<dsig:X509IssuerName>O=getaCert - www.getacert.com, L=Seattle, ST=Washington, C=US</dsig:X509IssuerName>
<dsig:X509SerialNumber>3745</dsig:X509SerialNumber>
</dsig:X509IssuerSerial>
<dsig:X509SubjectName>CN=www.r1uatesting.com, OU=IT, O=MyCompany, L=Boston, C=US</dsig:X509SubjectName>
</dsig:X509Data>
</dsig:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<dsig:KeyInfo>
<dsig:X509Data>
<dsig:X509Certificate>MIIDlzCCAn+gAwIBAgICDqEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxJDAiBgNVBAoT
G2dldGFDZXJ0IC0gd3d3LmdldGFjZXJ0LmNvbTAeFw0yNDA1MjgxNzIyNTFaFw0y
NDA3MjcxNzIyNTFaMF0xCzAJBgNVBAYTAlVTMQ8wDQYDVQQHDAZCb3N0b24xEjAQ
BgNVBAoMCU15Q29tcGFueTELMAkGA1UECwwCSVQxHDAaBgNVBAMME3d3dy5yMXVh
dGVzdGluZy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY9/PV
uAW5KsmuWu4MHmHhLiiqggV10SGZhF/eqEPeo6mwudkBh1+oOWamCiDucKh6eZqQ
pluhz2QA5yTfJGHrwv+S+YEp7ji5E7wAT/BCTl9dffxuBsjtUrhhVDiZG08KxKA+
DG5P4bVXVv41chX5fULYUpDg75GfE6CTSkniCNYUIC84yi+XKqifqi4Eh0vDaXBR
LLu9EI8n+vx6zYF/5nH4r03TOivsJoVsOQpbf3TYVMifaY9S/Sg1WnBRK4Jqwdk6
K4e8vHpEMUhjtFHrBiJ/5DaEIbv1x3iCv5o1efUGVVoBTRZvOG9oNQuIA/S5ZF0U
oAvhoTW2jADHhDs7AgMBAAGjZDBiMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQD
AgTwMAsGA1UdDwQEAwIFIDA1BgNVHREELjAsggpvcmFjbGUuY29tggkxOTIuMC4y
LjGCE3Rlc3QuYnlvY0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggEBAAmNfvzl
89lE2FZilK9ho19HA0mGUi3E2uiwx5BqFqk25Aoidf7GGwWg3QyXJYD4krqvy33n
9VD751EG8IolSUmjR2dG/KS5T7dxNC0CVWzImBIauL9lkxzKBO5r+bmzEOogXzU5
3GPHnRGjXtEpzrOgJiXV2co4VMiv0JI2JJAIAd4CKDu2hhleTrc1d1ArOOCWwl+Z
OOmmp3bBrn18ROLxwqS02nLaG0xLeBePlUBuI15qMxr8URy5Zixnoqbv45lZAExV
ax3IUTBFICHSs1ZKtaq7WFpIH0VhA0dMNEJESYbAeG91sSWpcAhSbIoHu4q0lNa7
nlg6NG2HrjlvS3E=
</dsig:X509Certificate>
<dsig:X509IssuerSerial>
<dsig:X509IssuerName>O=getaCert - www.getacert.com, L=Seattle, ST=Washington, C=US</dsig:X509IssuerName>
<dsig:X509SerialNumber>3745</dsig:X509SerialNumber>
</dsig:X509IssuerSerial>
<dsig:X509SubjectName>CN=www.r1uatesting.com, OU=IT, O=MyCompany, L=Boston, C=US</dsig:X509SubjectName>
</dsig:X509Data>
</dsig:KeyInfo>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes192-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes128-gcm"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes192-gcm"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes256-gcm"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
</md:KeyDescriptor>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://<domainURL>/fed/v1/idp/slo" ResponseLocation="https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/idp/slo"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://<domainURL>/fed/v1/idp/slo" ResponseLocation="https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/idp/slo"/>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://<domainURL>/fed/v1/idp/sso"/>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://<domainURL>/fed/v1/idp/sso"/>
</md:IDPSSODescriptor>
<md:SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<dsig:KeyInfo>
<dsig:X509Data>
<dsig:X509Certificate>MIIDlzCCAn+gAwIBAgICDqEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxJDAiBgNVBAoT
G2dldGFDZXJ0IC0gd3d3LmdldGFjZXJ0LmNvbTAeFw0yNDA1MjgxNzIyNTFaFw0y
NDA3MjcxNzIyNTFaMF0xCzAJBgNVBAYTAlVTMQ8wDQYDVQQHDAZCb3N0b24xEjAQ
BgNVBAoMCU15Q29tcGFueTELMAkGA1UECwwCSVQxHDAaBgNVBAMME3d3dy5yMXVh
dGVzdGluZy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY9/PV
uAW5KsmuWu4MHmHhLiiqggV10SGZhF/eqEPeo6mwudkBh1+oOWamCiDucKh6eZqQ
pluhz2QA5yTfJGHrwv+S+YEp7ji5E7wAT/BCTl9dffxuBsjtUrhhVDiZG08KxKA+
DG5P4bVXVv41chX5fULYUpDg75GfE6CTSkniCNYUIC84yi+XKqifqi4Eh0vDaXBR
LLu9EI8n+vx6zYF/5nH4r03TOivsJoVsOQpbf3TYVMifaY9S/Sg1WnBRK4Jqwdk6
K4e8vHpEMUhjtFHrBiJ/5DaEIbv1x3iCv5o1efUGVVoBTRZvOG9oNQuIA/S5ZF0U
oAvhoTW2jADHhDs7AgMBAAGjZDBiMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQD
AgTwMAsGA1UdDwQEAwIFIDA1BgNVHREELjAsggpvcmFjbGUuY29tggkxOTIuMC4y
LjGCE3Rlc3QuYnlvY0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggEBAAmNfvzl
89lE2FZilK9ho19HA0mGUi3E2uiwx5BqFqk25Aoidf7GGwWg3QyXJYD4krqvy33n
9VD751EG8IolSUmjR2dG/KS5T7dxNC0CVWzImBIauL9lkxzKBO5r+bmzEOogXzU5
3GPHnRGjXtEpzrOgJiXV2co4VMiv0JI2JJAIAd4CKDu2hhleTrc1d1ArOOCWwl+Z
OOmmp3bBrn18ROLxwqS02nLaG0xLeBePlUBuI15qMxr8URy5Zixnoqbv45lZAExV
ax3IUTBFICHSs1ZKtaq7WFpIH0VhA0dMNEJESYbAeG91sSWpcAhSbIoHu4q0lNa7
nlg6NG2HrjlvS3E=
</dsig:X509Certificate>
<dsig:X509IssuerSerial>
<dsig:X509IssuerName>O=getaCert - www.getacert.com, L=Seattle, ST=Washington, C=US</dsig:X509IssuerName>
<dsig:X509SerialNumber>3745</dsig:X509SerialNumber>
</dsig:X509IssuerSerial>
<dsig:X509SubjectName>CN=www.r1uatesting.com, OU=IT, O=MyCompany, L=Boston, C=US</dsig:X509SubjectName>
</dsig:X509Data>
</dsig:KeyInfo>
</md:KeyDescriptor>
<md:KeyDescriptor use="encryption">
<dsig:KeyInfo>
<dsig:X509Data>
<dsig:X509Certificate>MIIDlzCCAn+gAwIBAgICDqEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UEBhMCVVMx
EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1NlYXR0bGUxJDAiBgNVBAoT
G2dldGFDZXJ0IC0gd3d3LmdldGFjZXJ0LmNvbTAeFw0yNDA1MjgxNzIyNTFaFw0y
NDA3MjcxNzIyNTFaMF0xCzAJBgNVBAYTAlVTMQ8wDQYDVQQHDAZCb3N0b24xEjAQ
BgNVBAoMCU15Q29tcGFueTELMAkGA1UECwwCSVQxHDAaBgNVBAMME3d3dy5yMXVh
dGVzdGluZy5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY9/PV
uAW5KsmuWu4MHmHhLiiqggV10SGZhF/eqEPeo6mwudkBh1+oOWamCiDucKh6eZqQ
pluhz2QA5yTfJGHrwv+S+YEp7ji5E7wAT/BCTl9dffxuBsjtUrhhVDiZG08KxKA+
DG5P4bVXVv41chX5fULYUpDg75GfE6CTSkniCNYUIC84yi+XKqifqi4Eh0vDaXBR
LLu9EI8n+vx6zYF/5nH4r03TOivsJoVsOQpbf3TYVMifaY9S/Sg1WnBRK4Jqwdk6
K4e8vHpEMUhjtFHrBiJ/5DaEIbv1x3iCv5o1efUGVVoBTRZvOG9oNQuIA/S5ZF0U
oAvhoTW2jADHhDs7AgMBAAGjZDBiMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQD
AgTwMAsGA1UdDwQEAwIFIDA1BgNVHREELjAsggpvcmFjbGUuY29tggkxOTIuMC4y
LjGCE3Rlc3QuYnlvY0BnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggEBAAmNfvzl
89lE2FZilK9ho19HA0mGUi3E2uiwx5BqFqk25Aoidf7GGwWg3QyXJYD4krqvy33n
9VD751EG8IolSUmjR2dG/KS5T7dxNC0CVWzImBIauL9lkxzKBO5r+bmzEOogXzU5
3GPHnRGjXtEpzrOgJiXV2co4VMiv0JI2JJAIAd4CKDu2hhleTrc1d1ArOOCWwl+Z
OOmmp3bBrn18ROLxwqS02nLaG0xLeBePlUBuI15qMxr8URy5Zixnoqbv45lZAExV
ax3IUTBFICHSs1ZKtaq7WFpIH0VhA0dMNEJESYbAeG91sSWpcAhSbIoHu4q0lNa7
nlg6NG2HrjlvS3E=
</dsig:X509Certificate>
<dsig:X509IssuerSerial>
<dsig:X509IssuerName>O=getaCert - www.getacert.com, L=Seattle, ST=Washington, C=US</dsig:X509IssuerName>
<dsig:X509SerialNumber>3745</dsig:X509SerialNumber>
</dsig:X509IssuerSerial>
<dsig:X509SubjectName>CN=www.r1uatesting.com, OU=IT, O=MyCompany, L=Boston, C=US</dsig:X509SubjectName>
</dsig:X509Data>
</dsig:KeyInfo>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes192-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes128-gcm"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes192-gcm"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#aes256-gcm"/>
<md:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
</md:KeyDescriptor>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/sp/slo" ResponseLocation="https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/sp/slo"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/sp/slo" ResponseLocation="https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/sp/slo"/>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/sp/sso" index="1" isDefault="true"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
6: Setting Up SAML SSO
- While setting up the SAML SSO between SP and IdP, use the identity domain SAML metadata generated from earlier. Don't download the SAML metadata using the download button from the Console.
- Upload the partner application custom certificate issued by the preferred CA. Don't download the custom certificate from the Console.
7: PATCH the SAML Service Provider Application and Identity Provider (Optional)
If the identity domain is an IdP, then update the SAML application created in the Identity Domain. For more details on this, please see Update an Application from an API. To add a SAML Partner Certificate to a Service Provider Application in an Identity Domain, make the HTTP PATCH request to this API endpoint.
https://idcs-<identity-domain-url>/admin/v1/Apps/<sp-application-guid>
- Update "useSamlPartnerCertificate" and "samlPartnerCertificateId" properties.Sample request:
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "urn:ietf:params:scim:schemas:oracle:idcs:extension:samlServiceProvider:App:useSamlPartnerCertificate", "value": true }, { "op": "replace", "path": "urn:ietf:params:scim:schemas:oracle:idcs:extension:samlServiceProvider:App:samlPartnerCertificateId", "value": "deb8e9ad7a41111ea1cbe060ecbed55c" } ] }
Expected response:{ "urn:ietf:params:scim:schemas:oracle:idcs:extension:samlServiceProvider:App": { "partnerProviderId": "https://<domain_id>.identity.oci.oracleiaas.com:443/fed", "assertionConsumerUrl": "https://<domain_id>.identity.oci.oracleiaas.com:443/fed/v1/sp/sso", "logoutRequestUrl": "https://<domain_id>.identity.oci.oracleiaas.com:443/fed/v1/sp/slo", "logoutResponseUrl": "https://<domain_id>.identity.oci.oracleiaas.com:443/fed/v1/sp/slo", "nameIdFormat": "saml-emailaddress", "nameIdUserstoreAttribute": "emails.primary.value", "signingCertificate": "Q2VydGlmaWNhdGU6CiAgICBEYa...", "encryptAssertion": false, "includeSigningCertInSignature": true, "logoutEnabled": true, "logoutBinding": "Redirect", "signResponseOrAssertion": "AssertionAndResponse", "signatureHashAlgorithm": "SHA-256", "federationProtocol": "SAML2.0", "hokRequired": false, "useSamlPartnerCertificate": true, "samlPartnerCertificateId": "deb8e9ad7a48414ea1cbe060ecbed55c", . . . }, "displayName": "saml-app-with-customCert", "showInMyApps": false, . . . }
- PATCH the Identity Provider
If IDCS is SP, then please update the SAML Identity Provider created in the IDCS Identity Domain.
To add a Saml Partner Certificate to an Identity Provider Application in an Identity Domain, make the HTTP PATCH request to this API endpoint.https://idcs-<identity-domain-url>/admin/v1/IdentityProviders/<idp-guid>
UpdateuseSamlPartnerCertificate
andsamlPartnerCertificateId
properties:{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "useSamlPartnerCertificate", "value": true }, { "op": "replace", "path": "samlPartnerCertificateId", "value": "deb8e9ad7a41111ea1cbe060ecbed55c" } ] }
Expected response:{ "samlPartnerCertificateId": "deb8e9ad7a48414ea1cbe060ecbed55c", "type": "SAML", "logoutRequestUrl": "https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/sp/slo", "id": "926f41972ac04a58846375048f788b39", "idpSsoUrl": "https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/idp/sso",, "encryptionCertificate": "MIIDlzCCAn+gAwIBAgICDqEwD...", "jitUserProvCreateUserEnabled": false, "jitUserProvGroupAssignmentMethod": "Overwrite", "enabled": true, "jitUserProvEnabled": false, "includeSigningCertInSignature": true, "logoutBinding": "Post", "jitUserProvAttributeUpdateEnabled": false, "authnRequestBinding": "Post", "nameIdFormat": "saml-emailaddress", "logoutResponseUrl": "https://<domain_id>.identity.oci.oracleiaas.com/fed/v1/sp/slo", "partnerProviderId": "https://<domain_id>.identity.oci.oracleiaas.com:443/fed", "description": "saml-idp-with-post-customcert", "signatureHashAlgorithm": "SHA-256", "useSamlPartnerCertificate": true, "ocid": "ocid1.domainidentityprovider.region1.sea.amaaaaaanbv3uaqany7gxeoes6ehtgc6c5nt7itxyc5qurhtvieeos2lz7sq", "signingCertificate": "MIIDlzCCAn+gAwIBAgICD...", "schemas": [ "urn:ietf:params:scim:schemas:oracle:idcs:IdentityProvider" ], "domainOcid": "ocid1.domain.region1..aaaaaaaaki5nnhngcf7k636efwrdleiuktokcxphf5pzzt3okjilfibrz2na", "compartmentOcid": "ocid1.tenancy.region1..aaaaaaaakucifbpnl253kl2mk2unu5zu4grq3c725vvkxwvlkd6h243k7smq", "tenancyOcid": "ocid1.tenancy.region1..aaaaaaaakucifbpnl253kl2mk2unu5zu4grq3c725vvkxwvlkd6h243k7smq", "userMappingMethod": "NameIDToUserAttribute", "userMappingStoreAttribute": "emails.primary" . . . }