code: def create_ospf_area_with_message_digest_auth():
      
      OSPFKeyChain.create(name='secure-keychain',
                          key_chain_entry=[{'key': 'fookey',
                                            'key_id': 10,
                                            'send_key': True}])
  
      """
      An OSPF interface is applied to a physical interface at the engines routing
      node level. This configuration is done by an OSPFInterfaceSetting element. To
      apply the key-chain to this configuration, add the authentication_type of 
      message-digest and reference to the key-chain
      """
      key_chain = OSPFKeyChain('secure-keychain')  # obtain resource
      OSPFInterfaceSetting.create(name='authenicated-ospf',
                                  authentication_type='message_digest',
                                  key_chain_ref=key_chain.href)
  
      """
      Create the OSPFArea and assign the above created OSPFInterfaceSetting.
      In this example, use the default system OSPFInterfaceSetting called
      'Default OSPFv2 Interface Settings'
      """
      for profile in describe_ospfv2_interface_settings():
          if profile.name.startswith('Default OSPF'):  # Use the system default
              interface_profile = profile.href
  
      OSPFArea.create(name='area0',
                      interface_settings_ref=interface_profile,
                      area_id=0)
docs: If you require message-digest authentication for your OSPFArea, you must
      create an OSPF key chain configuration.