import typing

import java.chaquopy
import java.io
import java.lang
import java.security
import java.security.cert
import java.util
import javax.security.auth

class X500Principal(java.io.Serializable, java.security.Principal):
    CANONICAL: typing.ClassVar[str] = ...
    RFC1779: typing.ClassVar[str] = ...
    RFC2253: typing.ClassVar[str] = ...
    @typing.overload
    def __init__(self, is_: java.io.InputStream, /) -> None: ...
    @typing.overload
    def __init__(self, name: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, name: java.chaquopy.JavaArrayJByte, /) -> None: ...
    @typing.overload
    def __init__(self, name: str | java.lang.String, keywordMap: java.util.Map[java.lang.String, java.lang.String], /) -> None: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getEncoded(self) -> java.chaquopy.JavaArrayJByte: ...
    @typing.overload
    def getName(self) -> str: ...
    @typing.overload
    def getName(self, format: str | java.lang.String, /) -> str: ...
    @typing.overload
    def getName(self, format: str | java.lang.String, oidMap: java.util.Map[java.lang.String, java.lang.String], /) -> str: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...

class X500PrivateCredential(javax.security.auth.Destroyable):
    @typing.overload
    def __init__(self, cert: java.security.cert.X509Certificate, key: java.security.PrivateKey, /) -> None: ...
    @typing.overload
    def __init__(self, cert: java.security.cert.X509Certificate, key: java.security.PrivateKey, alias: str | java.lang.String, /) -> None: ...
    def destroy(self) -> None: ...
    def getAlias(self) -> str: ...
    def getCertificate(self) -> java.security.cert.X509Certificate: ...
    def getPrivateKey(self) -> java.security.PrivateKey: ...
    def isDestroyed(self) -> bool: ...
