Skip to content

Cannot specify INTEGRAL as transport-guarantee Type #19

@hs536

Description

@hs536

Servlet 6.0 schema says that we can specify INTEGRAL as the type of transport-guarantee.

refs) https://jakarta.ee/xml/ns/jakartaee/web-common_6_0.xsd

<xsd:complexType name="transport-guaranteeType">
<xsd:annotation>
<xsd:documentation> The transport-guaranteeType specifies that the communication between client and server should be NONE, INTEGRAL, or CONFIDENTIAL. NONE means that the application does not require any transport guarantees. A value of INTEGRAL means that the application requires that the data sent between the client and server be sent in such a way that it can't be changed in transit. CONFIDENTIAL means that the application requires that the data be transmitted in a fashion that prevents other entities from observing the contents of the transmission. In most cases, the presence of the INTEGRAL or CONFIDENTIAL flag will indicate that the use of SSL is required. Used in: user-data-constraint </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
<xsd:enumeration value="NONE"/>
<xsd:enumeration value="INTEGRAL"/> ★
<xsd:enumeration value="CONFIDENTIAL"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>

like

    <security-constraint>
        <web-resource-collection>
           <web-resource-name>integral</web-resource-name>
           <url-pattern>/integral</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
           <transport-guarantee>INTEGRAL</transport-guarantee> ★
        </user-data-constraint>
    </security-constraint>

On the other hand, Exousia uses ServletSecurity.TransportGuarantee in SecurityConstraint (instead of jakarta.security.jacc.WebUserDataPermission).

private final TransportGuarantee transportGuarantee;

ServletSecurity.TransportGuarantee does not have INTEGRAL as its API, so we cannot use this type.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions