Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
yujianwangzivayy
MaxKey
提交
02fe58cd
MaxKey
项目概览
yujianwangzivayy
/
MaxKey
与 Fork 源项目一致
Fork自
MaxKey单点登录官方(MaxKeyTop) / MaxKey
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MaxKey
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
02fe58cd
编写于
2月 27, 2020
作者:
MaxKey单点登录官方
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SAML METADATA
上级
02ca81dd
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
89 addition
and
115 deletion
+89
-115
maxkey-core/.sts4-cache/classpath-data.json
maxkey-core/.sts4-cache/classpath-data.json
+1
-0
maxkey-protocols/maxkey-protocol-saml-2.0/.sts4-cache/classpath-data.json
.../maxkey-protocol-saml-2.0/.sts4-cache/classpath-data.json
+1
-0
maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/MetadataDescriptorUtil.java
.../maxkey/authz/saml20/metadata/MetadataDescriptorUtil.java
+11
-21
maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/MetadataGenerator.java
...a/org/maxkey/authz/saml20/metadata/MetadataGenerator.java
+74
-92
maxkey-web-manage/.sts4-cache/classpath-data.json
maxkey-web-manage/.sts4-cache/classpath-data.json
+1
-1
maxkey-web-maxkey/.sts4-cache/classpath-data.json
maxkey-web-maxkey/.sts4-cache/classpath-data.json
+1
-1
未找到文件。
maxkey-core/.sts4-cache/classpath-data.json
0 → 100644
浏览文件 @
02fe58cd
此差异已折叠。
点击以展开。
maxkey-protocols/maxkey-protocol-saml-2.0/.sts4-cache/classpath-data.json
0 → 100644
浏览文件 @
02fe58cd
此差异已折叠。
点击以展开。
maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/MetadataDescriptorUtil.java
浏览文件 @
02fe58cd
...
...
@@ -39,12 +39,10 @@ import org.w3c.dom.Element;
*
*/
public
class
MetadataDescriptorUtil
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MetadataDescriptorUtil
.
class
);
private
static
MetadataDescriptorUtil
instance
=
null
;
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MetadataDescriptorUtil
.
class
);
/**
*
*/
...
...
@@ -78,8 +76,7 @@ public class MetadataDescriptorUtil {
// validation
filesystemMetadataProvider
.
setParserPool
(
new
BasicParserPool
());
filesystemMetadataProvider
.
initialize
();
EntityDescriptor
entityDescriptor
=
(
EntityDescriptorImpl
)
filesystemMetadataProvider
.
getMetadata
();
EntityDescriptor
entityDescriptor
=
(
EntityDescriptorImpl
)
filesystemMetadataProvider
.
getMetadata
();
return
entityDescriptor
;
}
catch
(
MetadataProviderException
e
)
{
logger
.
error
(
"元数据解析出错"
,
e
);
...
...
@@ -96,10 +93,8 @@ public class MetadataDescriptorUtil {
Document
inMetadataDoc
=
basicParserPool
.
parse
(
inputStream
);
Element
metadataRoot
=
inMetadataDoc
.
getDocumentElement
();
UnmarshallerFactory
unmarshallerFactory
=
Configuration
.
getUnmarshallerFactory
();
Unmarshaller
unmarshaller
=
unmarshallerFactory
.
getUnmarshaller
(
metadataRoot
);
UnmarshallerFactory
unmarshallerFactory
=
Configuration
.
getUnmarshallerFactory
();
Unmarshaller
unmarshaller
=
unmarshallerFactory
.
getUnmarshaller
(
metadataRoot
);
// unmarshaller.unmarshall(arg0)
// Unmarshall using the document root element, an EntitiesDescriptor
...
...
@@ -128,14 +123,12 @@ public class MetadataDescriptorUtil {
public
EntityDescriptor
getEntityDescriptor
(
Element
elementMetadata
)
throws
Exception
{
try
{
DOMMetadataProvider
dOMMetadataProvider
=
new
DOMMetadataProvider
(
elementMetadata
);
DOMMetadataProvider
dOMMetadataProvider
=
new
DOMMetadataProvider
(
elementMetadata
);
dOMMetadataProvider
.
setRequireValidMetadata
(
true
);
// Enable
// validation
dOMMetadataProvider
.
setParserPool
(
new
BasicParserPool
());
dOMMetadataProvider
.
initialize
();
EntityDescriptor
entityDescriptor
=
(
EntityDescriptorImpl
)
dOMMetadataProvider
.
getMetadata
();
EntityDescriptor
entityDescriptor
=
(
EntityDescriptorImpl
)
dOMMetadataProvider
.
getMetadata
();
return
entityDescriptor
;
}
catch
(
MetadataProviderException
e
)
{
logger
.
error
(
"元数据解析出错"
,
e
);
...
...
@@ -157,8 +150,7 @@ public class MetadataDescriptorUtil {
File
file
=
new
File
(
"d:\\SAMLSP-00D90000000hf9n.xml"
);
org
.
opensaml
.
DefaultBootstrap
.
bootstrap
();
EntityDescriptor
entityDescriptor
=
MetadataDescriptorUtil
.
getInstance
()
.
getEntityDescriptor
(
file
);
EntityDescriptor
entityDescriptor
=
MetadataDescriptorUtil
.
getInstance
().
getEntityDescriptor
(
file
);
// System.out.println("2 : "+entityDescriptor.getRoleDescriptors());
...
...
@@ -193,11 +185,9 @@ public class MetadataDescriptorUtil {
// //two
InputStream
in
=
new
FileInputStream
(
file
);
EntityDescriptor
entityDescriptor1
=
MetadataDescriptorUtil
.
getInstance
()
.
getEntityDescriptor
(
in
);
EntityDescriptor
entityDescriptor1
=
MetadataDescriptorUtil
.
getInstance
().
getEntityDescriptor
(
in
);
SPSSODescriptor
sPSSODescriptor
=
entityDescriptor1
.
getSPSSODescriptor
(
SAMLConstants
.
SAML20P_NS
);
SPSSODescriptor
sPSSODescriptor
=
entityDescriptor1
.
getSPSSODescriptor
(
SAMLConstants
.
SAML20P_NS
);
System
.
out
.
println
(
"ok :"
+
sPSSODescriptor
.
getAssertionConsumerServices
().
get
(
0
).
getLocation
());
...
...
maxkey-protocols/maxkey-protocol-saml-2.0/src/main/java/org/maxkey/authz/saml20/metadata/MetadataGenerator.java
浏览文件 @
02fe58cd
...
...
@@ -4,12 +4,9 @@ package org.maxkey.authz.saml20.metadata;
import
org.opensaml.DefaultBootstrap
;
import
org.maxkey.authz.saml.common.TrustResolver
;
import
org.maxkey.crypto.keystore.KeyStoreLoader
;
import
org.opensaml.Configuration
;
import
org.opensaml.util.storage.MapBasedStorageService
;
import
org.opensaml.util.storage.ReplayCache
;
import
org.opensaml.common.SAMLObjectBuilder
;
import
org.opensaml.common.binding.security.IssueInstantRule
;
import
org.opensaml.common.binding.security.MessageReplayRule
;
import
org.opensaml.xml.ConfigurationException
;
...
...
@@ -63,7 +60,11 @@ import org.opensaml.saml2.metadata.SurName;
import
org.opensaml.saml2.metadata.TelephoneNumber
;
import
org.opensaml.saml2.metadata.impl.CompanyBuilder
;
import
org.opensaml.saml2.metadata.impl.EmailAddressBuilder
;
import
org.opensaml.saml2.metadata.impl.EntityDescriptorBuilder
;
import
org.opensaml.saml2.metadata.impl.GivenNameBuilder
;
import
org.opensaml.saml2.metadata.impl.KeyDescriptorBuilder
;
import
org.opensaml.saml2.metadata.impl.ManageNameIDServiceBuilder
;
import
org.opensaml.saml2.metadata.impl.NameIDFormatBuilder
;
import
org.opensaml.saml2.metadata.impl.OrganizationBuilder
;
import
org.opensaml.saml2.metadata.impl.OrganizationDisplayNameBuilder
;
import
org.opensaml.saml2.metadata.impl.OrganizationNameBuilder
;
...
...
@@ -78,6 +79,33 @@ import java.security.KeyStore;
public
class
MetadataGenerator
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
MetadataGenerator
.
class
);
/** Parser manager used to parse XML. */
protected
static
BasicParserPool
parser
;
/** XMLObject builder factory. */
protected
static
XMLObjectBuilderFactory
builderFactory
;
/** XMLObject marshaller factory. */
protected
static
MarshallerFactory
marshallerFactory
;
/** XMLObject unmarshaller factory. */
protected
static
UnmarshallerFactory
unmarshallerFactory
;
/** Constructor. */
public
MetadataGenerator
()
{
try
{
parser
=
new
BasicParserPool
();
parser
.
setNamespaceAware
(
true
);
DefaultBootstrap
.
bootstrap
();
builderFactory
=
org
.
opensaml
.
xml
.
Configuration
.
getBuilderFactory
();
marshallerFactory
=
org
.
opensaml
.
xml
.
Configuration
.
getMarshallerFactory
();
unmarshallerFactory
=
org
.
opensaml
.
xml
.
Configuration
.
getUnmarshallerFactory
();
}
catch
(
ConfigurationException
e
)
{
e
.
printStackTrace
();
}
}
public
static
void
main
(
String
args
[])
{
MetadataGenerator
metadataGenerator
=
new
MetadataGenerator
();
...
...
@@ -87,10 +115,6 @@ public class MetadataGenerator {
public
void
samlmtest
(){
try
{
// OpenSAML 2.5.3
XMLObjectBuilderFactory
builderFactory
=
Configuration
.
getBuilderFactory
();
KeyStoreLoader
keyStoreLoader
=
new
KeyStoreLoader
();
keyStoreLoader
.
setKeystorePassword
(
"secret"
);
keyStoreLoader
.
setKeystoreFile
(
"D:/JavaIDE/cert/idp-keystore.jks"
);
...
...
@@ -126,11 +150,11 @@ public class MetadataGenerator {
IDPSSODescriptor
descriptor
=
buildIDPSSODescriptor
();
descriptor
.
getSingleSignOnServices
().
add
(
getSingleSignOnService
(
"http://
www.qoros.com
/sso"
,
null
));
descriptor
.
getSingleSignOnServices
().
add
(
getSingleSignOnService
(
"http://
sso.maxkey.org
/sso"
,
null
));
descriptor
.
getSingleSignOnServices
().
add
(
getSingleSignOnService
(
"http://
www.qoros.com
/sso"
,
SAMLConstants
.
SAML2_POST_SIMPLE_SIGN_BINDING_URI
));
descriptor
.
getSingleSignOnServices
().
add
(
getSingleSignOnService
(
"http://
sso.maxkey.org
/sso"
,
SAMLConstants
.
SAML2_POST_SIMPLE_SIGN_BINDING_URI
));
descriptor
.
getSingleLogoutServices
().
add
(
getSingleLogoutService
(
"http://
www.qoros.com
/slo"
,
null
));
descriptor
.
getSingleLogoutServices
().
add
(
getSingleLogoutService
(
"http://
sso.maxkey.org
/slo"
,
null
));
descriptor
.
getKeyDescriptors
().
add
(
generateEncryptionKeyDescriptor
(
signingCredential
));
...
...
@@ -141,9 +165,9 @@ public class MetadataGenerator {
descriptor
.
getNameIDFormats
().
add
(
generateNameIDFormat
(
NameIDType
.
EMAIL
));
descriptor
.
getNameIDFormats
().
add
(
generateNameIDFormat
(
NameIDType
.
ENTITY
));
descriptor
.
getContactPersons
().
add
(
getContactPerson
(
"
qoros"
,
"shi"
,
"ming"
,
"shimh@connsec
.com"
,
"18724229876"
,
null
));
descriptor
.
getContactPersons
().
add
(
getContactPerson
(
"
maxkey"
,
"shi"
,
"ming"
,
"shimingxy@163
.com"
,
"18724229876"
,
null
));
descriptor
.
setOrganization
(
getOrganization
(
"
qoros"
,
"qorosc"
,
"http://www.qoros.com
"
));
descriptor
.
setOrganization
(
getOrganization
(
"
maxkey"
,
"maxkey"
,
"http://sso.maxkey.org
"
));
String
entityId
=
"http://www.test.com"
;
...
...
@@ -163,51 +187,43 @@ public class MetadataGenerator {
public
IDPSSODescriptor
buildIDPSSODescriptor
(){
QName
qname
=
new
QName
(
SAMLConstants
.
SAML20MD_NS
,
IDPSSODescriptor
.
DEFAULT_ELEMENT_LOCAL_NAME
,
SAMLConstants
.
SAML20MD_PREFIX
);
IDPSSODescriptor
idpSSODescriptor
=
(
IDPSSODescriptor
)
buildXMLObject
(
qname
);
IDPSSODescriptor
idpSSODescriptor
=
(
IDPSSODescriptor
)
buildXMLObject
(
IDPSSODescriptor
.
DEFAULT_ELEMENT_NAME
);
idpSSODescriptor
.
addSupportedProtocol
(
SAMLConstants
.
SAML20P_NS
);
return
idpSSODescriptor
;
}
public
EntityDescriptor
buildEntityDescriptor
(
String
entityId
,
RoleDescriptor
roleDescriptor
){
SAMLObjectBuilder
<
EntityDescriptor
>
builder
=
(
SAMLObjectBuilder
<
EntityDescriptor
>)
builderFactory
.
getBuilder
(
EntityDescriptor
.
DEFAULT_ELEMENT_NAME
);
EntityDescriptor
entityDescriptor
=
builder
.
buildObject
();
EntityDescriptor
entityDescriptor
=
new
EntityDescriptorBuilder
().
buildObject
();
entityDescriptor
.
setEntityID
(
entityId
);
entityDescriptor
.
getRoleDescriptors
().
add
(
roleDescriptor
);
return
entityDescriptor
;
}
public
Document
marshallerMetadata
(
EntityDescriptor
entityDescriptor
)
{
Document
document
=
null
;
try
{
DocumentBuilderFactory
factory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
documentBuilder
=
factory
.
newDocumentBuilder
();
document
=
documentBuilder
.
newDocument
();
Marshaller
marshaller
=
marshallerFactory
.
getMarshaller
(
entityDescriptor
);
marshaller
.
marshall
(
entityDescriptor
,
document
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
document
;
}
public
Document
marshallerMetadata
(
EntityDescriptor
entityDescriptor
)
{
Document
document
=
null
;
try
{
DocumentBuilderFactory
factory
=
DocumentBuilderFactory
.
newInstance
();
DocumentBuilder
documentBuilder
=
factory
.
newDocumentBuilder
();
document
=
documentBuilder
.
newDocument
();
Marshaller
marshaller
=
marshallerFactory
.
getMarshaller
(
entityDescriptor
);
marshaller
.
marshall
(
entityDescriptor
,
document
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
document
;
}
public
ManageNameIDService
getManageNameIDService
(
String
url
){
QName
manageNameIDServiceQName
=
new
QName
(
SAMLConstants
.
SAML20MD_NS
,
ManageNameIDService
.
DEFAULT_ELEMENT_LOCAL_NAME
,
SAMLConstants
.
SAML20MD_PREFIX
);
ManageNameIDService
manageNameIDService
=
(
ManageNameIDService
)
buildXMLObject
(
manageNameIDServiceQName
);
ManageNameIDService
manageNameIDService
=
new
ManageNameIDServiceBuilder
().
buildObject
();
manageNameIDService
.
setLocation
(
url
);
manageNameIDService
.
setBinding
(
SAMLConstants
.
SAML2_POST_BINDING_URI
);
return
null
;
return
manageNameIDService
;
}
public
Organization
getOrganization
(
String
name
,
String
displayName
,
String
url
){
...
...
@@ -235,11 +251,7 @@ public class MetadataGenerator {
}
public
ContactPerson
getContactPerson
(
String
companyName
,
String
givenName
,
String
surName
,
String
emailAddress
,
String
telephoneNumber
,
ContactPersonTypeEnumeration
contactPersonType
){
QName
contactQName
=
new
QName
(
SAMLConstants
.
SAML20MD_NS
,
ContactPerson
.
DEFAULT_ELEMENT_LOCAL_NAME
,
SAMLConstants
.
SAML20MD_PREFIX
);
ContactPerson
contactPerson
=
(
ContactPerson
)
buildXMLObject
(
contactQName
);
ContactPerson
contactPerson
=
(
ContactPerson
)
buildXMLObject
(
ContactPerson
.
DEFAULT_ELEMENT_NAME
);
contactPerson
.
setType
(
contactPersonType
);
...
...
@@ -266,8 +278,7 @@ public class MetadataGenerator {
return
contactPerson
;
}
public
SingleSignOnService
getSingleSignOnService
(
String
location
,
String
binding
){
QName
ssoQName
=
new
QName
(
SAMLConstants
.
SAML20MD_NS
,
SingleSignOnService
.
DEFAULT_ELEMENT_LOCAL_NAME
,
SAMLConstants
.
SAML20MD_PREFIX
);
SingleSignOnService
singleSignOnService
=(
SingleSignOnService
)
buildXMLObject
(
ssoQName
);
SingleSignOnService
singleSignOnService
=(
SingleSignOnService
)
buildXMLObject
(
SingleSignOnService
.
DEFAULT_ELEMENT_NAME
);
if
(
binding
==
null
){
binding
=
SAMLConstants
.
SAML2_POST_BINDING_URI
;
}
...
...
@@ -278,8 +289,7 @@ public class MetadataGenerator {
}
public
SingleLogoutService
getSingleLogoutService
(
String
location
,
String
binding
){
QName
sloQName
=
new
QName
(
SAMLConstants
.
SAML20MD_NS
,
SingleLogoutService
.
DEFAULT_ELEMENT_LOCAL_NAME
,
SAMLConstants
.
SAML20MD_PREFIX
);
SingleLogoutService
singleLogoutService
=(
SingleLogoutService
)
buildXMLObject
(
sloQName
);
SingleLogoutService
singleLogoutService
=(
SingleLogoutService
)
buildXMLObject
(
SingleLogoutService
.
DEFAULT_ELEMENT_NAME
);
if
(
binding
==
null
){
binding
=
SAMLConstants
.
SAML2_REDIRECT_BINDING_URI
;
}
...
...
@@ -289,7 +299,7 @@ public class MetadataGenerator {
}
public
NameIDFormat
generateNameIDFormat
(
String
nameIDType
){
NameIDFormat
nameIDFormat
=
((
SAMLObjectBuilder
<
NameIDFormat
>)
builderFactory
.
getBuilder
(
NameIDFormat
.
DEFAULT_ELEMENT_NAME
)
).
buildObject
();
NameIDFormat
nameIDFormat
=
new
NameIDFormatBuilder
(
).
buildObject
();
nameIDFormat
.
setFormat
(
nameIDType
);
return
nameIDFormat
;
}
...
...
@@ -303,7 +313,7 @@ public class MetadataGenerator {
}
public
KeyDescriptor
generateSignKeyDescriptor
(
Credential
signingCredential
){
KeyDescriptor
signKeyDescriptor
=
((
SAMLObjectBuilder
<
KeyDescriptor
>)
builderFactory
.
getBuilder
(
KeyDescriptor
.
DEFAULT_ELEMENT_NAME
)
).
buildObject
();
KeyDescriptor
signKeyDescriptor
=
new
KeyDescriptorBuilder
(
).
buildObject
();
signKeyDescriptor
.
setUse
(
UsageType
.
SIGNING
);
//Set usage
...
...
@@ -311,21 +321,22 @@ public class MetadataGenerator {
try
{
signKeyDescriptor
.
setKeyInfo
(
getKeyInfoGenerator
().
generate
(
signingCredential
));
}
catch
(
SecurityException
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
logger
.
error
(
e
.
getMessage
(),
e
);
}
return
signKeyDescriptor
;
}
public
KeyDescriptor
generateEncryptionKeyDescriptor
(
Credential
signingCredential
){
KeyDescriptor
encryptionKeyDescriptor
=
((
SAMLObjectBuilder
<
KeyDescriptor
>)
builderFactory
.
getBuilder
(
KeyDescriptor
.
DEFAULT_ELEMENT_NAME
)).
buildObject
();
KeyDescriptor
encryptionKeyDescriptor
=
new
KeyDescriptorBuilder
().
buildObject
();
encryptionKeyDescriptor
.
setUse
(
UsageType
.
ENCRYPTION
);
// Generating key info. The element will contain the public key. The key is used to by the IDP to encrypt data
try
{
encryptionKeyDescriptor
.
setKeyInfo
(
getKeyInfoGenerator
().
generate
(
signingCredential
));
}
catch
(
SecurityException
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
logger
.
error
(
e
.
getMessage
(),
e
);
}
return
encryptionKeyDescriptor
;
...
...
@@ -340,18 +351,18 @@ public class MetadataGenerator {
}
p
rotected
static
XMLObject
unmarshallElement
(
Document
doc
)
{
p
ublic
static
XMLObject
unmarshallElement
(
Document
doc
)
{
try
{
Element
samlElement
=
doc
.
getDocumentElement
();
Unmarshaller
unmarshaller
=
org
.
opensaml
.
xml
.
Configuration
.
getUnmarshallerFactory
().
getUnmarshaller
(
samlElement
);
if
(
unmarshaller
==
null
)
{
;
//fail
("Unable to retrieve unmarshaller by DOM Element");
logger
.
error
(
"Unable to retrieve unmarshaller by DOM Element"
);
}
return
unmarshaller
.
unmarshall
(
samlElement
);
}
catch
(
UnmarshallingException
e
)
{
//fail("Unmarshalling failed when parsing element file " + elementFile + ": " +
e);
logger
.
error
(
"Unmarshalling failed when parsing doc : "
,
e
);
}
return
null
;
...
...
@@ -361,52 +372,23 @@ public class MetadataGenerator {
public
static
Element
marshallerElement
(
XMLObject
xmlObject
)
{
Marshaller
marshaller
=
marshallerFactory
.
getMarshaller
(
xmlObject
);
if
(
marshaller
==
null
){
//fail
("Unable to locate marshaller for " + xmlObject.getElementQName() + " can not perform equality check assertion");
logger
.
error
(
"Unable to locate marshaller for "
+
xmlObject
.
getElementQName
()
+
" can not perform equality check assertion"
);
}
Element
generatedDOM
=
null
;
try
{
generatedDOM
=
marshaller
.
marshall
(
xmlObject
,
parser
.
newDocument
());
if
(
log
.
isDebugEnabled
())
{
log
.
debug
(
"Marshalled DOM was "
+
XMLHelper
.
nodeToString
(
generatedDOM
));
if
(
log
ger
.
isDebugEnabled
())
{
logger
.
debug
(
"Marshalled DOM was "
+
XMLHelper
.
nodeToString
(
generatedDOM
));
}
// assertXMLEqual(failMessage, expectedDOM, generatedDOM.getOwnerDocument());
}
catch
(
Exception
e
)
{
log
.
error
(
"Marshalling failed with the following error:"
,
e
);
// fail("Marshalling failed with the following error: " + e);
logger
.
error
(
"Marshalling failed with the following error:"
,
e
);
}
return
generatedDOM
;
}
/** Parser manager used to parse XML. */
protected
static
BasicParserPool
parser
;
/** XMLObject builder factory. */
protected
static
XMLObjectBuilderFactory
builderFactory
;
/** XMLObject marshaller factory. */
protected
static
MarshallerFactory
marshallerFactory
;
/** XMLObject unmarshaller factory. */
protected
static
UnmarshallerFactory
unmarshallerFactory
;
/** Class logger. */
private
static
Logger
log
=
LoggerFactory
.
getLogger
(
MetadataGenerator
.
class
);
/** Constructor. */
public
MetadataGenerator
(){
parser
=
new
BasicParserPool
();
parser
.
setNamespaceAware
(
true
);
try
{
DefaultBootstrap
.
bootstrap
();
}
catch
(
ConfigurationException
e
)
{
e
.
printStackTrace
();
}
builderFactory
=
org
.
opensaml
.
xml
.
Configuration
.
getBuilderFactory
();
marshallerFactory
=
org
.
opensaml
.
xml
.
Configuration
.
getMarshallerFactory
();
unmarshallerFactory
=
org
.
opensaml
.
xml
.
Configuration
.
getUnmarshallerFactory
();
}
}
maxkey-web-manage/.sts4-cache/classpath-data.json
浏览文件 @
02fe58cd
此差异已折叠。
点击以展开。
maxkey-web-maxkey/.sts4-cache/classpath-data.json
浏览文件 @
02fe58cd
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录