host := "0.0.0.0"
if err = global.EnsurePKI(); err != nil {
log.Println("Error creating PKI.")
return
}
permissions, rules := s.userAuthority()
endpointURL := fmt.Sprintf("opc.tcp://%s:%d", host, s.OpcTemplate.Port)
// create server
srv, err := server.New(
ua.ApplicationDescription{
ApplicationURI: fmt.Sprintf("urn:%s:testserver", host),
ProductURI: "https://www.opcua.com",
ApplicationName: ua.LocalizedText{
Text: fmt.Sprintf("testserver@%s", host),
Locale: "en",
},
ApplicationType: ua.ApplicationTypeServer,
GatewayServerURI: "",
DiscoveryProfileURI: "",
DiscoveryURLs: []string{endpointURL},
},
path.Join(system.PkiPath(),"server.crt" ),
path.Join(system.PkiPath(),"server.key" ),
endpointURL,
server.WithBuildInfo(
ua.BuildInfo{
ProductURI: "https://www.opcua.com",
ManufacturerName: "opcua",
ProductName: "testserver",
SoftwareVersion: "0.3.0",
}),
s.userOptions(),
server.WithAnonymousIdentity(s.OpcTemplate.AllowAnonymous),
server.WithRolePermissions(permissions),
server.WithRolesProvider(server.NewRulesBasedRolesProvider(rules)),
server.WithSecurityPolicyNone(true),
server.WithInsecureSkipVerify(),
)