Class SecurityProviderImpl

  • All Implemented Interfaces:
    org.apache.felix.framework.ext.SecurityProvider

    public final class SecurityProviderImpl
    extends java.lang.Object
    implements org.apache.felix.framework.ext.SecurityProvider
    This class is the entry point to the security. It is used to determine whether a given bundle is signed correctely and has permissions based on PermissionAdmin or ConditionalPermissionAdmin.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void checkBundle​(org.osgi.framework.Bundle bundle)
      If the given bundle is signed but can not be verified (e.g., missing files) then throw an exception.
      java.lang.Object getSignerMatcher​(org.osgi.framework.Bundle bundle, int signersType)
      Get a signer matcher that can be used to match digital signed bundles.
      boolean hasBundlePermission​(java.security.ProtectionDomain bundleProtectionDomain, java.security.Permission permission, boolean direct)
      If we have a permissionadmin then ask that one first and have it decide in case there is a location bound.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • checkBundle

        public void checkBundle​(org.osgi.framework.Bundle bundle)
                         throws java.lang.Exception
        If the given bundle is signed but can not be verified (e.g., missing files) then throw an exception.
        Specified by:
        checkBundle in interface org.apache.felix.framework.ext.SecurityProvider
        Throws:
        java.lang.Exception
      • getSignerMatcher

        public java.lang.Object getSignerMatcher​(org.osgi.framework.Bundle bundle,
                                                 int signersType)
        Get a signer matcher that can be used to match digital signed bundles.
        Specified by:
        getSignerMatcher in interface org.apache.felix.framework.ext.SecurityProvider
      • hasBundlePermission

        public boolean hasBundlePermission​(java.security.ProtectionDomain bundleProtectionDomain,
                                           java.security.Permission permission,
                                           boolean direct)
        If we have a permissionadmin then ask that one first and have it decide in case there is a location bound. If not then either use its default permission in case there is no conditional permission admin or else ask that one.
        Specified by:
        hasBundlePermission in interface org.apache.felix.framework.ext.SecurityProvider