pdcomm_opcua_server_options
구조체
메모리 내 서버 파사드(facade)의 서버 옵션입니다(구조체 버전 1).
typedef struct pdcomm_opcua_server_options { ... } pdcomm_opcua_server_optionsstruct_size를 sizeof(pdcomm_opcua_server_options)로, version을 1로 설정한 뒤 pdcomm_opcua_server_options_init()을 호출하면 기본값이 채워집니다. 기본값은 플래그 없음(보안 엔드포인트만), 연결 33개, 세션 32개, 애플리케이션 URI urn:pdcomm:opcua:server입니다. 엔드포인트 URL은 항상 필요합니다.
ID 정보가 있으면 서버는 Sign 및 SignAndEncrypt 모드의 Basic256Sha256, Aes128_Sha256_RsaOaep, Aes256_Sha256_RsaPss 엔드포인트를 광고합니다. #PDCOMM_OPCUA_ALLOW_NONE을 설정하면 None 엔드포인트가 추가됩니다. 모든 엔드포인트는 익명 사용자 토큰만 제공합니다. 이 파사드에는 사용자 이름이나 X.509 사용자 인증기가 없습니다.
ID 정보와 신뢰하는 클라이언트 인증서는 복사하며, 외부 포인터로 보관하지 않습니다.
멤버
application_uri
필드
ApplicationUri이며 최대 4096바이트입니다. 비어 있으면 urn:pdcomm:opcua:server를 뜻합니다.
pdcomm_opcua_bytes application_uri서버 인증서의 URI와 일치해야 합니다.
certificate_der
필드
서버 애플리케이션 인스턴스 인증서입니다(DER, 최대 64 KiB). #PDCOMM_OPCUA_ALLOW_NONE을 설정하지 않으면 필요합니다.
pdcomm_opcua_bytes certificate_derendpoint
필드
클라이언트에 광고하는 엔드포인트 URL입니다(opc.tcp://host:port/path, 최대 4096바이트). 포트 0은 실제 수신 대기 포트로 바뀝니다.
pdcomm_opcua_bytes endpointflags
필드
0 또는 #PDCOMM_OPCUA_ALLOW_NONE입니다.
uint32_t flagsmax_connections
필드
동시 보안 채널(secure channel) 수입니다. max_sessions보다 크고 최대 1024입니다(기본값 33).
uint32_t max_connectionsmax_sessions
필드
동시 세션 수이며 1~1023입니다(기본값 32).
uint32_t max_sessionsprivate_key_pem
필드
그 인증서의 개인 키입니다(PEM, 최대 64 KiB).
pdcomm_opcua_bytes private_key_pemreserved
필드
0이어야 합니다.
uint32_t reservedstruct_size
필드
호출자가 알고 있는 이 구조체의 크기(바이트)입니다.
uint32_t struct_sizetrusted_client_der
필드
이 서버가 신뢰하는 유일한 클라이언트 인증서입니다(DER, 최대 64 KiB).
pdcomm_opcua_bytes trusted_client_derversion
필드
구조체 버전입니다. 1이어야 합니다.
uint32_t version